其实这样的面试经历不算少了,感觉大体上还是应该能说好点的,但是每次总有答得不尽如人意的地方。
自我介绍,我嘴笨,这个部分,就是说下大学哪一年哪毕业的,工作经历这些。
接下来,问的都是技术问题,写下还记得的自己认为回答得不是特别让人满意的部分。
从输入网址到网页显现经历了什么,越详细越好。这个问题我说了域名查找,缓存查找,新鲜度检测和304,服务器程序运行或资源发送,浏览器接收,解析dom树,解析css规则,css规则附在dom上面。
接着问了重绘和重排。
常用http头部,很痛苦,知道的很多,到嘴边说不出几个了,记得说了reffer,tranfer-encoding,etag,if-none-match,cache-control,expires,host,没说完被打断了。
常用的http状态码,我说200,302,304,404,401,500,503,其实知道的蛮多,但是又被打断了。
问了知不知道fiddler的断点调试,蒙了,这个完全不知道,我只想着是不是构造请求,但想着不是就没敢说。
你们的构建工具是什么,我回答公司一直用ant,最近引入了glup,我以前用过grunt,接着又问有没有用grunt写过版本管理,其实只是用过,早就忘了,就老实回答没有,所有有些不大把握的东西不要多说比较好,面试官要是深入研究过,多问下就没法说了。
在其他面试时被问到,要你做个前端构建发布的一系列系统,你怎么设计,我把我们公司那一套说了下,结果被狠狠得鄙视了,这个方法太老了,其实我也知道太旧了,这个怪自己没平时没积累好。
被问了用过什么技术之类的,就说项目用过的,比如项目组里用的自制小型mvc,reqirejs,node做代理,项目组自产库等。
其他的面试中被问到知不知道requirejs的bug,我只能老实说不知道。
node是做什么用的,我就说了自己公司里面node,做的代理转发,用于合并多个请求为一个请求,资源转发,用于请求其他域等。 他说你们还是脚本初始化还是node做页面的初始化,我就回答是脚本,果然接着肯定就是为什么不用node,我只能说这个没优化排期的时间,暴露了我不是骨干又比较弱的感觉~~被问了多线程的问题,我回答说检测系统的cpu个数,fork相应进程,这个又被问那这个线程是如何负载均衡的,我就说是轮询,他还想再问,但是又组织不好想问什么就过了。
其他的面试中被问了为什么用node,我说是因为并发处理能力较强,结果又被追问你们这个较强的依据是什么,是不是随便看看网上,一拍脑门就用了,我就老实说我来公司时就有了,我也不知道,其实这个时候自己能给出个研究方法,数据依据神马就靠谱了,哎,平时没烧好香,怪自己。
其他的面试中,你觉得深层继承会有什么缺陷,我又断片了,一点也说不上来。
你说下你们做过页面优化,如何计算实际移动端页面加载时间,我就扯了雅虎34条里面自己记得的部分,和timeline,包括公司的系统日志记录这些,感觉没那么在点子上,也许面试官有更加行之有效的方法。
web安全方面就被问得特别得多,我只说下自己回答得不好的地方。他问referer能不能在浏览器方被伪造,我个人感觉不能,但是面试官样子。。说了除了用户输入会引起安全问题,还有那方面会引起安全问题,我就说了可能诱使用户点击不安全链接,接着再问,点击了怎么就不安全了,这个没回答好,可能是识别用户浏览器信息和硬件还有ip之类的。
除此外,跨域、js基础、看过的博客,用过的框架这些都是常常被问到的东西。