也是让某湿兄帮忙内推,然后过了四五天,电话打来了
一面:
1.首先是简单的自我介绍
2.你觉得一个前端工程师应该具备什么技能
比如用户体验这个方面他就贵问你具体的例子
3.让你设计一个web站点,假如只有你一个人设计实现,前端后端都让你一个人负责,具体你要怎么做?
我主要分成了:
需求文档(需求明确),后端数据设计,前端界面设计,前端静态页面实现,前端动态逻辑(与后端数据接口)实现,整体实现,还有细节实现等
4.对应前端框架,你怎么选
我主要分成了四部分:
第一就是跟html+css展示层关系比较大的,比如bootstrap;
第二就是跟js联系比较大的,比如jQuery;
第三就是html+css+js联系比较大的,比如各种MV**之类的如 angular.js ;
第四就是大前端组织的框架,如模块化 require.js等等
然后就围绕展开啦(但我没有深入理解MV** 所以又跳坑了)
5.你觉得自己做得比较满意的一个项目是什么?
谈到了实习期间的XX,然后围绕XX遇到的技术难点,遇到的问题,怎么解决说了一通
6.我看你还做过一个在线聊天室是吧,能说一下及时通讯实现的思路么
也是围绕socket.io说,然后就被问到
7. socket套接字是工作在协议中的哪一层呢,有没有考虑到其他的通讯实现方式
应该是应用层吧(究竟是哪一层..),谈到了ajax的通讯实现,然后又扯到了WebSocket(又悲催了我也没了解过只是知道名字..)
8.描述一下TCP请求时的握手过程
同步序列报文
同步序列报文&应答报文
应答报文
(很久没看了,都忘了具体的东西,应该去看看网络协议了)
9.看你有提到过mongodb,它和mysql有什么区别?
balabla 又是浅显的认识
10.你js有经常使用么,了解得怎么样?
应该蛮久了吧
11.ok那你能讲讲js的面向对象么
主要是基于原型实现的
12.嗯那它怎么实现继承?
我只举例了原型链方式的继承 A.prototype = new B(); 然后
13.那为什么子类的原型为什么要指向父类的实例,为什么不直接等于向父类的原型?
(看来我对原型还是理解地有点浅,说不出..)
14.你用原生的js多么,原生js发送ajax请求一般要经过哪些步骤?
balabala open方法,send方法,get和post时send参数的不同,事件监听状态码的改变
15.那一般有哪些状态码返回?
1,2,3,4,5,开头的 .. 然后再细分说明,
16.你能讲讲304缓存的原理吗
然后我就扯到了缓存实现的那几种,比如
catch-control:max-age
Expires:
Etag:
If-Modified-Since/Last-Modifed
(然后被问到具体怎么用,组合使用还是单独用,Etag一般怎么生成,可惜我只看过而没实现过,所以又是跳坑)
17.你用ajax的时候有遇到过跨域问题么
谈到了常见的几种
jsonp :但只支持get请求
CORS :使用Access-Control-Allow-Origin
主域相同的使用 document.domain
比如frame框架的使用 window.name
还有HTML5的 PostMessage方法
18.你有经常使用CSS吧,水平垂直居中怎么实现?
定位,top:50% 然后再让50%这个值减掉div高度的一般(郁闷啊,我本来是想表达负边距半个div高的..)
flex布局实现
面试官:还有吗?(母鸡啊我想不粗来鸟..)
19.你对web攻击手段有了解么,web安全
讲了XSS的原理以及预防方法
讲了CSRF是大致原理(但这或实在了解不多,也没话了)
20.1000以内的质数,然你找出来,你怎么实现?
我主要讲了普通的方法,然后当然被叫优化啦..然后想不出了..(只能想到 去除偶数,记录当前质数,下一次判断质数的时候判断与已有质数的取模值..)
21.能说是快排的原理吗
快排忘了(囧),然后就用冒泡排序说了一下大概的原理(可能说得也有问题..)
22.你知道堆、队列、栈的区别吗
数据结构很久没复习了,大概按自己理解描述了一下,然后就被问如何实现队列和栈
23.你对页面做过优化吗,比如一些内存啊CPU的优化
不懂说什么.. 就说了那几条Web性能优化准则(知道还不行,看来得深入理解)
24.你现在有拿到XX的offer吗
没有啊..我现在是在 暑期实习..
25. 你有什么问题要问吗
整个一面持续了55分钟
一面结束了,说是两周之内给结果..
总之,这次腾讯的一面跟阿里的一面完全就不是一个档次,考察的内容太广太全面了,看来还得抽空复习数据结构算法操作系统..
然后呢,才过了十几分钟,就来短信说已经过了一面,复试需要等到9月份跟校招同步,面试官是 AlloyTeam 的。
难怪了..问的问题那么高级O_O