向那些年咱们经历的一面N面致敬

写在前面的一点我的感觉php

忐忑了长达一个月的心在这拿到腾讯sng的offer之际终于平静下来,趁如今感受和记忆尚未淡去,记录下面试一路经历的点滴。css

感受本身也算是个挺幸运的人吧,像是一切安排好了通常。高中经过学校的第二兴趣培养接触到ps,接触了编程。虽然高考踩了个坑,但也被补录了个二本院校的一本专业。挺巧合的,也算是个偏技术型的专业。其实当时补录的时候根本不知道这专业是啥哈(信息管理与信息系统)。可是名字那么长仍是让人感受比较霸气的。html

嗯,真正学习下来发现是个神奇的专业=-=学科从java到会计,从数据库到国际贸易。文理商管各有涉猎。但基本都是浅尝辄止,没有一门是能让人学到精那种。因而也迷茫过,当时正处于js的初学阶段。那时候写网页动效所有都是从网上直接下代码。那冗长的没有注释的代码特别坑啊有木有。发现我扯得有点远了,那么回到面试这个话题上来。前端


从内推处处女面

其实一开始就奔着腾讯UI开发(前端的重构方向)去的。我的兴趣吧,由于是女生,因此喜欢偏向展现层面的东西而没有那么接近底层。大概二月底的时候吧,就收到一封邮件说“同窗,你已被伯乐推荐提早进入2016校园招聘……巴拉巴拉的”特别忽然,当时还不知道是哪一个腾讯师兄内推的。怀着感激和紧张的心情就去填了相关资料。html5

以后3月份师兄又不厌其烦地帮我各类内推腾讯,wxg,sng的。大神师兄多真是棒棒的^^java

然而——
腾讯这边的音讯就像是断了同样,小喇叭和小电话一直没有响起过。
却是因为项目组导师的关系,让我经历了阿里巴巴的一面和二面。jquery

阿里一面 50min

3月初,很忽然地接到杭州的电话,果真是阿里巴巴的。有些意外吧,由于进阿里真的没什么把握,不得不认可偏底层东西真的学得不行,但既然机会来了,那么就让本身涨涨经验和见识吧。
一面问的内容很是的泛。但基本都是点到即止。因此这也要求咱们了解的前端相关知识广度要足够大。不要仅仅局限于html+css+js这几个领域。css3

首先是最基本的问题啦:自我介绍。哈哈=-=当时我好紧张,声音都在抖,像在背书同样,把本身的一些相关信息说了一遍。感受过多地强调了本身的项目经历而没有突出本身的个性。
第二个问题:为何选择前端呀。好久以前,一个师兄也问过我一样的问题,当时说的是由于不喜欢后台。虽然是实话,但这是面试呀,固然要说点有水平的。我说感受前端开发能将射击之美和逻辑之美结合在一块儿,前端开发人员能运用自身的审美和逻辑思惟把网站前端完美地构建出来,是一项能切实被感知和体验的职业。
接下来问了项目,看了什么书。其实看的书很多,可是好像一下什么书名都想不起来似的。只说了,web标准设计,css禅意花园,图解css3和js高级程序设计。
接下来就是html,css,js这三大方向的基本问题。期间也穿插一些数据结构和数据库的问题。都不算难,好比数据结构的排序,时间复杂度的问题。数据库的话就只问了会用哪一种。web

html基础:常见兼容问题。回答分了三个层面,各列举了html,css,js上的兼容性。
为何要有doctype声明。doctype有几种。html5的与之前版本有什么不一样(html5不基于三顾茅庐//sgml =-=了,因此不须要引用dtd哈)。面试

css基础:面试官好像最后才问的css相关问题。听到的时候松一口气,总算到本身比较熟悉的啦,哈哈。position有几个值,相互有什么区别。这题说了sticky也许会加分哦。貌似没其余问题啦。

js基础:nullunderfined区别。null==undefined返回什么?我说true。又问为何?我说存在自动转换(不对哈)

应该是underfined是派生至null的,因此underfined==null,要比较相等性以前,不能将nullunderfined转换成其余任何值。

他说既然说到自动转换,那么0=='0'返回啥?固然仍是true啦。数值跟字符串比较会先将字符串转换为数值。
有没有看过jquery源码?看过一点。能说说原生“阿贾克斯”是怎么实现的吗?balabala,狂说一通。幸亏是电面,要我直接写的话还不必定写得出~
这里作个总结:建立XMLHttpRequest对象(处理兼容问题)>建立一个新的请求,即调用open方法,指定请求的类型,地址>设置相应HTTP请求状态变化的函数>发送HTTP请求>获取异步调用返回的数据>使用js操做dom进行局部刷新。

getpost安全性?为何?如何实现跨域。腾讯也问了这个问题,可是我两次都漏了CORS QAQ。jsonp原理。我说主要是经过利用src这一属性能够引用非同域资源这一特色实现的。而后问jsonp用的是get仍是post。二分之一的几率然而我仍是答错了。=-=总是想着post安全性更好,就说post。可是面试官引导我而后把我纠正过来啦~

require.js和sea.js的区别。

HTTP状态码:200204的区别。对不起不知道。301302的区别。对不起不知道。有点偏啦。
又问我304,什么状况下会出现304的状况。
我说这是告诉浏览器从缓存中获取资源。

这里顺带提一下哦,from cache也是从缓存中获取资源。可是304的状况须要先将本地资源的If-Modified-SinceIf-None-Match跟服务器返回的DateETag进行比较。若是相同才用浏览器缓存资源。而from cache通常与expirse相关啦。也就是说304这种状况仍是会向服务器发一次请求的。那么什么设置了什么才能有304这种状况出现呢?是cache-control:no-cache。而cache-control:no-store是不管在任何状况下都不进行缓存。

当时感受这道题答得还行~

其余:当你在浏览器地址栏输入www.taobao.com到浏览器展现出一个完整的页面间发生了什么?哈哈哈,好像各面经宝典上都有哦,这问题。

最后问了问前端新技术。大概50分钟,这样就结束了我不太愉快的处女面~面试完晚上就把这些记录下来啦~


阿里二面 25min

等了很久呀,一个星期。我第六感可能比较强,也由于感受一面每一个问题都能答到,应该没有被刷。因而在一个班会课上就接到了二面电话。

感受面试官好强(后来经过聊了下知道他好像是支付宝部门哒)。
//并且声音超!级!好!听!也许是苏浙那带的本地人,感受那边的普通话说得好标准啊。并且好亲切呀。称呼我是直接去掉姓称呼名字的^^。
一上来就问我,以为你哪些方面没有答好。后来才想到这是主动让面试者把不足点爆出,好找缺口趁虚而入,把你干掉~

哈哈,然而我当时就傻傻地说了。说了require.js和sea.js的区别没说好。可是再说一遍感受也没说好啊~他还特地地用他的意思总结了一遍。而后就提到了MVC=-=真心不应说这个,由于本身对它的了解程度仅在于会用而已。深一层就彻底不会了。因此由这个衍生的问题果真就答不出来了。还问了二叉树原理。啊~对不起,这个真心不会。

其余问题就较轻松啦,团队合做呀,看大家的配合程度。主要经过什么途径学习啊,看你对知识的摄取能力强度。喜欢什么学科,我说java=-=。其实仅限于第一次敲出hello world的兴奋而已。你认为你非编程类学科学得比较好的是什么?我说计算机网络。其实他想听的是数据结构。

最后你有什么问题想问我。。。由于感受本身表现特差,就问面试官您以为我表现咋样=-=如今回想起来以为本身傻傻的,不该该问这些有关我的评价的问题,不只让面试官很差回答也让他感受你的关注点所在方向没什么养分。果真,他说:这个…很差回答~ 应该是笑着说的,语气温柔。可能看我是个铝孩子,哈哈。而后我又补充了个大家日常都是使用kissy这个框架咩?他说只有淘宝用哦~

这样就结束了还算愉快的二面^^而后个人神奇的第六感就告诉我二面挂啦=-=因此噢,二面必定不能为了避免失逼格而说一些本身不太深刻的,可是比较高端的知识点。由于怎么说面试官经验确定比你丰富,你能说的那些别人必定懂得比你多。这样他会以为你连只知其一;不知其二都不算,只是会搬砖而已。相反,若是想说点高端的,必定要事先深刻了解而且有必定的实践,这样就不但不会被问倒,也能获得面试官的承认,得到必定加分哦。


腾讯UI开发岗面

没记错的话是3月21号,上完课回来发现腾讯ui开发的面试官(如今应该是我组长了^^)添加了我。对=-=直接加QQ的。当时挺开心的,终于等来腾讯的消息了~简单问好后我问是否是面试,面试官说不是,就是了解下,叫我别紧张。没遇过这种状况,阿里都是上来就直接面的…
而后就跟面试官在QQ上用文字聊了聊。我记得是从下午4点聊到晚上9点,固然有期间双方交流和回复不太及时的缘由在。

挺特殊的一种方式,不过也像面试官说的,只是简单了解,还不能算是面试。这种文字考查的方式仍是挺容易让面试者抓空子的。不过我也没有上网查问题的答案=-=由于那天正好电脑坏了,又想着及时回复和尽量表现得真实点吧。

记得第一个问题是:为何须要w3c标准。我说为了规范浏览器对网页的渲染。特别简洁。而后面试官就引导我,若是没有会怎样。我说到兼容问题那方面了——详细说就是每款浏览器有本身的标准,因此若是开发者和浏览器厂商若是不遵循同一个规范的话会有不少意想不到的问题出现。如今以为答得不太全面,应该回到何为w3c标准进而将答案引伸。

w3c标准包含了3方面:(x)html、css、ecmascript+dom。目的简单地说是为了使网站的受众在不一样浏览器下都能得到网站信息,获得相同的,尽量好的用户体验。而从开发者角度说,是为了节约开发成本,提升效率。浏览器厂商角度:更好地盈利。

貌似只有这一个特别基础的问题,而后大部分的都集中在移动web开发上了。(也多是我简历上写了有web app开发经历的缘故)映像比较深的问题是问我zepto和jq的区别,由于看我web app用的js框架都是jq,而我面的那个部门移动端js框架用的是zepto。

其实我以为Zepto不怎么好用,由于不少模块的没有包含在它的核心模块里面(好比动画,touch模块),这么设计的目的以前据说是由于Zepto某些模块含有没解决的bug。(好比点透)固然还有一个缘由是减少体积。

我就说Zepto感受不少事件处理方面没有jq封装的那么好,挺多事件不支持的=-=固然漏了最重要的那个——它体积小。其实当时使用Zepto只是为了用tap而已(解决传统click 300ms延迟的问题,但产生了点透的问题),可是发现核心Zepto这么事件多不支持,jq本身用得又比较熟,就用回jq了。而后我说针对tap这个,我用了fastclick。面试官说,这么说移动端用jq+fastclick而不用Zepto

当时就有点慌了,说实话挺怕面试官下这样的总结。由于本身的经验浅薄,仅仅只是某个项目用的方式固然不具有专业性,不能表明业界的使用方向。因此我赶忙说,固然不是,只是我我的对jq的熟练程度比Zepto好,其实如今回想起来,仍是由于本身没答到最重要的那点。//这里补充下,其实以前有想过用淘宝的kissy mini,但仍是因为不熟悉放弃了使用。

还有就是问图片格式(若是想说webpapng最好要有必定的实践和研究),性能优化(这个后来面试尽然没再问到!吃惊。),3d动画(说了webgl有加分哦),移动端ui框架。还有的就是针对我作过的项目问的了。聊完的感受是,我的移动端的项目经验仍是比较缺少的~

又是一轮漫长的等待……由于面试官都说了不是面试=-=又很差问他如今是啥状况。因此就只能各类猜。快一个星期了,忍不住问了师兄,他正好跟面试官同组哈哈。后来告诉我,如今加我有N个候选人,面试官说近期还会找我聊聊。^^hha,感受豁然开朗。貌似几十分钟后,面试官就约了我次日视频一面…
图片描述


视频一面 1h

仍是那句话一面问的内容很是的泛。但基本都是点到即止。

比较基础的是盒子模型,怎么去改变盒子模型。ie怪异模式。position有哪些值(阿里也问了)display有哪些值,css单位。自动继承的css属性。link@import引用样式表的区别。这些题目怎么说呢看似基础其实暗藏杀机=-=就是由于问题太过简单基础,而咱们日常的关注点也比较表面,没有深刻地去研究这些基础的东西的由来,也没有去了解那些不怎么经常使用的css属性值。因此当面试官往较偏的地方引导你,你就极可能答不上来了。我就是这样…

好比问了,positionstickyabsolute的区别,我就不知道了。也是缺少实践的缘由。不过单位那个感受还行,由于提到了vwvh这两个单位uc下不支持的问题(固然这个是由于实践过)。html5的新标签,这个没答全。新增表单属性。如何控制一个typetext的文本框只能输入数字,除了使用js。我说,为啥不用typenumber或者tel,面试官说还会有其余问题。噢,而后我就在思考。。。略久,他就说知道可使用pattern写正则吧~当时恍然,也懵逼了,由于我……不会……正则。不是说彻底不会,但忘了不少。也果真写错了。

这里是后来查到的number tel不适用的缘由和使用pattern解决的办法

偏移动端的问题有好比如何开启硬件加速。微信浏览器内核,我说我知道手Q是X5…那微信也是吧。面试官说恩,但它又是基于什么的呢?我说是基于webkit二次开发的。又问ip6,ip6+的dpr,nexus5的dpr,nexus5我忘了。后来有补充了针对ipone的web app定义meta解决方案的相关问题。这些都能回答到啦^^

当面试官问我js问题时有点惊讶,由于面经上说重构不问js的呀=-=不过,还有点松口气的感受,前面html,css的问题一问偏我回答得就比较吃力了,因此问问js也是好事~一开始果真特基础,好比js数据类型,啥是闭包,如何跨域,jq deferreds特性。但仍是慢慢深刻了,好比硬件传感器api,RequestAnimationFrame

还有的就是状态码和如何获取前端知识的问题了。

一面的问题是难易穿插,不是按部就班的,而且也不会一直集中在某个领域问问题。最后的就是你有啥问题问我,吸收了阿里教训就因此问了点有深度的问题啦~。//后来跟师兄聊的时候,他又告诉我一个小窍门。

若是一二面是同一个面试官,记得把一面他问过的你不懂的内容回去实践一遍,而后发现新的问题,在二面时反问他~这样面试官能知道你有针对上一次的面试经历去反思,而且转化为行动力

结束视频聊天时显示时长有1小时几分钟,后来我又问了问面试官若是经过啥时候有消息,他说这几天。这样又进入了等待。

一面虽然有些偏难或者偏门的知识点也能答道,但仍是暴露出本身基础不够扎实的弊端。说实话我也不是特别有底,但第六感告诉我还有下一轮。


视频二面 17min

一面是周四,周二中午的时候收到消息说下午视频复试。此次没有提早一天通知,可能面试官也比较忙吧。因此我准备的时间也比较短了。匆匆地吃了午饭又抓紧时间看了看本身还不太熟悉的知识点。

跟一面同样,也是下午4点时面试开始。此次是团队的leader面,挺亲切哒~其实几回下来感受面试官都很nice,压根不会让你感受到有压力。

问了我作过项目的有什么亮点,有没有写过插件,也问了闭包,闭包使用的场景,比较倾向于前端表现层开发仍是逻辑层,想要深刻学习的面相对象语言是什么。开放性问题,较考察面试者的逻辑思惟

也问了我有没有本身写过php,jsp。有没有开源项目=-=我一听感受很差,先后端对接没问题,但写代码我不太会啊。jsp虽然写过几个页面,但都是小打小闹的。因此就只能老实地说——没有:(
以后就问我有没有什么问题,我问在腾讯,对于ui开发人员去学习设计或者后台相关知识是持着一种鼓励的态度吗?仍是说leader更喜欢咱们精通html+css。面试官说,问题很好^^而后也特别仔细地回答了我。简单地说是持鼓励的态度的,更倾向开发人员往全栈发展。面试就这样结束了,面试官说咱们会在今天内给你答复的~以后就愉快地说拜拜了。

面完感受更没底了,由于真是太快了啊!后来跟我妈说到,她说可能刚开始面的时候面试官已经有答案了,只是再简单了解下证明他心中的想法。因此你必定要阳光点,面试不要畏畏缩缩的=-=我说我阳光灿烂啊~


随意聊聊的hr面 10min(又名直接发offer的hr面)

吃过晚饭无所事事地刷着微博,有些失神。真的怕等待会让本身的期待变成失落。实在太困了就趴在实验室桌子上睡了半小时的觉。大概八点钟,接到了hr姐姐深圳打来的电话^^瞬间满血复活。hr姐姐声音好好听,萌萌的。就跟我说简单了解下状况。噢,先是问了我Q号和身份证号,(后来才知道hr姐姐原本就打算发offer才打我电话哒)又问是哪里人啊,兴趣是什么,作项目时遇到啥困难怎么解决~不过木有问我又木有男票=-=而后就说没什么问题offer几天后就能发到邮箱了。当时特激动,跟她再确认了一遍能够发offer的事。以后就连声感谢着挂了电话。


后记

hr面完立刻就给我妈打过去了……谢谢妈妈,在我面试低落时不断安慰我,没一句怨言地吸取个人负能量。在二面的时候跟我一块儿紧张,在hr姐姐电话打来前当心翼翼地问我如今还没消息是否是就没有了呢?T^T如今终于成功迈出第一步,喜悦固然要跟分担了我太多忧愁的妈妈分享。

而后我妈挂了我电话=-=发了条微信语音——点解打电话比我噶?我微信打过去,跟她说拿到offer了~能够去深圳了。她也松了口气,转而又起了微微担心——深圳离家比广州远了。其实那时候面阿里的时候她也问过我,若是真的进了,是否是就要去杭州了?我说固然,她说舍不得,舍不得你离开省,一我的走这么远。也许仍未体味到什么是儿行千里母担心,但我固然也但愿我妈能放心地看着我成家立业,因此目前拿到深圳的offer于我于她都算是好的吧~

以上就是我一个月来的各类面试经历了。如今也算是以回忆录的方式写完了。以前不造在哪一个面经上看到过,拿到不少offer的人胃必定很好,由于能承受如此强大的来自未知的压力。但必定不是我,哈哈。

以上我的经历仅供参考。面试下来感受各单位招聘前端的针对性仍是很强的。因此若是没成功不必定是本身能力问题,也许对手太过强大又或者是本身的能力模型与面试的岗位不相符。但有一点要知道,掌握基础是真理,多实践是王道。最后祝奔波于大大小小面试的同行们都能成功拿到本身心仪企业的offer!

相关文章
相关标签/搜索