1月前端面试记
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><img src="http://mmbiz.qpic.cn/mmbiz_gif/hGeYs9Tr6I8AhabwXibPbGVpibNP1SrD0ZPenpfJvvDibcMn64OMlz2Oibky0ep5VzicLZYgX9XHLhPxibqXSqVuPAHQ/0?wx_fmt=gif&tp=webp&wxfrom=5&wx_lazy=1" style="width: 50%; margin-bottom: 20px;"></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">编者注: </p><span style="color: black;">【文末有惊喜】作者于16.12.18辞职,之前有过一年<span style="color: black;">上下</span>的前端工作经验。从12月26号<span style="color: black;">起始</span>到1月9号先后面试了<span style="color: black;">微X</span>,百度,阿里巴巴uc,唯品会以及深圳腾讯等几家<span style="color: black;">机构</span>,特此总结与各位共勉。</span><span style="color: black;"><span style="color: black;">作者: WU_CHONG</span><span style="color: black;">原文链接:https://gold.xitu.io/post/587dab348d6d810058d87a0a</span></span>
<h3 style="color: black; text-align: left; margin-bottom: 10px;">背景</h3>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">我于16.12.18辞职,之前有过一年<span style="color: black;">上下</span>的前端工作经验。从12月26号<span style="color: black;">起始</span>到1月9号先后面试了<span style="color: black;">微X</span>,百度,阿里巴巴uc,唯品会以及深圳腾讯等几家<span style="color: black;">机构</span>,特此总结与各位共勉。</span></p>
<h3 style="color: black; text-align: left; margin-bottom: 10px;"><span style="color: black;">微X</span></h3>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><span style="color: black;">因为</span>我<span style="color: black;">已然</span>毕业工作过,<span style="color: black;">因此</span>去<span style="color: black;">微X</span>面试是走的社招。<span style="color: black;">微X</span>社招极其严格,共八轮面试,总体<span style="color: black;">来讲</span>我基本上当了一把炮灰。<span style="color: black;">因为</span>腾讯前端又细分为重构和JS,<span style="color: black;">因此</span><span style="color: black;">微X</span>的面试基本上以JS为主。</span><span style="color: black;"><span style="color: black;">微X</span><span style="color: black;">第1</span>面是笔试,共一个小时,四道编程题:</span></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">JS手写二分搜索算法</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">给你一段代码,让你<span style="color: black;">发掘</span>其中的问题(考察闭包)</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">实现一个Lazyman(请<span style="color: black;">自动</span>搜索)</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">用JS代码求出页面上一个元素的<span style="color: black;">最后</span>的bac<span style="color: black;">公斤</span>round-color,不<span style="color: black;">思虑</span>IE浏览器,不<span style="color: black;">思虑</span>元素float<span style="color: black;">状况</span>。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">前两道题比较<span style="color: black;">基本</span>,只要有JS<span style="color: black;">基本</span>的<span style="color: black;">朋友</span><span style="color: black;">通常</span>都应该没什么问题。第三道题,有些难度,<span style="color: black;">然则</span>我之前曾在网上见过该题,<span style="color: black;">运用</span>队列<span style="color: black;">或</span>promise都<span style="color: black;">能够</span>。第四道题,看完之后<span style="color: black;">满脸</span>懵逼,想了半天<span style="color: black;">亦</span>没明白它考察什么内容。<span style="color: black;">因为</span>时间关系,我直接用了window.getComputedStyle。后来交完之后仔细想想,<span style="color: black;">好似</span>确实有<span style="color: black;">非常多</span><span style="color: black;">状况</span>没<span style="color: black;">思虑</span>到,例如当这个元素的背景色为透明时,它<span style="color: black;">最后</span>的背景色应该为其父元素的背景色。</span><span style="color: black;"><span style="color: black;">微X</span>二面是项目经历面,我跟面试官大致介绍下我过去一年做的项目。<span style="color: black;">而后</span>掏出笔记本<span style="color: black;">起始</span><span style="color: black;">一块</span>看我之前写的代码,面试官觉得我之前做的项目<span style="color: black;">繁杂</span>度不太高。<span style="color: black;">而后</span>就问了我其他几个问题:既然你面的是小程序组,<span style="color: black;">那样</span>你<span style="color: black;">认识</span>小程序吗?我说不<span style="color: black;">认识</span>。<span style="color: black;">而后</span>问我<span style="color: black;">是不是</span><span style="color: black;">运用</span>过React,我说<span style="color: black;">无</span>。面试官不是很满意,但<span style="color: black;">最后</span>让我过了。</span><span style="color: black;"><span style="color: black;">微X</span>第三面是前端<span style="color: black;">基本</span>面,面完之后我的人生观<span style="color: black;">出现</span>了改变,我感觉我不配做前端。<span style="color: black;">第1</span>个问题是,请问前端优化的手段有<span style="color: black;">那些</span>?我心里暗喜,这么简单的问题还问。<span style="color: black;">而后</span>我答将CSS文件放在上面,JS文件放在下面。正准备说下一条时,面试官问<span style="color: black;">为何</span><span style="color: black;">这般</span>做?我答JS下载解析时会阻塞DOM树的构建,<span style="color: black;">倘若</span>放在上面可能会<span style="color: black;">显现</span>白屏的<span style="color: black;">状况</span>。<span style="color: black;">而后</span>面试官问,有<span style="color: black;">无</span>可能让JS下载解析不阻塞DOM树构建?我答<span style="color: black;">运用</span>defer或asyn字段。面试官问有什么区别?我答...<span style="color: black;">而后</span>面试官问CSS下载解析会不会阻塞DOM树渲染?我<span style="color: black;">已然</span><span style="color: black;">起始</span>一身汗了,这个问题我不太确定。<span style="color: black;">而后</span>面试官让我接着说优化手段,我答CSS-sprit<span style="color: black;">或</span>将小图<span style="color: black;">运用</span>base64内嵌。面试官问我CSS-sprit原理是什么?<span style="color: black;">运用</span>base64虽然会减少请求数,<span style="color: black;">然则</span>会增大文件的<span style="color: black;">体积</span>,以什么为基准去衡量什么时候<span style="color: black;">运用</span>base64?此时我<span style="color: black;">已然</span>泪流满面。<span style="color: black;">而后</span>面试官问我<span style="color: black;">认识</span>HTTPS吗?我说<span style="color: black;">认识</span>。他问,请问HTTPS和HTTP有什么区别?我答HTTPS<span style="color: black;">增多</span>了SSL层。面试官问请画出SSL四次握手过程?此刻<span style="color: black;">已然</span>崩溃,我答不会。<span style="color: black;">而后</span>他问请问SSL握手时有对<span style="color: black;">叫作</span>加密和非对<span style="color: black;">叫作</span>加密吗?我答不<span style="color: black;">晓得</span>。他问<span style="color: black;">怎样</span>优化这一层?我答不<span style="color: black;">晓得</span>。<span style="color: black;">而后</span>继续回答优化手段?我答将静态内容推向CDN。<span style="color: black;">而后</span>他问<span style="color: black;">此刻</span>CDN不稳,时而工作时而崩溃,我有一个首页<span style="color: black;">怎样</span><span style="color: black;">保证</span>每次都能正常<span style="color: black;">表示</span>该首页?答案是CSS inline。他看了看时间,说那就下一个问题。<span style="color: black;">而后</span>给了我一个柱状图,让我<span style="color: black;">运用</span>html和CSS绘制出来。当时我是用了flex。<span style="color: black;">而后</span>他让我手写一个快排算法,我写了。<span style="color: black;">而后</span>他让我用CSS和JS动画在刚才那个柱状图中表现出快排的<span style="color: black;">全部</span>过程,<span style="color: black;">而后</span>我哭了。其实这个动画是见过的,只<span style="color: black;">不外</span>平时<span style="color: black;">运用</span>的都是canvas。面试结束,我跪了。</span><span style="color: black;">整体来言,<span style="color: black;">微X</span>的面试难度还是挺大的。他对<span style="color: black;">每一个</span>细节的考察非常仔细,不仅<span style="color: black;">需求</span>你知其然更要让你知其<span style="color: black;">为何</span>。<span style="color: black;">另一</span>一方面我<span style="color: black;">亦</span><span style="color: black;">认识</span>到了准备的不足。</span></p>
<h3 style="color: black; text-align: left; margin-bottom: 10px;">百度</h3>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">百度的面试是我最<span style="color: black;">爱好</span>的,考察的比较全面。百度<span style="color: black;">第1</span>面为<span style="color: black;">基本</span>面,<span style="color: black;">包含</span>HTML/CSS/JS各方面,共50分钟<span style="color: black;">上下</span>,大约30个问题<span style="color: black;">上下</span>:</span></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">HTML5新特性(新增的标签, API等),如localstorage的用法以及与cookie的区别,<span style="color: black;">怎样</span>理解web语义化</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">CSS3新特性,如动画等</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">CSS特性,如position的用法,<span style="color: black;">怎样</span>实现居中,bootstrap源代码的理解,盒模型(W3C和IE),flex的<span style="color: black;">运用</span></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">前端兼容性处理(CSS hack技术)</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">JS<span style="color: black;">基本</span>,如this用法,new关键字的过程,call与apply的区别,闭包,原型以及JS<span style="color: black;">怎样</span>实现继承</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">前端<span style="color: black;">基本</span>,浏览器缓存,跨域,从输入url到渲染的<span style="color: black;">全部</span>过程,事件(W3C和IE),TCP三次握手过程,<span style="color: black;">怎样</span>实现懒加载(跟预加载的区别)</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">百度二面为<span style="color: black;">基本</span>面+算法+项目经历,<span style="color: black;">连续</span>一个小时。问题如下:</span></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">之前有看过你做的一个移动页简历,请问<span style="color: black;">怎样</span>实现?我<span style="color: black;">重点</span>是<span style="color: black;">运用</span>REM+Media Query,<span style="color: black;">按照</span><span style="color: black;">区别</span>尺寸的设备进行<span style="color: black;">区别</span>的font-size设置。<span style="color: black;">而后</span>问我REM和EM的区别,<span style="color: black;">倘若</span>父元素的font-size<span style="color: black;">亦</span>是采用em表示,<span style="color: black;">那样</span>子元素的font-size怎么计算等。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">有<span style="color: black;">无</span>遇到过margin重叠的现象,<span style="color: black;">怎样</span><span style="color: black;">处理</span>?BFC</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">平常</span>的清除浮动的<span style="color: black;">办法</span>有<span style="color: black;">那些</span>?bootstrap是怎么做的?bootstrap是怎么实现grid系统的?</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">怎么理解JS模块化?有<span style="color: black;">无</span><span style="color: black;">运用</span>过webpack?</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">算法题<span style="color: black;">仅有</span>一道:什么是浅复制和深复制?有什么区别?如何实现Object的深复制?</span><span style="color: black;"><span style="color: black;">首要</span>我对这个问题进行分析,Object是一个树形结构,<span style="color: black;">因此</span>我采用递归的<span style="color: black;">办法</span>进行复制。面试官随后提问能否<span style="color: black;">经过</span>循环的<span style="color: black;">办法</span>?我思考了一会,回答说循环的关键在于循环<span style="color: black;">要求</span>的设置,我想借助栈<span style="color: black;">做为</span>循环判断的<span style="color: black;">要求</span>,当栈为空时,循环结束。当时我<span style="color: black;">马上</span>反应过来,<span style="color: black;">由于</span>Object子节点的个数不确定,可能入栈出栈会存在<span style="color: black;">必定</span>问题。面试官随后问,还有什么东西<span style="color: black;">无</span><span style="color: black;">思虑</span>到吗?我想了下说<span style="color: black;">无</span>。他提示了下,<span style="color: black;">倘若</span><span style="color: black;">显现</span>环怎么办?我愣了一下说不<span style="color: black;">晓得</span>。<span style="color: black;">而后</span>他给我个提示说<span style="color: black;">运用</span>深度优先的<span style="color: black;">办法</span>借助栈并<span style="color: black;">不可</span><span style="color: black;">处理</span>这个问题,<span style="color: black;">而后</span>让我<span style="color: black;">运用</span>宽度优先试试,将代码发给他。面试结束后我发给了他我的代码,各位<span style="color: black;">能够</span>参考下:</span></p><span style="color: black;">// 深度优先遍历复制, 借助队列</span><span style="color: black;">function</span> <span style="color: black;">deepCopy</span><span style="color: black;">(</span><span style="color: black;">obj</span><span style="color: black;">)</span> <span style="color: black;">{</span> <span style="color: black;">var</span> <span style="color: black;">newObj</span> <span style="color: black;">=</span> <span style="color: black;">{},</span> <span style="color: black;">srcQueue</span> <span style="color: black;">=</span> <span style="color: black;">[</span><span style="color: black;">obj</span><span style="color: black;">],</span> <span style="color: black;">srcVisitedQueue</span> <span style="color: black;">=</span> <span style="color: black;">[],</span> <span style="color: black;">copyQueue</span> <span style="color: black;">=</span> <span style="color: black;">[</span><span style="color: black;">newObj</span><span style="color: black;">],</span> <span style="color: black;">copyVisitedQueue</span> <span style="color: black;">=</span> <span style="color: black;">[];</span> <span style="color: black;">while</span> <span style="color: black;">(</span><span style="color: black;">srcQueue</span><span style="color: black;">.</span><span style="color: black;">length</span> <span style="color: black;">></span> <span style="color: black;">0</span><span style="color: black;">)</span> <span style="color: black;">{</span> <span style="color: black;">var</span> <span style="color: black;">currentSrcElement</span> <span style="color: black;">=</span> <span style="color: black;">srcQueue</span><span style="color: black;">.</span><span style="color: black;">shift</span><span style="color: black;">(),</span> <span style="color: black;">currentCopyElement</span> <span style="color: black;">=</span> <span style="color: black;">copyQueue</span><span style="color: black;">.</span><span style="color: black;">shift</span><span style="color: black;">();</span> <span style="color: black;">srcVisitedQueue</span><span style="color: black;">.</span><span style="color: black;">push</span><span style="color: black;">(</span><span style="color: black;">currentSrcElement</span><span style="color: black;">);</span> <span style="color: black;">copyVisitedQueue</span><span style="color: black;">.</span><span style="color: black;">push</span><span style="color: black;">(</span><span style="color: black;">currentCopyElement</span><span style="color: black;">);</span> <span style="color: black;">for</span> <span style="color: black;">(</span><span style="color: black;">var</span> <span style="color: black;">key</span> <span style="color: black;">in</span> <span style="color: black;">currentSrcElement</span><span style="color: black;">)</span> <span style="color: black;">{</span> <span style="color: black;">if</span> <span style="color: black;">(</span><span style="color: black;">typeof</span> <span style="color: black;">currentCopyElement</span><span style="color: black;">[</span><span style="color: black;">key</span><span style="color: black;">]</span> <span style="color: black;">!==</span> <span style="color: black;">object</span><span style="color: black;">)</span> <span style="color: black;">{</span> <span style="color: black;">currentCopyElement</span><span style="color: black;">[</span><span style="color: black;">key</span><span style="color: black;">]</span> <span style="color: black;">=</span> <span style="color: black;">currentSrcElement</span><span style="color: black;">[</span><span style="color: black;">key</span><span style="color: black;">];</span> <span style="color: black;">}</span> <span style="color: black;">else</span> <span style="color: black;">{</span> <span style="color: black;">// 有环的<span style="color: black;">状况</span></span> <span style="color: black;">var</span> <span style="color: black;">index</span> <span style="color: black;">=</span> <span style="color: black;">srcVisitedQueue</span><span style="color: black;">.</span><span style="color: black;">indexOf</span><span style="color: black;">(</span><span style="color: black;">currentSrcElement</span><span style="color: black;">[</span><span style="color: black;">key</span><span style="color: black;">]);</span> <span style="color: black;">if</span> <span style="color: black;">(</span><span style="color: black;">index</span> <span style="color: black;">>=</span> <span style="color: black;">0</span><span style="color: black;">)</span> <span style="color: black;">{</span> <span style="color: black;">currentCopyElement</span><span style="color: black;">[</span><span style="color: black;">key</span><span style="color: black;">]</span> <span style="color: black;">=</span> <span style="color: black;">copyVisitedQueue</span><span style="color: black;">[</span><span style="color: black;">index</span><span style="color: black;">];</span> <span style="color: black;">}</span> <span style="color: black;">else</span> <span style="color: black;">{</span> <span style="color: black;">srcQueue</span><span style="color: black;">.</span><span style="color: black;">push</span><span style="color: black;">(</span><span style="color: black;">currentSrcElement</span><span style="color: black;">[</span><span style="color: black;">key</span><span style="color: black;">]);</span> <span style="color: black;">currentCopyElement</span><span style="color: black;">[</span><span style="color: black;">key</span><span style="color: black;">]</span> <span style="color: black;">=</span> <span style="color: black;">{};</span> <span style="color: black;">copyQueue</span><span style="color: black;">.</span><span style="color: black;">push</span><span style="color: black;">(</span><span style="color: black;">currentCopyElement</span><span style="color: black;">[</span><span style="color: black;">key</span><span style="color: black;">]);</span> <span style="color: black;">}</span> <span style="color: black;">}</span> <span style="color: black;">}</span> <span style="color: black;">}</span> <span style="color: black;">return</span> <span style="color: black;">newObj</span><span style="color: black;">;</span><span style="color: black;">}</span><span style="color: black;">// Test case</span><span style="color: black;">// 1. 只含有简单类型的Object{a: 1, b:2} => pass</span><span style="color: black;">// 2. 简单类型和<span style="color: black;">繁杂</span>类型<span style="color: black;">同期</span>存在的<span style="color: black;">状况</span>下的Object => pass:</span><span style="color: black;">// var obj1 = {</span><span style="color: black;">// a: 1,</span><span style="color: black;">// b: 2,</span><span style="color: black;">// c: {</span><span style="color: black;">// d: 3,</span><span style="color: black;">// e: {</span><span style="color: black;">// f: 4,</span><span style="color: black;">// g: 5</span><span style="color: black;">// }</span><span style="color: black;">// },</span><span style="color: black;">// h: {</span><span style="color: black;">// i: 6,</span><span style="color: black;">// j: 7</span><span style="color: black;">// }</span><span style="color: black;">// };</span><span style="color: black;">// 3. 有环的<span style="color: black;">状况</span>下的Object => pass:</span><span style="color: black;">// var obj1 = {</span><span style="color: black;">// a: 1,</span><span style="color: black;">// b: 2,</span><span style="color: black;">// c: obj1</span><span style="color: black;">// };</span>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><span style="color: black;">而后</span>面试官问了关于我项目经历,之前曾看到你推进过<span style="color: black;">机构</span>的模块化,请问是基于什么背景,你是<span style="color: black;">怎样</span>推进的,遇到过什么问题等等。</span><span style="color: black;">百度三面<span style="color: black;">便是</span>属于开放性面试。<span style="color: black;">首要</span>面试官跟我讨论了下我二面<span style="color: black;">其中</span>的那道算法题,问我<span style="color: black;">是不是</span><span style="color: black;">处理</span>,环<span style="color: black;">怎样</span><span style="color: black;">处理</span>,<span style="color: black;">而后</span>问<span style="color: black;">是不是</span>看过Jquery的源代码怎么进行Object的深复制的?我答看过,是采用递归。他<span style="color: black;">而后</span>问<span style="color: black;">为何</span>Jquery对环的<span style="color: black;">思虑</span>只判断当前节点<span style="color: black;">是不是</span>为根节点?该问题我没回答上来。<span style="color: black;">而后</span>他说<span style="color: black;">此刻</span>百度有许多<span style="color: black;">分部</span>,<span style="color: black;">每一个</span><span style="color: black;">分部</span>都有自己的组件库,实现的功能基本相同,但有的用的是原生的JS,有的是<span style="color: black;">运用</span>JQuery,有的是<span style="color: black;">运用</span>React,<span style="color: black;">此刻</span>想进行统一,<span style="color: black;">怎样</span><span style="color: black;">处理</span>?我说采用重构,他问了问我重构的思路有<span style="color: black;">那些</span>。<span style="color: black;">而后</span>他说百度有些项目在线上<span style="color: black;">已然</span>很久了,代码比较陈旧,<span style="color: black;">倘若</span>你去重构可能会对线上的版本有冲击,你怎么<span style="color: black;">处理</span>这个问题?我答小幅度重构,<span style="color: black;">而后</span>进行回滚等。<span style="color: black;">而后</span>他问,<span style="color: black;">此刻</span>有一个很急的项目,<span style="color: black;">必须</span>一个组件,刚好网上<span style="color: black;">供给</span>的有该组件,你是<span style="color: black;">怎样</span>屏蔽该组件与现有项目的差异?我的思路是写一个wrapper屏蔽掉该组件与现有库的差异。<span style="color: black;">而后</span>面试官问,<span style="color: black;">倘若</span>引入该组件<span style="color: black;">必要</span>引入一个新的库,如React你该<span style="color: black;">怎样</span><span style="color: black;">选取</span>?引入的话有什么好处坏处?我<span style="color: black;">供给</span>了自己的<span style="color: black;">有些</span>看法。</span></p>
<h3 style="color: black; text-align: left; margin-bottom: 10px;">阿里巴巴UC</h3>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">UC的面试是最<span style="color: black;">容易</span>的,以至于我感觉我可能没<span style="color: black;">经过</span>。</span><span style="color: black;">UC<span style="color: black;">第1</span>面是一个阿里非常高级的前端工程师,面试大约一小时。<span style="color: black;">首要</span>让我讲了讲我对移动前端的<span style="color: black;">认识</span>?<span style="color: black;">而后</span>我讲了讲移动前端布局,JS方面,性能优化等,大于15分钟。<span style="color: black;">而后</span>他问我<span style="color: black;">怎样</span>理解前端工程化?<span style="color: black;">而后</span>我又讲了15分钟等。<span style="color: black;">而后</span>他问我有什么问题吗?我问请问你<span style="color: black;">怎样</span>理解前端以及你是<span style="color: black;">怎样</span>从pc端转入移动端?他站在黑板上给我讲了20多分钟。<span style="color: black;">包含</span>hybrid技术以及<span style="color: black;">此刻</span>流行的RN和Weex,以及阿里<span style="color: black;">此刻</span>的业务<span style="color: black;">运用</span>的<span style="color: black;">有些</span>技术以及<span style="color: black;">为何</span><span style="color: black;">运用</span>等。<span style="color: black;">第1</span>轮面试结束。</span><span style="color: black;">第二轮面试是一个后端的哥们,面试大约30分钟。问了我<span style="color: black;">有些</span>前端优化的<span style="color: black;">办法</span>,以及平常遇到过最大的困难是什么,<span style="color: black;">怎样</span><span style="color: black;">处理</span>。有什么难忘的事等。<span style="color: black;">而后</span>问我有什么问题?我说<span style="color: black;">为何</span>你不问我前端的<span style="color: black;">基本</span>知识<span style="color: black;">亦</span>不问我前端的项目经验?他说<span style="color: black;">不必</span>,<span style="color: black;">已然</span><span style="color: black;">认识</span>我的背景了等等,<span style="color: black;">而后</span>带我吃了个饭。</span></p>
<h3 style="color: black; text-align: left; margin-bottom: 10px;">唯品会</h3>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">唯品会技术面共5轮,考察的非常全面。前两面都是<span style="color: black;">基本</span>面跟百度大概类似。<span style="color: black;">然则</span>它重点问了我web安全的<span style="color: black;">有些</span>知识,xss和csrf。问我<span style="color: black;">怎样</span><span style="color: black;">处理</span><span style="color: black;">关联</span>的问题?xss的话<span style="color: black;">重点</span><span style="color: black;">运用</span>转义,csrf的话项目中我<span style="color: black;">重点</span><span style="color: black;">运用</span>的是jwt(javascript web token)。<span style="color: black;">而后</span>针对jwt细节问了我20多分钟。第三面是一个<span style="color: black;">制品</span>经理面,说虽然是技术<span style="color: black;">然则</span>还是要<span style="color: black;">认识</span><span style="color: black;">制品</span>才行。问我有<span style="color: black;">无</span>用过唯品会app,我说<span style="color: black;">无</span>。<span style="color: black;">而后</span>问我<span style="color: black;">晓得</span>唯品会是干什么的吗?我说一家专做特卖的网站。<span style="color: black;">而后</span>给我一个唯品会的页面问我有什么<span style="color: black;">意见</span>,<span style="color: black;">而后</span>我讲了20多分钟。第四面是技术总监,进来之后先把我吊了一顿。说虽然感觉你前端<span style="color: black;">基本</span>各方面比较好,<span style="color: black;">然则</span>唯品会的业务性非常强,我<span style="color: black;">无</span>任何电商方面的经验等,让我过来从头做起之类的。</span></p>
<h3 style="color: black; text-align: left; margin-bottom: 10px;">腾讯</h3>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><span style="color: black;">因为</span>面试的是移动方面的业务,<span style="color: black;">因此</span><span style="color: black;">重点</span>问的有zepto库的<span style="color: black;">运用</span>,移动端布局,优化,JS的<span style="color: black;">有些</span><span style="color: black;">基本</span>还有localstorage等。重点还问了一下我是<span style="color: black;">怎样</span>在项目中开展测试的(单元测试和e2e测试)。后序面试<span style="color: black;">因为</span>要去深圳总部,<span style="color: black;">因此</span>我推掉了。</span></p>
<h3 style="color: black; text-align: left; margin-bottom: 10px;">总结</h3>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">针<span style="color: black;">针对</span>前端的面试,还是<span style="color: black;">必须</span><span style="color: black;">必定</span>的时间去好好梳理,尤其是知识点的细节<span style="color: black;">必定</span>要非常清楚。关于项目经历<span style="color: black;">必定</span>要有一条主线,在这条主线上你做过什么,遇到过什么坑,怎么<span style="color: black;">处理</span><span style="color: black;">必定</span>要非常清楚等。<span style="color: black;">另一</span>一点算法还是很<span style="color: black;">要紧</span>的,<span style="color: black;">举荐</span><span style="color: black;">大众</span>一本书<<剑指offer>>,面试前我前前后后看过三遍。共勉之!</span></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><strong style="color: blue;"><strong style="color: blue;"><strong style="color: blue;"><strong style="color: blue;"><strong style="color: blue;"><strong style="color: blue;"><strong style="color: blue;"><strong style="color: blue;"><img src="http://mmbiz.qpic.cn/mmbiz/cZV2hRpuAPjEIibB1UYw1VMPzscNxReKZVxEh23qB9KgPqFq3uoyBy3M93PcFOunrvjkYVrtfvXMworbBuWAZ4A/640?tp=webp&wxfrom=5&wx_lazy=1&wx_co=1" style="width: 50%; margin-bottom: 20px;"></strong></strong></strong></strong></strong></strong></strong></strong></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><strong style="color: blue;"><span style="color: black;">福利时间</span></strong></span><strong style="color: blue;"><strong style="color: blue;"><strong style="color: blue;"><strong style="color: blue;"><strong style="color: blue;"><strong style="color: blue;"><strong style="color: blue;"><strong style="color: blue;"><strong style="color: blue;"><strong style="color: blue;"><strong style="color: blue;"><strong style="color: blue;">想要加入<span style="color: black;">咱们</span>TopGeek社群吗?想要与志同道合的小伙伴们<span style="color: black;">一块</span>成长和发展吗?想要<span style="color: black;">即时</span><span style="color: black;">得到</span><span style="color: black;">各样</span>技术福利吗?<a style="color: black;">请点击查看<span style="color: black;">文案</span>:《加入<span style="color: black;">咱们</span>-TopGeek社群》<span style="color: black;">认识</span>详情或点击下方的阅读原文</a>。</strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></p><img src="http://mmbiz.qpic.cn/mmbiz_jpg/hGeYs9Tr6IicRCMqLknZwfVzS8jia9qOKtOceALo4wzjhxpOo6L6HmpN5sW6ict3DEemGSUJxPKPRpnz8BAgxfIew/640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1" style="width: 50%; margin-bottom: 20px;"><img src="http://mmbiz.qpic.cn/mmbiz_jpg/hGeYs9Tr6IicRCMqLknZwfVzS8jia9qOKtZEJXriaK7UOLm3iaNjpOaVEhkNdTfbNbqD5b5lgTep2T0vA8J6YYdTHw/640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1" style="width: 50%; margin-bottom: 20px;">
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><strong style="color: blue;">TopGeek 干货制造者</strong></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><strong style="color: blue;"><strong style="color: blue;"><strong style="color: blue;"><strong style="color: blue;"><strong style="color: blue;"><strong style="color: blue;"><strong style="color: blue;"><strong style="color: blue;"><img src="http://mmbiz.qpic.cn/mmbiz/cZV2hRpuAPjEIibB1UYw1VMPzscNxReKZVxEh23qB9KgPqFq3uoyBy3M93PcFOunrvjkYVrtfvXMworbBuWAZ4A/640?tp=webp&wxfrom=5&wx_lazy=1&wx_co=1" style="width: 50%; margin-bottom: 20px;"></strong></strong></strong></strong></strong></strong></strong></strong></p><img src="http://mmbiz.qpic.cn/mmbiz_gif/hGeYs9Tr6IicRCMqLknZwfVzS8jia9qOKtLqO4b9mQyEYhRvCVdv7UGhGuOuvJmFibfskiaYQty4hJicjHVpciara0qw/0?wx_fmt=gif&tp=webp&wxfrom=5&wx_lazy=1" style="width: 50%; margin-bottom: 20px;">
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><strong style="color: blue;">敢不敢点开阅读原文啊?</strong></p>
你的见解独到,让我受益匪浅,期待更多交流。 论坛是一个舞台,让我们在这里尽情的释放自己。 我深受你的启发,你的话语是我前进的动力。 回顾过去一年,是艰难的一年;展望未来,是辉煌的一年。
页:
[1]