阿里 拼多多 依图 网易面经分享,永远不要低估自己!
作者:dyhgj
来源:牛客网
作者介绍:非计算机专业渣硕,秋招从七月十五开始陆续笔试面试,面了百度,阿里, 拼多多,依图,网易这五家,目前拿了两个口头offer, 两个已经收到意向书(具体情况就不透露了),话不多说献上面筋一波(有些忘了,根据笔记记下来的不是很全哈哈).
阿里
一面:
1. js基本数据类型,储存位置;
2. css所有居中问题, flex相关;
3. 事件委托,target 和 currentTarget 区别;
4. js继承,构造函数,原型链,构造函数、原型链组合式继承,寄生式组合继承,Object.create polyfill;
5. webpack用过吗?摇树是什么,什么场景下用过?
6. react 与 angular 区别?双向绑定分别怎么实现?
7. react 虚拟 dom实现,diff算法;
8. es6 decorator
二面交叉面:
1. 跨域, cors? jsonp?封装一下jsonp? cors什么时候发一个请求,什么时候发两个?具体点?
2. ajax封装?发送json格式数据,怎么发送图片?
3. node.js 事件循环? microTask 和 macroTask 区别? 判断输出顺序
4. promise、generator、async/await, async/await 实现方式;
5. 图片懒加载实现方式,尽量多说一些。节流函数和去抖函数;
6. 项目相关;
7. 手写快排,怎么优化;说下sort实现原理;
8. 链表删除;
9. 双排序好的数组重排序,时间复杂度尽量低;
10. 判断二叉树是否为bst树;
三面总建面:
非计算机啊,问你几个计算机基础的东西;
1. 说一下你认为计算机的基本课程,必须学的;
2. linux内核态和用户态?区别?
3. 进程怎么通信?怎么创建进程?说一下进程的状态;
4. java 与 nodejs 的异步区别;
5. java 的lambda表达式,跟 js的lambda表达式区别?
6. java用的什么版本?1.8,那你知道与1.7之前版本的区别吗?不知道哈哈。。。
7. js自定义事件,js单页面之间怎么通信?js组件之间的通信?
8. js用过的设计模式;
hr面说说我为啥转专业,什么时候开始的,为啥不考研考计算机,每家都问了这个问题,后面就不介绍HR面了。。。
阿里的效率很快?反正我是,四轮面试下来(简历面没记下来)就一个星期内完成,面试官都很nice
拼多多
一面:
1. 项目相关
2. token cookie session的区别,项目相关的用到了;
3. 为什么数据库用mongodb, 与mysql的区别?
3. react angular区别, 组件变更检测机制区别;
4. 说下react、redux怎么更新数据的,异步更新怎么实现?
5. react的生命周期钩子函数;
6. 说下es6吧,用过啥?
7. promise里resolve返回什么?then返回什么?怎么实现一个promise?
8. async/await怎么转成es5,有看过babel转义过的代码吗,怎么实现的?
9. 算法两个,一个快排,一个找双排序好的数组的第K小的;
10. 有什么想问我的吗?
二面:
1. 正则两道题,我记不太清楚了,只记得跟回溯匹配有关,replace方法处理字符串;
2. 实习公司的框架介绍,这个问了很多,问了一些具体的场景;
3. 嵌套数组扁平化;
4. ssr,大致描述怎么实现?
5. rpc介绍,与 restful api区别;
6. js设计模式?
7. es6 class 的继承?继承方式的原理是什么?是es5继承的哪一种?
8. 算法: 模式字符字串的匹配;
hr面
依图
一面:
1. 项目相关;
2. angular 与 react 区别,自由发挥说;
2. browserHistory 与 hashHistory 区别;
3. 四道算法题(共享屏幕的):完整括号匹配、快排、从(0,0)走到 (m, n)有多少方法,只能走下或走左?中间某一点相遇的方法有几种?青蛙跳台阶,怎么优化(尾递归);
二面:
1. es6 说下用到的;
2. 项目token session 区别,什么场景下用?
3. 怎么存session, token,怎么识别用户信息;
4. 说下你怎么维护登录态的?
5. https与http区别,怎么获取CA证书,用的哪家的CA证书?
6. antdesign组件的引入的文件是什么,有哪些额外的文件?webpack查看该组件引入的模块有哪些?
7. 说下算法吧:6.1斐波拉契数列,公式,优化? 6.2 实现一个树形组件,点击切换隐藏/显示,数据data = [{id: 0, name: "name0",children: [id: '00', name: 'nameoo',children: [...]]},{}];将层层嵌套的该数据渲染成一个树形组件;
8. 有什么问我的?
网易
一面:
1. 说下你的实习经历和项目经历
2. es6 set map weakSet weakMap 箭头函数;
3. react angular 的区别;
4. 虚拟dom 和 diff算法;
5. 说一下rpc,聊了下网易这边node端rpc调用的逻辑;
6. 说下你怎么mock数据的,怎么写mock接口?
7. 说下ssr, 怎么切换ssr与csr;
8. browserHistory 与 hashHistory 的区别,怎么实现?怎么监听单页面切换路由事件,实现原理?
9. 说下pm2,怎么用的? pm2用途?
二面:
1. 说下数组的方法,尽可能多,哪些会改变原数组?
2. call, apply, bind区别? 怎么实现call方法(不能使用apply,bind方法);
3. 实现一个发布订阅模式;
4. 正则匹配身份证号码;
5. webpack熟悉吗?(我都不敢说话,说熟悉要被怼),babel-loader,怎么实现一个babel插件,自己写过吗?怎么优化代码引入体积?
6. 项目同构;
7. 你没啥问题,答得挺好的;
hr面:等通知
最后,祝大家早日拿到自己心仪的offer!
公众号:javafirst