168

阿里、网易、滴滴共十次前端面试碰到的问题

无名小贝勒 2017年06月05日 发布于前端 segmentfault.com

反馈社区,总结自己

阿里、网易、滴滴共十次前端面试碰到的问题

2017年06月05日 发布,来源:segmentfault.com

前一段时间一直在不断地面试,无奈个人技术能力有限、项目经验缺乏,最终都没有进入到HR面试环节,全~~挂~~了~~

面试了这么多,结果不是太好,有点儿受打击,也促使我近期静下心来反思自己的问题:哪些技术知识掌握的还不错,哪些还有待提高,哪些是需要去恶补的。

阿里面试了三个部门,都是在二面挂的,网易和滴滴也是各两轮技术面试,加一起就是十次面试经历。在此回忆总结一下,既是给社区朋友的一个参考,反馈社区,更是给自己一个好好的总结。

HTML

  • HTML5新增了哪些内容或API,使用过哪些

  • input和textarea的区别

  • 用一个div模拟textarea的实现

CSS

  • 左右布局:左边定宽、右边自适应,不少于3种方法

  • CSS3用过哪些新特性

  • BFC、IFC

  • 对栅格的理解

  • (水平)居中有哪些实现方式

  • 1像素边框问题

JavaScript

  • 图片懒加载

  • 实现页面加载进度条

  • 事件委托

  • 实现extend函数

  • 为什么会有跨域的问题以及解决方式

  • jsonp原理、postMessage原理

  • 实现拖拽功能,比如把5个兄弟节点中的最后一个节点拖拽到节点1和节点2之间

  • 动画:setTimeout何时执行,requestAnimationFrame的优点

  • 手写parseInt的实现:要求简单一些,把字符串型的数字转化为真正的数字即可,但不能使用JS原生的字符串转数字的API,比如Number()

  • ES6新增了哪些特性,使用过哪些,也有当场看代码说输出结果的

  • JS模块化的实践

  • require.js的实现原理(如果使用过webpack,进一步会问,两者打包的异同及优缺点)

  • promise的实现原理,进一步会问async、await是否使用过

  • 实现gulp的功能

  • 使用前端框架(angular/vue/react)带来哪些好处,相对于使用jQuery

  • vue双向数据绑定的实现

  • 单页应用,如何实现其路由功能

性能优化

  • 项目中使用过哪些优化方法

  • 输入一个URL,Enter之后发生了什么

  • (承上)页面的渲染过程

  • 优化中会提到缓存的问题,问:静态资源或者接口等如何做缓存优化

  • 页面DOM节点太多,会出现什么问题?如何优化?

项目经历

这些大公司招聘都是高级工程师起步,所以对简历上的项目会刨根问底。很多很多问题都是由项目中拓展开的,像优化相关的东西,还有前面提到的require.js、promise、gulp,项目中用到了某项技术,高级工程师的要求是:不仅会用,更要知道其原理。对自己的提醒:项目中用到的技术,不能说完全掌握其原理吧,但大致的实现还是有必要了解一下的。

  • 介绍一下你做的这个项目,进一步细问:整个项目有哪些模块,你主要负责哪些

  • 你在项目中的角色

  • 你在项目中做的最出彩的一个地方

  • 碰到过什么样的困难,怎么解决的

  • (如果你是这个项目的负责人),任务怎么分配的,有没有关注过团队成员的成长问题

  • 前端安全问题:CSRF和XSS

其他

  • 为什么选择做前端(我靠,我都快转前端两年了,还在问这个问题啊...)

  • 你希望进入一个什么样的团队

  • 你有什么问题想问我(面试官)的吗?


前前后后有两个月时间,暂时只回忆起这么多了,如果还有其他的,后期我会补上。

webpack其实也是必问的,由于我说还没使用过webpack,只是了解,写过demo,面试官就没问太深。如果你的简历中有提到webpack,请提前准备好,比如webpack打包原理、如何写webpack插件等。

面试阿里云那个岗位的时候,有要求算法和数据结构,有能力者多多准备吧。

阿里、网易的面试几乎都是围绕项目展开的,所以提醒自己搬砖的时候多想想、多看看,多站在一个高度去看整个项目:用到什么技术,技术实现原理是什么,项目框架怎么搭建的,采取安全措施了吗...


后记

有几个岗位感觉就是挂在了项目上。自己做过一个前后端分离项目,但是经过几次面试,发现这个项目还存在某些问题,比如:整个登录注册系统是不完善的,关于权限的处理上甚至是有很大缺陷的;这个项目的node层只是起到构建前端项目(gulp)、渲染index.ejs、代理转发api接口等作用,但是面试官指出说你这个node也太简单了,导致我都在怀疑这是个假的前后端分离...还是需要大神带多见见世面啊,求带...

虽然五次面试都没成功,但自己也收获了很多很多:认识了大牛hb,一个超有文艺气息的资深前端;多谢fw大大帮我内推阿里,十分感谢您对我的认可;也见到了平时只能在视频上看到的cjf老师,谢谢您的指点;对高级前端工程师所具备的技能有了更清晰的认识;肯定也增加了很多面试经验...

再好好提升一下,打算过段时间重新上阵,也祝自己多点好运气,早日进入心仪的企业,毕竟,当初来杭州的时候就是以网易、阿里为目标的。

6.8k 浏览 1k 收藏 报告 阅读模式
36 条评论
热情的王宗岳 · 2017年06月07日

一个都不会啊。但是会写项目,怎么办?

+3 回复

蛋糕仙人 · 2017年06月06日

有一些题目很有探索意义,如果较真的话,可以会有很多内容,所以面试的时候 ,大部分面试官还是希望借此来了解一下你的思路的视野,更多的是解决问题的能力

+3 回复

1

是的,有些题目我只是写了几个字,但是涉及的内容却很多

无名小贝勒 分享者 · 2017年06月06日
0

感觉前端设计后段的知识也要懂挺多的。

snowingbai · 2017年06月08日
leungjz · 2017年06月07日

HTML,CSS的还好。js的比较多不懂。如果在我这边用这些来招人,1年都招不到。

+2 回复

1

楼上在哪个公司啊 ☺

无名小贝勒 分享者 · 2017年06月07日
1

@jasonintju 同问

snowingbai · 2017年06月08日
0

一家私人小公司,

leungjz · 2017年06月08日
Rookie_Zoe · 2017年06月08日

看到这些题目,我也怀疑我是个假前端。。。js还好。。。有些html5和css3的特性根本记不住,都是开着caniuse和文档开发的。。。?

+1 回复

1

说明你js非常好啊,这就很厉害了? css那些属性多写几遍就记住了,面试问的js最多?

无名小贝勒 分享者 · 2017年06月08日
记住你是谁 · 2017年06月06日

H5新增API是什么?好像不是说的新增属性,我在网上查了下,有outerHTML,insertAdjustcent什么的,是这些吗?

+1 回复

1

@记住你是谁 就是一些新特性啊,比如canvas,indexeddb

码码码畜 · 2017年06月06日
码码码畜 · 2017年06月05日

看到这些题目,自己很心虚

+1 回复

怒放 · 2017年10月11日

面试造火箭,进去拧螺丝

回复

czuoxin · 2017年06月12日

前端需要掌握的知识太多了,同时我也开始怀疑自己是个假前端。。。

回复

winsycwen · 2017年06月11日

楼主前端经验多久呐

回复

0

工作经验1年零7个月了,算上自学的两个半月,快两年了吧

无名小贝勒 分享者 · 2017年06月12日
0

@jasonintju lz能通过简历、有面试机会,真心不错了~

winsycwen · 2017年06月13日
splub · 2017年06月07日

我觉得我还是要少看动漫多看书(逃

回复

林研 · 2017年06月07日

现在在学校实训周,我们的选题是一个新闻发布系统,我把用户界面都做好了,然后在写后台的东西,前端是不是必须得懂得后台的内容?

回复

3

前端不是必须要掌握后台的内容,前端玩得很溜已经很厉害了。但是如果会后台,必然有很多优势:对整个项目的前后都心里有底,调试前端的代码(尤其是http这块)不至于那么迷茫;大前端里面的nodejs工程师也是写后台的;js全栈工程师更是要会后台。所以,你看,会后台对于前端的成长是大有裨益的,当然如果你时间紧迫,也可以暂时先缓一缓后台相关的学习,毕竟前端本身就已经那么多东西了。因为你还在学校,所以建议你了解一下后台的,写一些简单的东西,比如你现在做的实训项目,可以不做深入的研究。这些对将来都是很有好处的,加油妹子!

无名小贝勒 分享者 · 2017年06月08日
0

@jasonintju 之所以问这个是因为后台这方面学的很不好,所以这次实训时分配任务写后台很是受打击。好啦!感谢楼主的回答。

林研 · 2017年06月09日
ZrdZz · 2017年06月07日

楼主我想问下实习生面试和这个差不多还是简单些?

回复

0

实习生肯定要简单些啊,毕竟这是社招面试

无名小贝勒 分享者 · 2017年06月07日
1

@jasonintju 看的我好方啊

ZrdZz · 2017年06月07日
1

@ZrdZz 实习生一定要基础扎实,能有个好的项目经历再好不过了

无名小贝勒 分享者 · 2017年06月07日
句号 · 2017年06月07日

楼主加油呀!

回复

0

多谢?

无名小贝勒 分享者 · 2017年06月07日
mengdu · 2017年06月07日

题目大部分都懂,就是不会写英文单词?

回复

悠扬小Q · 2017年06月06日

讲真 看到这些题我虚了,平时大部分关注各个框架,最最基本的往往都忽略了

回复

随便讲两句 · 2017年06月06日

他们自己的团队成员就真的具备所有这些知识和经验?呵呵,很多都是边做边加强罢了。

回复

2

问问而已,别这么敏感,也没说一定要会,只是看下知识储备,了解下能力

godtail · 2017年06月06日
2

倒不是敏感,看了好几个类似面试文章,觉得范围如此广泛,大部分的知识点背后都并不简单,连他们自己都未必做到的,却拿来面试别人,有点儿不大好。
咱们看看这些,作为自身知识的检查,倒是有好处。但面试毕竟是面试嘛。

随便讲两句 · 2017年06月06日
三哥好威武 · 2017年06月06日

看到这些题目,怀疑自己是个假前端

回复

载入中...