校招面试题整理
文章目录
标签:前端工程师 Interview
前言:应该说是从2017-3月份就开始了自己的求职之旅,一路跌跌撞撞,前前后后面了不少公司,是时候总结归纳一番了。
主要面试集中在我从随手科技实习过后的那两个月里,10多家的面试,面出了经验。总体说来,机会是留给有准备的人的,准备好了,机遇便随处可见。
今日头条一面
- CSS文字省略的样式写法;
- 写一个匹配电话号码的正则表达式;
- 说说自己对闭包的理解,并完成相应题目的回答;
- 使用Ajax和JSONP进行数据交互的区别;
- script标签中defer和async的理解,说明添加这两个属性之后文件加载和执行的顺序;
- git 指令的相关操作;
- 对箭头函数的理解,尤其考察this;
- localStorage和sessionStorage、cookies的区别;
- 如何判断一个引用类型;
- 手写快速排序算法,重点考察代码风格和实现思路
由于手写快排环节错了纰漏,因此完美错失此次机会。。。
挖财一面
- position的取值,以及区别;
- 关于transform属性的考察,哪些属性可以过渡,哪些属性不可以;
- 伪类和伪元素是什么,区别在于;
- 怎样获取页面的根元素,怎样获取页面中所有的标签元素;
- children()和childNode()的区别;
- 去重的方法;
- 怎样实现Object.assign()方法;
- 对象的复制方式(JSON.parse(JSON.stringify()),这种方法的缺点是什么);
- JSON数据格式的一些限制;
- Promise封装数据请求的方法;
- Commonjs、CMD、AMD模块规范的理解和使用;
- 对webpack的了解和使用,怎样的一个实现过程;
- 前端安全XSS、CRSF的了解;
- JSONP的原理,回调函数的作用域在哪;
- 平时如何学习前端的;
- 自己做的项目有何亮点;
- 如何绘制一个等边三角形。
…问了超多问题,虽然有几个地方大不太好,但。。。没有然后了
滴滴出行一面(杭州)
- 实现一个千分位的函数,其他问题和上面的差不多
- 地图上面要渲染10万数据,如何做优化;
滴滴出行二面
- 数组的深复制;
- HTTPS和HTTP的通信过程,有何不同,主要说明HTTPS
- 几种模块化规范的区别;
- Vue.js中data和props的区别;
- 重绘和重排;
- GPU加速,什么情况下会触发这个东西;
- 对JSON对象的理解;
- TCP的三次握手和四次挥手过程;
- margin值重叠的情况
滴滴出行三面
- 说一下React.js、Vue.js、angular.js三者的区别,为何会选用Vue.js,它们分别适用何种场景;
- 移动端的页面为何适用H5开发,使用原生开发不好吗,它们的区别是什么;
- 自己的优势在哪;
- map数据结构是怎么回事;
。。。当时接到了滴滴杭州和北京的电话,滴滴出行北京面了四面,之后也没有音讯,恍恍惚惚。。。
百度一面(上海)
- Ajax出现的背景,为何会出现,解决了何种问题;
- get和post方法的区别;
- 自己实习所接触的项目,项目的功能模板,是一个什么样的东西;
- 计算机网络的七层协议(OSI标准模型);
- 查找单链表中的第K个元素;
。。。
刚开始还能聊,之后一下没有底气了,气氛略显尴尬。。。
百度糯米(一面)
- HTTP状态码,403表示什么;
- cookie是在哪里设置的;
- JSONP中返回的东西是什么,怎样返回的;
- 使用CDN的原因什么
。。。
百度糯米(二面)
- JSONP的原理;
- “use strict” 的限制是什么;
- JQ事件委托是怎么一回事;
- flex布局;
- 移动端适配 rem;
。。。
百度糯米(三面)
问了一些稀奇古怪的问题,由于自己没有太放在心上,之后也没有收到消息了。。。
追一科技(深圳)
- HTML5、CSS3的一些新特性,CSS3动画;
- ES6的一些新特性,Promise的转变;
- 数组去重的方法;
- 对模块化、工程化的理解;
- sessionStorage和localStorage的区别;
- Sass使用一些特性;
- 实习做过什么东西;
- Vue.js相关(父子组件通信,兄弟组件通信,生命周期函数,路由钩子,DOM操作相关,底层原理等);
- typeof的取值有哪些;
- 怎样判断一个数组;
- 前端安全XSS和CRSF
- 对框架的关注;
- 是否了解过Node.js;
追一科技二面
- 扫描二维码,登录网页版微信的过程;
- 说一下Generator;
- 认为JS中难点,不易理解的地方有哪些;
- 常见的排序算法的时间复杂度,由低到高的排列;
- 对数据库的了解;
…面了两面吧…
水滴互助(北京)
- 简单说明自己的情况;
- 实习期做的一些事情,公司主站有多大,使用的什么技术;
- Vue-router路由转换,怎样做页面的跳转;
- fetch.js的实现,async,await同时发送多个请求;
- 组件之间相互通信;
- webpack的配置,比如文件放在哪里,如何匹配文件;
- Scss-loader和css-loader的区别和相应的作用;
- call、apply、bind三者的区别;
- ES6的新特性;
- export 和 export default的区别;
- ES6中新的字面量,什么是对象字面量;
- 解构赋值是怎么使用的;
之后说去北京进行现场面,没有去。。。
石墨文档一面
- 说一下自己的前端经验和项目;
- Vuex状态管理、mutation和action的区别;
- Vue-router的路径管理,怎样返回404页面;
- react和vue.js的区别,相应的模式是什么;
- 服务端页面渲染;
- HTML5的一些API;
- CSS3的一些新东西;
- position 的取值,sticky是什么;
- 设置元素垂直居中的方式;
在线编程了,当初特别想去的一家,虐惨。。。
英语流利说一面
- W3C标准盒模型;
- 垂直居中的方法;
- 对象的继承;
- TCP和UDP的区别;
- 订阅者/发布者实现方式;
- Object.keys()方法的返回值是什么;
- 时间捕获和事件冒泡;
- ES6中的箭头函数;
面试过了,之后发的笔试题没有用react写,后悔了。。。
还有几家其他,问的问题都大同小异,通过面试确实巩固了自己的基础知识,对自我有了更加深刻的认识。路漫漫其修远兮,吾将上下而求索。
加油吧,随时准备清零!
2018.2.10 晚