【2018暑期实习面经总结(前端)】
回馈一下社会,虽然现在都没啥公司了,整个春招实习找下来是真的累,精神疲惫。
到现在也就拿了两个offer(还算可以,从3月开始面,各种公司都面过,到现在才拿,你懂得)。
不过大家真的不用着急,虽然很难受,但是也要好好准备自己面试问道的知识点
因为我周围的同学也是面了很多,从刚开始啥都不懂到最后面试问的问题都会了。
还有,拿到offer的经历告诉我,一定要自信,和面试官聊天氛围要好,而且不会也没关系,每个人都有盲点
另外现场出的一些题要努力思考,不要放弃,实在不会也可以和面试官讨论,有的面试官还是很友好的。下面是一些总结,
暂时就想到这么多,有什么大家可以交流,互相学习提高。
一、 HTML(5)方面
1. WebSocket 介绍及其优点,应用
2. H5变化(新增)比如canvas,audio,video,本地存储等等
二、 CSS(3)方面
1. 常见的盒模型
2. position 与 z-index
3. CSS3 新增的属性
4. 响应式布局
5. 浮动及浮动清除
6. CSS的优先级(选择器权重)
7. 行内标签和块级标签(涉及到的CSS属性,如line-height,vertical-align等等)
三、 JS方面
1. js的继承实现(原型链,有可能手撕)
2. 内存泄露与垃圾回收机制
3. 闭包相关(优缺点,应用场景,作用域链等)
4. DOM和BOM
5. W3C和IE的区别(CSS和JS方面,尽可能多一点说,我只知道JS事件方面的一些区别,CSS知道的不多,CSS主要是IE兼容问题)
6. ES6(Promise实现原理等各种ES6知识)
7. 事件委托
8. javascript中的异步 macrotask 和 microtask 简介
四、 TCP/IP协议
1. 跨域访问方法
2. GET和POST区别(或者其他HTTP请求方法)
3. HTTP状态码,请求头,请求体,缓存机制
五、 前端框架(我只会Vue,可能还会问React,Angular)
1. Vue组件的生命周期
2. Vue双向数据绑定的原理
3. MVC、MVP和MVVM的区别
六、 算法
1. 排序问题:冒泡排序,选择排序,堆排序,插入排序,二路归并排序,快排,计数排序,基数排序,桶排序……
2. 链表:单链表及其反转,双链表,循环链表,链表公共节点
3. 树:深度/广度优先,前序,中序,后序遍历,层序遍历(我的理解是广度优先)
4. topK算法
七、 其他方面
1. Webpack 与 gulp(工作原理,两者比较等)
2. 前端性能优化方法
3. 前端安全措施(攻击与预防)
4. 项目问题(遇到哪些问题,用到哪些性能优化,与后台的冲突解决)
5. 设计模式(6大原则,一些设计模式的区别,如观察者和发布订阅者)
6. 浏览器渲染阻塞,浏览器内核(引擎)及CSS前缀
7. 模块化编程(AMD、CMD、CommonJS和ES6对比)
八、 提高|加分
1. 看过/了解/实现过原理,如路由vue-router跳转底层实现。
2. 看过一些源码,如jQuery源码,Vue源码。
3. 暂时就想到这么多,有什么提高的可以互相提高。
个人觉得《JavaScript高级程序设计》这本书还是很不错的。正在重温