2017年三月初大厂前端面试总结
过去一个多星期,笔者(Chainn)考虑换工作,就面了一些杭州的互联网公司。先后面试了X医、X滴、X易、X为等大厂,中途还面了一些创业公司。我觉得面试不仅可以更好地认识自己的薄弱之处,还可以了解技术发展方向及行业走向。下面就将近期的面试所遇到的技术点做个记录:
X医:
一面:
- 如何遍历数据量大的json
- stylus/sass/less区别
- postcss的作用
- jQuery对象的特点
- 简述gulp、webpack
- webpack2新用法、优点
- es6了解哪些新语法,babel编译
- 对原生Javascript了解程度
- 自定义事件的实现
- 可视化有哪些框架
- WebGL与Three.js
- React组件间通信方式
- Angular与React区别,Angular特点
- Js动画与CSS动画区别及相应实现
- 自动布局算法
二面:
- redux的流程与作用机制
- 基本类型与引用类型区别,在内存中的存储方式
- 平衡二叉树
- 性能优化手段
- 前端安全措施,xss攻击原理
- 自动化测试
- virtual dom原理
X滴:
- css实现一行三等分的方式
- 写三种方式左右上下居中
- 左边栏固定宽度:右边内容随屏幕变化
- 导致浮动负面作用的原因
- 写三种方式清除浮动
- 创建对象
- 深拷贝的两种实现方式
- 遍历数组与对象的方式
- 原型与原型链
- this作用域问题
- 对模块化的理解
- 性能优化手段
- es6用过哪些新语法, 详细问了let/const与var区别、class与es5的构造函数的区别、解构赋值
- React组件间通信方式、状态管理、生命周期
- 为什么要用redux,redux的流程
- koa最大特点
- node.js发请求
- node.js启动服务
- mysql表关联查询
面试官建议:
- 1.深挖技术原理、打牢基本功,切忌浅尝辄止
- 2.额外做几个完整的练手项目,先全部用原生实现从前端到后端服务到数据库到运维,然后再基于不同前、后端框架做相应实现
- 3.多写开源项目,多往github、npm上贡献代码,提高技术影响力
X易
- position有哪几种
- css选择器有哪几种
- 左右上下居中:各三种方式
- 左边栏固定宽度:右边内容随屏幕变化
- 手写clearfix
- css其他的各种问题……
- postcss用法
- gulp 流操作
- 手写原型继承
- AMD与CMD区别
- virtual dom原理
X为(服务器嵌入式软件方向):
- cookie和session区别
- C语言: 指针、static
- 内存
- 线程与进程
- Java虚拟机的特点
- C/C++/Java垃圾回收机制
- xss攻击防
其他创业公司(主要是前端):
大部分知识点与上述几家问的差不多:
- 主要是原生Javascript、CSS、前端性能、安全、工程化、http原理等前端基础知识,这些是最核心的
- 然后会结合面试者做过的项目以及公司招聘需求,问相关的前端框架、es6、node.js、可视化方面的问题
- 再者会结合面试者的学习经历问一些诸如数据结构与算法、编译原理、linux、数据库、浏览器原理等计算机基础知识,综合考察面试者的技术能力。