17

我是 18 届的毕业生,今年 3 月份的时候开始找暑假实习,有幸内推了蚂蚁金服的前端,并通过了他们的面试。最终还是没能拿到蚂蚁的实习 offer,因为 hc 问题,被调剂到集团去了。

找实习,时间点很重要,“金三银四”,比较早的公司,从二月就已经开始内推了。美团内推最早,二月中旬就可以内推,腾讯好像是在二月下旬(二十五号左右的样子)开始内推,阿里三月一号,百度散招的比较多,全年貌似都在招人。

关于内推

如果能找到师兄内推,一定要走内推渠道,现在大公司招人,对内推都非常看重,当然也有人抱怨内推的质量很差,这只是少数,毕竟选择内推的人,都不简单。

内推可以免去很多复杂的流程,比如笔试,内推更加看重的是所推岗位的专业性,比如我投递前端岗位,做笔试的题目,会碰到 C、Java 的题目和好多概率题目,有时候你会一脸的懵逼,对于前端的学生来说,真的很烦这种题目。

内推要好好准备一下,我见过不少人,github 上有很多开源的项目,在前端也学习了很久,但是在面试的时候,一面跪了。我觉得一面还是很重要的,看重基础,会刷掉一些基础不好的人,不好好准备,肯定会中招的。既然你选择了内推,就一定要对得起内推你的人,至少进入二面吧。

记得刚开始的时候,我担心找不到人内推,就跑去微博、github 上找人聊天,希望到时候他们能够内推我。后来我发现,这真的是一个错误的选择,每个公司校招只需要一个人内推就行了,其他人就只能辜负了。找内推,如果没有中意的部门,千万不要选择都喜欢,有些公司打着都喜欢的标签,扬言会给你分配部门,往往都是一拖再拖,等到内推临近结束,也未收到任何相关信息。我发现了一个很邪乎的现象,就是如果内推的部门和内推你的师兄在同一个部门,成功的几率大大增加!

内推的坑爬完,然后就是正式的实习校招,一般大公司都会安排先进行笔试。有的公司对笔试看得很重要,比如某猪厂,编程题全 AC,挂选择题(别告诉我你们是因为不招人才挂人的),还有的公司就不看重笔试,比如某鹅厂,有的人因各种原因没参加笔试,同样收到了面试邀请(衰)。总的来说,笔试还是要准备一下的好。

有些公司,既然你们不想招人,为什么又要我们参加你们的笔试呢,参加了笔试(自我感觉良好),又不给面试机会,直接挂,这样子好玩吗。笔试挂和面试挂,两者有很大区别的。

蚂蚁一面

除了蚂蚁,我也参加了不少公司的面试,只是觉得这些公司对待实习生真的太不友好。

阿里今年 3 月 1 号正式开始内推,上午找师兄投递完简历,下午正在做他们的测评题目,就收到了北京蚂蚁金服的电话(下午 3 点半),开始一面。

感觉一面来的太快了,还没怎么准备,不过一面的问题全是基础题,主要是配合简历评估刷掉一些人吧,但一面真的很重要,挂了就等于 game over。

问题大致如下:

0:大致说说自己从什么时候开始接触前端的

时间越久越好,如果你说临时抱佛脚,基本就与阿里说拜拜了。

1:position 有哪些(并且 absolute 与 fixed 区别)

如果手动写过 css,不难回答。

2:闭包是什么

说闭包的时候,最好讲一下常见用法。

3:手机端 web 有没有做过

大致了解过,自己的网站也做了手机端的自适应。

4:web 性能和资源优化

有个雅虎网站性能优化的黄金法则,我当时就回答了几点。

5:简历上有 web 安全,问了 xss 和 csrf

前端开发人员必须要知道的一类安全知识。

6:状态码 302 304

从 1~5 都介绍一遍吧。

7:介绍下浏览器缓存

刚好和状态码 304 结合起来。

8:介绍 js 中事件 (冒泡 委托)

事件冒泡和事件捕获,执行的先后顺序,还可以说一说关于事件委托。

9:获取前端资讯来源

微信公众号、微博、GitHub、SegmentFault 等等。

10:用过哪些后台语言(nodejs 用过哪些框架)

nodejs 和 python,用过 nodejs 的 express 框架。

11:哪些流行的前端技术,对前端的前景和职责

比较火的有 MVVM 框架 react、vue,ES6 肯定会在近几年统治前端,Nodejs 也是前端必备技能。关于前端的前景,我觉得 H5 配合 react、vue 是热门,前端可视化(ant-design),还有专门研究 nodejs(eggjs),webVR 可能会在未来的几年大火一次。职责还是负责与用户的交互,考虑性能、资源方面的优化,全栈是每个前端程序员的梦想。

12:行内元素和块元素区别,image 标签属于哪种

比较基础的一个题目。

13:浏览器如何进行本地记录

localStorage、sessionStorage,当然 cookie 和 session 有时候也可以用来缓存。

14:js 基本数据类型

光知道基本数据,如果能扩展,就更好了,比如引用数据类型和非引用数据类型,就是常说的堆和栈。

15:哪些跨域手段

jsonp 和 cors 这两种说一说就行了,其他的方法可适当谈一谈。

16:call apaly 区别

可以定义上下文,参数不一样,apply 的参数是数组,如果能和 bind 扩展就更好了。

17:null 和 undefined 区别

送分题,null 表示空,需要人为赋予,undefined 变量声明但未定义,对象属性为 undefined 表示没有该属性。

一面的题目就这些,都是非常基础的,因为每个题目都或多或少有些扩展,面试时间大概 22 分钟,自我感觉良好。

推荐大家面试前先去刷题:Front-end-Interview-questions, 前端开发面试题。这两个可以算作 github 上前端面试宝典,至少刷个三遍以上吧。有些题目不是靠死记硬背,需要平时的积累的,面试官一深入就全露馅了,平时积累非常重要。

蚂蚁二面

3 月 6 日,周一,下午 4 点,突然接到蚂蚁金服的电话,问能否视频面试,给我 15 分钟准备时间,然后到四点二十多才开始面试。期间出现很多问题,比如听不到声音,看不到画面,最后无奈,改成电面,面了一会,又说重新约时间。

电面的内容如下:

1:介绍一下学习前端多久了

2:什么项目最印象深刻

我说的是 unity3d 的项目和自己的 hexo 博客,大致问了一下这两个方面的内容,然后又问我要了博客地址。之后又问了我一些 unity3d 方面的知识。

然后面试官说二面要视频面,下次再约。

3 月 7 日,周二,晚上八点半,蚂蚁金服面试官(同一个)问我有没有空,我答有空,开始面试,自带纸和笔。

接着上次的来,已经了解基本情况了,上来就问了一下关于项目的基本知识,现在的基本情况,以后的人生规划,我当时还疑惑,为什么不问技术。

然后就开始问技术了,面试官先让我拿出纸,写正则表达式,因为我简历上写的对正则表达式精通。先写了一个邮箱的,当时很懵逼,因为邮箱不难写,主要是能否考虑全面,@ 之前和之后,胡乱写了些,面试官提了一点意见。又问我 \s \S 区别,写一个字母数字下划线的集合,就写了 [a-zA-Z\d_],没想起来还有 \w,懵逼。其实写正则的话,我是一点都不怕的。

接着又让我写了一个冒泡算法,在纸上写算法,真的很痛苦,花了几分钟写好了,大致是对的,不过手写冒泡算法,还是让我怀疑了一下人生。面试官问,能不能传入第二个参数,来控制升序和降序,我说可以啊,用一个 boolean 型就行了。还有吗,string 或 int 也可以吧,还有吗?如果传入一个函数,可以吗。原来是这样,我当时就想到了 sort 函数,原来面试官想考这个:传入的函数接受两个参数 a,b,刚好可以在 冒泡排序 if 括号里使用,当返回 true 的时候,就交换位置,返回 false 就不交换。(sort 函数应该就是用冒泡实现的)面试官根据这个问了我函数式编程,我把前段时间 阮一峰老师写的那篇函数式编程的博客拿来说了一说,什么函子呀 map reduce 呀,还好面试官没有深追。

趁着我写代码的几分钟,面试官去我博客逛了一下(百度统计),剩下的东西都是我博客里的了,我写过 react,es6,jquery 源码,都被问到了,其中 jquery 源码问的比较多,比如印象最深刻的地方,学到了什么,如何进行链式调用,当初为什么要看源码。es6 问了我一些新特性,实在想不起来了,就回答了几个很普通的:箭头函数,let const,class。说到 class 的时候问我原型链和 es5 实现继承,这个都不是很难,说都挺好说的,没有让实现,真实万幸。(实现起来会比较麻烦)

熟悉 nodejs 吗,大致了解,blablabla。

又问我 css 和 js 哪个更好一点,我说两个一样好。面试官又问了我几个 css 方面的知识,比如 position 有几个取值和区别(一面问过啦)。

大致就这些吧,大多数的时间,面试官都在跟我聊人生。问了我以后期望哪里工作,加班,还问我有没有女朋友,最后问我对 h5 手机开发感不感兴趣,我说只要是前端,都感兴趣,我自己的博客就移动端适应。

二面两次时间加在一起大概有一个多小时,自我感觉良好。

蚂蚁三面

3 月 13 号下午四点半,面试官打电话过来,问我有没有时间面试,电面,我说有,就开始了,应该是三面。

这次面试技术问的不是很多,全是实习内容,我简历上贴了两次实习,基本上就是围绕这两次实习展开的,每个实习下面都有三句话,面试官读一句,然后问你具体干了什么,学到了什么。这些坑都是以前自己挖的,该怎么回答,自己都反复琢磨了很久,很轻松的就回答了出来。反正我每说一个点,我都会强调:我喜欢前端,我想要从事前端,我自学前端很久了,我做过前端的项目,我很喜欢 js等等。一定要给面试官一个错觉:这位同学对前端很感兴趣。

和面试官聊的很开心,历时 14 分钟吧,面试官也没有难为我,最后客气的问了一下:你有什么想问的?

我先问了一个问题,每次打电话显示都是 010 北京的区号,我投的岗位是杭州的,我问了面试官,他说他们电话是统一由北京转的,面我的部门是北京的蚂蚁金服。想到这里我就开始慌了,我投递的是杭州岗位,居然是北京的人面我。

又问了一下实习生进去都做哪些工作,然后就是谢谢。

蚂蚁 HR 面

3 月 20 号下午六点十分左右收到 HR 电话,是个姐姐,声音超级好听,不过当时在吃饭,就约了第二天,电话显示的是杭州区号。

3 月 21 号下午三点半,收到电话(等了一整天),还是那个姐姐。先介绍了一下自己,目前的状况,HR 姐姐又问了什么时候毕业。

后面的内容大概围绕来以下几个问题。

1: 你学前端多久了;2: 平时怎么来学前端;3: 除了前端,还了解哪些技能;4: 你有啥优点和缺点;5: 你有什么问题问我。

没有问到技术方面的问题,就是了解一下基本情况。

我问了以下几个问题:

1: offer 什么时候发:

5 月份统一发。

2: 面我的部门是做什么的(之前已经知道了,蚂蚁聚宝):

HR 姐姐说了一大堆,涉及很多技术问题,感觉 HR 姐姐还是懂技术的。

3: 正式校招将至,请问我能拿到 offer 的几率为多大:

HR 姐姐的回答还是很有意思的,先给我解释了一大堆,我们是统一招实习,要等最后的结果,我们是有排名的,择优录取。

问完第三个问题,HR 直接就说谢谢、再见之类的话,不给我问其他问题的机会,我也说了一句谢谢,就这样结束了,历时十二分钟。

总结

因为我有实习经验,所以三面的面试官只问了我实习相关的问题,简历上的内容还是丰富一点比较好,可以把发表过的论文也放上去,获得的大奖也放上去,要让面试官有问题来问。

无论如何,基础都非常的重要,一定要平时多积累。

欢迎来我的博客交流。


songjz
2.3k 声望210 粉丝

当你的才华还不足以支撑