今年秋招对我是个打击,不过也让我认清了现实。借用鲁迅先生的一句话,真正的勇士敢于直面惨淡的人生,敢于正视失败的面试。面试失败不可怕,可怕的是不能吸取教训。在吸取教训上我做的不好,不然也不会有些面试问题记不住了。回顾几次面试失败经历,我总结了一下各家公司问的问题,为未来作打算,也为师弟师妹们做个参考。总结了一下,发现实习经历真的很重要,而且项目经验也要重点突出一些东西,展现自己的技术特点,让面试官无懈可击。不然问一些东西说不出来就很尴尬了。
阿里一面(其实一面挺简单的,但发挥不好,面试官希望你会框架。问我react时,我一谦虚说不算很会,就不问我了,然后就挂了):
- web语义化
- meta标签作用(页面信息、搜索引擎、不同设备)认识
<meta>
这篇文章讲得很全面。 - 行内元素、块元素有哪些,布局
- 布局方式
- 三栏布局
- css选择器优先级
- http请求过程
- http2.0了解
- es2015了解哪些新特性(let/const,promise,class,set/map等忘了说箭头函数)
- 箭头函数和普通函数区别(this指向、不能做构造函数、不能使用arguments等)
- 异步编程(回调函数、监听/订阅、promise、async/await)
- promise相关,规范、状态
百度三面(百度做了一个试题集,真是用心!!!面试感觉还是挺好的,很愉快的面试,但可怜的我并没有收到offer。另外有些面试会考手写代码,从头写到尾,不知道为什么没考我。。。)
百度一面:- 自我介绍
- 获取页面上个数top3标签
- 提取url键值对
- console.log输出加上“hello”
- linux bash命令cp/rm/mv/cat/ln -s/alias
- 有一个目录很深,如何很快的进入(建立软链接、设置别名?)
- ajax跨域(cors、反向代理)
- 简述jsonp过程
- ajax请求过程
- 两栏布局
- css选择器优先级
- 离线缓存(manifest(貌似废弃了)、service worker(还不成熟))
- 客户端存储方式及异同
- 自定义表单,使各浏览器表现一致
百度二面:
- 自我介绍
- 继承方式(原型链、组合模式、寄生组合式继承)
- web性能优化、图片优化(雪碧图懒加载)
- web安全:xss csrf sql注入
- linux部分知识tail top
- 自定义dialog组件(注意:要用闭包封装模块)
- nodejs http获取百度页面,把百度改为千百度
- 输入url过程
- 单纯的聊天(不记入面试):看一个页面布局,说出布局想法
百度三面(总监面):
- 自我介绍
- 某个取值范围的随机数生成
- nodejs优点
- ajax请求过程
- 项目相关
- 谈人生规划
网易一面:
- 写一个继承,解释原型链
- css规范化
- 闭包应用、模块
- mvvm相关
- 知道哪些设计模式
- 两列布局
- 跨域方法
- flex布局属性
- 事件流的三个阶段,哪些事件不能冒泡
迅雷一面(不得不说,迅雷笔试很有水平):
- 项目相关
- unicode与utf-8字符编码方式关系
- nodejs处理请求过程
- require(‘child_process’).fork和linux fork区别
美团一面:
- webpack原理
- 闭包自由发挥
- react优势(组件化、虚拟dom)
- 怎么设计好的组件
- 项目相关
- 反转链表
- https与http区别
- git命令了解哪些
- github开源做过哪些,贡献过什么,pr过吗
最后说一句:厉兵秣马,砥砺前行。我还要继续再战。