国内大型互联网公司(如BAT)对于web前端开发方向校招都考些什么?

大型互联网公司的校招笔试题目有些和后台开发通用一套题目,有些是分开的,只考前端方向的,从事web前端开发现在准备参加明年的校招,但是不知道怎么复习,要是连数据结构网络以及操作系统的那套都考的话需要复习的东西太多了,反而会分散注意力,还有面试都考些什么,跪求大神指导啊。
关注者
985
被浏览
78008

8 个回答

一直想写一篇完整的关于前端面试方面的个人体会和总结,这里就先小扯一下。

我在B和A都有过从事校招、社招的经历,两个东家的招聘原则基本一致。

首先,我想说,有不少面试官还是靠直觉的,随便扯两句就过了的情况也存在,但是我觉得面试本身应该是非常严谨的事,关乎到一个人的前途和命运,应该尽量细致全面的评价面试者,做到“客观、独立、第三方”,哈哈。

两家公司在招聘技术岗位的时候,都希望从【技术基础】、【技术成果】和【技术热情】三方面考量一个同学, @贺师俊 的答案也给出了相同的分类(说法不同而已),所以考察的点也围绕着这三条。

每次面试我都希望尽量挖掘面试同学的潜力,所以一般会从面试者的简历中找他觉得最好的项目,深入的问下去,这个过程中把js、css、html的技术基础尽量都考察到,问问数据交互、js逻辑实现、样式问题上的处理等,通常能覆盖到大部分我想了解的。

遇到没有什么具体技术成果的同学,我自己会事前用心准备一些可以从多个角度回答的问题,面试官准备自己的题库也是个不错的面试技巧,偷懒的话可以问那个“从地址栏输入url到展现页面都发生了什么”,类似 @贺师俊 的点击链接到下载完成,是个不错的面试题。我自己以前准备的一些问题比如:
  1. 如何在页面上实现一个圆形的可点击区域。能想到用map+area或者svg的,我觉得html可能比较熟;能想到border-radius的,我觉得css可能比较熟。如果实在想不出来什么,我就引导他回答纯js实现,这个时候就问问怎么求一个点在圆上这种简单算法,加上js的Math几个api,怎么获取鼠标坐标什么的。
  2. 用js实现千位分隔符(千位分隔符_百度百科),这道题挺考逻辑的,看起来简单,写起来不太容易,如果回答三位循环、字符串数组分隔之类的,可以深度问下去,在加上正负号什么的看看对方的应变能力。如果能用一条正则+replace搞定,那就加分啦。
  3. 有一个高度自适应的div,里面有两个div,一个高度100px,希望另一个填满剩下的高度。这题有js解法、一般css解法、css3解法等。
总之就是准备一些看似简单,但又有点小陷阱,可以综合考察前端技术的问题,让经验不足的同学可以在面试的过程临时想到什么办法解决问题,这种急智也是我所期待的。我本人不建议单纯考察某写冷门的知识点或者专业名词解释,偶然性很大,不太公平。(某些面试官居然自己构造专业名词问别人,比如你知道什么是CDYSB么,啊?不知道?!这就是层叠样式表的拼音缩写啊,就是css啊,你是不是搞前端的啊!)

其实很多时候,从回答第一个问题开始,有经验的面试官就能感觉到对方是否合格了,所以有些面试官的面试过程好像是在聊人生。但我一直不敢相信这种直觉,我希望有科学、严谨的方法论来指导面试,争取做到全面且客观。所以当我用自以为合理的方法已经判断面试人不合格的时候,还是会在面试的最后问对方“在整个面试的过程中,你是否有什么别的擅长的技术是我们没有聊到的?”,我想再多给对方一个机会,以防我的面试方法上有什么不足。同时还会问他身边有没有觉得是技术大牛的,我会要联系方式,交给hr去跟进。

面试这件事,应该是可以被系统的研究和量化的。

以上是我作为面试官的心态和想法。聪明、有潜力、学科素养好的,会尝试挖掘你的潜力;平时做了很多项目,有一定经验,对前端有热情的同学,会尝试肯定你的成果;唯独要排除的就是面试前突击,想过来忽悠的同学。有底子的好苗子尽管放心来,很少会被误判,就算没来面试,说不定也被来面试的同学推荐了。

以上观点只是我个人的看法,不代表公司。
本司不是“大型”互联网公司,回答谨供参考。

我们技术校招笔试是不分前后端的(实际上还包括了数据挖掘、移动App、系统运维等多个方向),笔试题考察的是通用能力,最主要包括三类:
1. 编程题,这个毋庸多说。有纯算法,也有算法本身不难,但需要考虑工程运用上的适应性的情况。
2. 开放性问题,比如估算下全中国一共有多少女程序员,看你解决问题的思路和靠谱程度。
3. 综合知识问题,通常是看似简单的东西,比如从点击一个链接到下载完成之间发生了什么事情?这考察你对整个体系的了解广度和深度。

如果能过笔试,面试时会由各团队资深工程师乃至leader亲自来看,可能会有多轮面试。作为前端负责人,我会看三方面:
1. 前端的基本概念和技能。
2. 在校和实习期间的项目。
3. 对产品和技术的sense。
这个部分就是秀你自己了。我会看你的视野、知识面、钻研精神、学习方法、表达能力、思考、应变、品味等各个方面。归根到底就是看三点:
是否够聪明。
是否够努力。
是否诚实。
具体技术知识能力经验等只是帮助判断这些品质,本身未必是最重要的。

最后是广告:jobs.baixing.com/cr/
为什么?