秋招其实9月还没开始就结束了,基本面试完就能感觉到有戏没戏了,也有优秀的hr直接现场告诉你等offer就好了,整个9月都在等offer和要不要再去面俩中度过(最终我还是没有去。。。)国庆后的第一个工作日祝大家事事顺利~
网易(北京)现场 8.29
前言:看着网易杭州的小伙伴都已经被拉去面试,不管体验或好或坏,也比我这个笔试等待结果的好。本来已经不抱任何希望了,礼拜一突然让我来面试,真是意外之喜。面试环境感觉还是不错的,感觉整个工作区域很宽敞,一点没有拥挤的感觉,还是蛮现代化的,虽然大楼的外表的确一般。中午被一路指引的hr小姐姐赏了顿猪厂的饭,总体面试体验还是不错的吧~
一面
- 自我介绍 + 项目介绍
- 怎么没留在美国找工作?
- CSS的position属性
- 两列布局,左边定宽
- Flex布局
- CSS预处理器
- CSS动画transform,transition,animation,给了个实例问怎么实现
- Webpack自己配置过?CodeSplit说说
- 会切图吗?(懵逼。。。)问了下面试官为啥问这个,说这个还是可以学一下的,以后会有用
- Node了解多少
- 前端性能优化方案
- 移动端的优化
- 对于前端这边的理解
- 学习前端的方式
- 提问
二面
- 前一个面试官问你什么了,会的和不会的都说说?(blabla。。。)好,那这些不问了
- 剩下这些里面(列出来了)哪些比较熟悉?(js。。)好,那这个也不问了(sad。。。)
- p标签里面有个span,我通过position: relative和transform分别移动span标签,原先的位置都会保留吗?如果span上面有一个事件,那我点击哪个位置会触发?(这题没人问过吧?我这独一份)
- 了解代理工具吗?Charles或者Fiddle
- 浏览器缓存分类
- 懂点jQuery?那我问问吧(好。。。)$(selector)用原生JavaScript哪个能实现?(querySelector)那多个呢?(queryAllSelector)你看看,一看就没写过,querySelectorAll,这个不太好啊(心里慌慌。。。不知道自己怎么秃噜一个queryAllSelector)
- $elem.on()用原生JS怎么实现绑定事件?
- ajax请求里面,我将某些内容放在header中和放在body中有什么区别
- 用什么编辑器啊?(VSC)用过哪些插件
- box-shadow颜色会叠加吗?(就是定义多组值)background呢?
- 了解渐变吗?实现一个方框中有很多交叉线,且颜色渐变,且颜色自定义(懵逼。。)不会啊,哎呀,我这还有个更难的问题呢,你看下我自己实现的一个效果,回家好好思考下吧(膜拜。。。)
- 提问:您这提问方式真是独树一帜啊,北京话倒是听着亲切(我不是北京人,看你北京的,跟你说北京话亲切,上一个我用东北话面试的)牛逼了我的哥。。。
二面面试官真的是逗,虽然问题不是很常见,但更多的就是想了解下你的思路,一种尴尬又轻松的感觉(难以形容哈哈哈哈)
hr面
- 说下你做的项目吧(懵逼了。。。不是hr面吗)?你随便说下就好,我这是hr面(长舒一口气。。。)
- 未来职业规划
- 对网易有哪些了解?
接下来,hr大哥就是给我介绍了20多分钟的网易,说的还是很实在具体的吧,最后问我还有啥问题(你真的介绍的很好了。。。),互相加了微信,说是国庆左右等通知就好了
用友网络视频面试 8.27
技术面(大前端架构师)
- 自我介绍(请用5分钟。。。第一次听到这样的表述哈哈哈)
- Webpack打包内容过大,如何优化?
- Webpack原理
- React.Component和React.pureComponent区别
- React状态组件和无状态组件区别
- 组件A有3个方法,组件B也要有这3个方法,如何实现方法复用(说了工具函数类,但是面试官问还有没有其他方法,最后跟我说去看下高阶组件这块)
- render函数中执行5次setState会发生什么
- 要展示5000条数据,如何加载可以优化加载时间?(分页加载)如何5000条就是已经分页了的呢?
- 管理员账户和普通账户登陆后,sideBar可以根据不同账户展现不同东西,如何做到?
hr面(招聘经理)
- 人生经历
- 公司的选择条件
- 就业规划
- 能实习吗
- 抛开现实,你会去干嘛
- 女朋友?她的就业规划?
- 刚到美国留学的感受?中美差异?
- 一些其他问题。。。
- 提问
感悟:技术面会偏向实战一些,但是面试官最后都会给点明方向,下来后感觉确实学到一些东西,感觉算是不错的一个面试体验
拼多多二面 + hr面现场 8.26
周日一早9点不到赶到圆明园附近的啥啥啥地方,进去之后,现场跟360的现场真是天壤之别,签到的时候看见一个时间段(2小时)所有岗位加一起也就不到一页纸,可能是因为是北京场的缘故吧。拼多多现场技术两面+hr面是平行的,自己之前又被电话面过一次(不知道为啥有这种操作。。。),所以当天一共只有两面。
先去的HR面,跟小姐姐聊的还不错,主要问的东西其实也就是一般HR聊的,中间聊到有没有女朋友和女朋友就业时候,发现HR学校里读的专业和女朋友一样(非人力资源),顺带了解了一下就业啥的,算个小插曲吧。
后来直接被带去二面,二面也都是些开放问题,也聊了聊自己的学生经历什么的,问了问React生命周期,写了个算法题(1到100,随机截取10段时间段,计算总覆盖面积,其中重叠的不需要重复计算)
最后,hr说会在1-2周之内出结果(估计是通过的话会告知吧。。)
多益网络视频一面 8.23
一次死气沉沉的面试。。。面试官全程无表情,默默的问问题。。。基本上没有太多的互动,至于面经什么的,也就没啥心情记录了。。。
奇虎360提前批现场面试 8.23
一面
- 自我介绍
- 项目中数据分页是放在浏览器端还是服务端?说说分别怎么实现?传什么参数?
- cookie和localStorage的区别及应用场景
- 跨域的方式有哪些?
- 画一个CSS盒模型
- CSS画一个圆形,平均四分后,相对的两面是一个颜色(border+border-radius+transform)
- 重排和重绘的区别?如何优化?
- 算法:二维数组纵向降维一维数组
- git指令了解什么?git stash是什么?
- 提问
感受:360现场面试的环境真的是面过的最嘈杂的一个,我反正跟面试官都得凑着说才能听的很清楚。还好一面面试官面慈心善,对各种问题也会慢慢引导,很有耐心。
二面(4个小时之后!!!!!)
从中午12点多一面结束,到下午4:15才被叫去二面,真的是。。。无语了。。。看群里很多小伙伴说视频一面完很久没二面,现场也是一样的状况,只有不断的刷自己的手机。
然而,二面20mins就结束了,估计是面试官对自己没什么兴趣,随便聊了20mins就让我走了,后来一看也就挂了,感觉自己等的真心亏。。。。哎
美团提前批现场面试 8.22
前言:美团的面试真是。。。打扰了
其他
- 毕业时间
- 成绩绩点 + 排名 + 高绩点课程
- 前面有两段实习经历(我简历明明就写了一段。。。),说说收获和心得
- Java Swing的布局和HTML/CSS的布局有什么关系?(以后再也不说自己知道Swing了)
- 提问
计算机基础
- 我点击一个按钮或者链接,会发生什么?想多少说多少
- TCP三次握手发生在什么时间?
- 数据是如何传输的(估计是想问计算机网络那几层协议拆包吧。。)
- 状态码有什么?
- 有6xx或者7xx吗?要是有的话可能是什么情况?
- HTTP请求头有哪些字段?
HTML
- 了解过HTML标准吗?(没。。。)
- 那你觉得HTML怎么样才标准?
- DOCTYPE有哪些(说了html5和html4的两种)
- HTML语义化怎么理解
CSS
- CSS动画的了解?
- transition和animation有什么区别
- CSS选择器的权重?class和id的权重分别是多少?验证过?
- CSS编写的最佳实践是什么?(说到了id优先,层级别太深。。)
- 一定id优先?要是多个同类组件呢?
- 怎么确定写出来的CSS的层级数?
- 我给一个组件设置完全相同的样式(兼容性已处理),但是在某一浏览器中出现偏差,如何检验改进?
JavaScript
- Java和JavaScript有什么区别?
- JavaScript的类型是在什么时候确定的
- 下列代码
function A(name) {
this.name = name;
}
复制代码
- A() 输出什么?this是什么?有返回值吗?
- new A()输出什么?this是什么?有返回值吗?
- 函数没有return的话,有返回值吗?
- 下列代码,问每处a的typeof值
{1}
var a;
{2}
function a(){};
{3}
a = 1;
{1}
var a = 0;
{2}
var a = function(){};
{3}
a = 1;
复制代码
- 下列代码
function A(a){
this.a = a;
}
A.prototype = {...};
var a1 = new A();
var a2 = new A();
A.protoype.b = ...;
var a3 = new A();
复制代码
- a1和a2的__proto__相同吗?a1和a3的__proto__相同吗?
- 将字符串'abCdEFg'改写为ab.cd.e.fg
框架/工具
前言:到这块儿的时候我已经满脑子浆糊了。。。
- React了解哪些?
- 层级较深的兄弟组件如何通信?
- Redux一定要使用吗?(不一定。。。简单就不用吧。。)
- 那局部兄弟组件通信怎么办?(使用Context)
- 那整体数据又很复杂呢?(Redux + Context???)
- Webpack了解哪些?自己写过加载吗?
- Node呢?
金山云提前批 + 百度提前批(硬件生态部)邀请 + 途牛
身体那几天真心不舒服,就推掉了。。。
CVTE副总裁侃大山面 8.18
前提:之前电话里告诉我是副总裁,不知道是不是,感觉还是hr的感觉,可能是人力副总裁
再前提:一个hr小姐姐(姑且算hr)对我们三个候选人
具体的问题跟CVTE的hr面差不多,感觉面对面会更加紧张些,好在我每次都是第一个说,硬着头皮往上冲就好了,不用自己瞎思考半天。中间小姐姐介绍了下公司的各种业务,原来发现CVTE涉猎的还是挺多的。最后小姐姐说会反馈给广州那边,面试就结束了。
爱奇艺提前批现场面试 8.18
请注意:一二三面都没有自我介绍,对于当时的我简直幸福
一面
- 写出输出结果
var a = 1;
function foo(a, b) {
a = 2;
console.log(a); // 2
var a;
arguments[0] = 3;
console.log(a, this.a, b); // 3, 1, undefined
}
foo(a);
复制代码
- 写出输出结果
function Foo(){};
Foo.getName = function(){console.log('Foo.getName');};
Foo.prototype.getName = function(){console.log('Foo.prototype.getName');}
Foo.getName(); // 'Foo.getName'
若去掉Foo.getName = function(){console.log('Foo.getName');},则报错
复制代码
- 写出输出结果
var a = 1;
function f(){
console.log(a);
}
function foo(){
var a = 2;
f();
}
foo(); // 1,console.log里面的a指向全局作用域
复制代码
- 写出输出结果
var a = {};
var b = function(){};
a.constructor; // Object()
b.constructor; // Function()
复制代码
- 画JS原型链图
- ES5创建对象及继承
- 了解的排序算法 + 手写一种(快排)
- 什么是二叉树?什么是完全二叉树?什么是满二叉树?
- 前序 + 中序的结果(非代码)
- HTTP状态码
- HTTPS的加密方式
- 简历上项目聊了聊
二面
- 美国上学怎么样啊?和国内有啥区别(懵逼。。。)
- 会Java啊?(就只知道些语法。。)Reflection知道吗?(不知道)Collection接口有哪些数据结构啊?来写个Map的遍历吧(冥思苦相,记起了iterator。。。)
- Java写个递归阶乘吧(评价:速度有点慢啊)
- 还是拿JS写个bfs吧(评价:这次倒挺快啊)
- 24点玩过?给你4个数,写个函数判断是不是用加减乘除和括号能得到24点(不会。。。说了下思路,然后面试官说就不想用穷举呗?我又懵逼了。。。)
- 时间来不及了,再聊聊你美国上学的事儿吧(懵逼继续。。。)自己出去上学以后,哪些地方改变比较大啊?
懵逼的二面就这么结束了。。。
三面
hr小姐姐:这是最后一个了
面试官:好。。。
- 说说原型链
- 说说闭包
- 说说React(生命周期 + diff)
- 如何改变上下文环境this
- 如何自己实现一个bind
- 项目 + 实习 聊了两三句就过了。。
- 说说快排思路,再说说堆排序思路
- 懂Java?懂Node?(不敢懂了。。。)
- 哟美国留学啊(对,看来又要聊这个了。。)英语好吗?(好好好。。。本科全系就我一个中国学生。。。)
- 怎么学前端
完成三面之后,HR小姐姐告诉我看系统里的评价基本上就是过了,感谢天感谢地感谢面试官和hr小姐姐,没白耗5个多小时
腾讯SNG电话一面 8.17
- var,let和const
- 缓存机制及对应HTTP字段
- 原型链
- 继承
- 跨域的方法 + Webpack代理缓存的原理
- JS事件机制及事件委托
- Cookie
- call, apply, bind
- 原生ajax请求过程
- Promise的理解:状态 + then方法原理
- 三道编程题:元素拖动与释放 + 弹幕 + 大整数加法
搜狐提前批现场面试 8.17
-
自我介绍 + 项目介绍
-
React了解多少
-
有/无状态组件的区别
-
高阶组件的概念
-
React-Router的原理
-
Node了解多少
-
CSS优先级?如下两种情况:1) tagName idName className 2) tagName className idName哪个优先级高
-
深克隆
-
快排
-
算法:多个顶点,部分连接,一共有4种颜料,给出一种涂颜料的方法使得相邻两个顶点颜色不同,其中数据结构使用二维数组,0表示不连接,1表示连接
-
自我介绍 + 项目介绍(选一个介绍,接口、架构啥的。。。)
-
职业方向与规划
-
能否实习
-
了解啥新技术
拼多多电话一面 8.16
- 自我介绍 + 项目介绍
- H5的新特性 + localStorage的API
- CommonJS和ES6的模块化的区别
- Webpack按需加载
- CSS预处理
- Bootstrap的原理
- CSS动画了解多少
- Canvas API了解多少
- React的组件通信
- 线上做题:ajax请求url上的图片,要求返回Promise,Resolve状态下的data是一个包含width和height的对象
- 提问
大疆现场终面 8.16
- 项目介绍(通通来一遍)
- H5新特性
- 学过软件工程?知道敏捷开发?
- 什么让你学前端?
- 工作后想接手一个怎样的项目?
- 希望的工作状态?未来想往哪个方向发展?
- 怎么学前端?
- 看过开源的东西吗?自己有组件库?(有工具函数库)库里有什么?
- 学过设计吗?
- 提问
百度智能云现场面试 8.15
一面
- 自我介绍
- 手写一个React组件,多行输入框 + 字数统计 + 超过字数限制提示
- 手写ES5实现继承
- new Foo()和Foo()的区别
function Foo(name) {
this.name = name;
}
复制代码
- 缓存分类及对应头部信息
- 模块化:ES6,CommonJS,AMD,CMD及区别?能手写AMD或CMD吗?
- 手写Promise.all的原生实现
function myPromiseAll(arr) {
let res = [];
return new Promise((resolve, reject) => {
let i = 0;
next();
function next() {
arr[i].then(function(data) {
res.push(data);
i++;
if(i === arr.length) {
resolve(res);
} else {
next();
}
});
}
});
}
复制代码
- 手写遍历DOM树所有节点(非递归)
- React Diff算法及时间复杂度
- React数组/列表渲染key的作用
- 你还有什么觉得掌握特别好的想让我来问问?(懵逼。。。。)
二面
- 自我介绍
- CSS了解吗?CSS3的属性说说
- 三列布局:两边定宽,中间自适应,充满整个屏幕
- 手写ES5继承实现?Parent.call(this)的作用?Child.protoype = Object.create(Parent)的作用
- 算法题:有两个字符串A和B,A全部由0和1组成,B全部由0、1和?组成,其中?既可以表示0也可以表示1,问字符串B在A中有多少种完全匹配
- 手写深克隆
- 算法题:实现一个Stack数据结构,具有push(), pop()和getMax()方法,要求所有方法时间复杂度为O(1),空间复杂度无限制