java面试Java 杂谈程序员之言

阿里 拼多多 依图 网易面经分享,永远不要低估自己!

2018-08-31  本文已影响8人  java面试笔试

作者: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

上一篇下一篇

猜你喜欢

热点阅读