2018腾讯暑期实习前端岗的面试经历分享
面试内容:
1. WebGL和Three.js , 模型是如何保存的,我就写了个小玩意儿的demo,没想到面试官这么有兴趣。然后我就告诉面试官现在可以用unity部署到web端,我写这玩意儿只是为了加深一下理解,不打算用。。
2. JQuery 选择器是如何实现的,如何保证兼容es5以前的标准(意思就是既不能用queryselector也不能用getElementByClassName,其实就只能直接搜索DOM树啦)。JQuery的"ready源码是怎么写的。
3. HTTP缓存机制,Etag验证,没有Etag还能拿什么验证,cache-control字段具体内容。
4. Cookie操作,如何用JS删除某条Cookie,这个问题问得我一脸懵逼,回来才想到直接设置过期时间就行了。。
5. Cookie的作用域,response头的set-cookie字段。
6. HTTP 2.0相比1.x有什么改进,我答到multiplex,面试却跟我扯pipeline,这不是1.x的特性么、大概面试官自己记错了。
7. HTTPS以及常见的加密算法,数据库一般怎么保存用户密码, 是明文吗?我回答我自己写的东西就用明文的,面试官不满意。
8. 常见的MVC、MVVM框架如何实现数据绑定。
9. HTML是怎么解析的,如何让JS停下来,这个问题也问得我停懵逼的,我回答调个阻塞调用吧。
10. 谈论了一下JS的EventLoop机制和异步I/O的实现,并且稍微鄙视了下js的性能。
11. 面试官想问我简历上写的RPC开发,大概他不太懂,问偏了,我提示后打住。
12. 一个很low的算法题,连续随机自然数,有个数是-1,找出这个数是啥,o(n)就能做出来。
13. 手写数字三位分隔加逗号。11111->11,111。 我第一次写完给他看的时候突然意识到有个地方写错了,面试官又给了我次修改的机会。
总之CSS的各种trick一点没问,js的各种特性也没问。大概我是面了假前端。
面了70分钟,这大概是我面过最长的一面了,感觉自己绝大多数都答出来了。。
于是被刷了。。