‘壹’ 为何很多公司面试问底层原理 工作却拧螺丝
我个人认为这是很正常的一个情况,因为很多公司招聘员工其实从事的就是机械重复式的工作,但是为了筛选人才,所以说要问的很详细。
‘贰’ 如何面试前端工程师
随着时代的发展,很多新兴的就业职位随之产生。前端工程师将就是随着互联网的快速发展而产生的。其实在很多人的观念里,前端工程师也就是一个切页面的而已,他们也就是会html、css、javascript这些没有任何技术含量的网页制作而已。然而随着技术飞速发展,人们对这些技术的要求也是越来越高,如果只凭着一个人来把所有的事情都解决是很困难的,所以这个时候前端工程师就开始发挥着他们很大的作用了。
那我们应该如何来面试前端工程师呢?
谈吐要大方得体
在我们在面对面试官时我们千万不要紧张。在进行自我介绍时我们要努力做到自信大方、吐字清晰。我们在自我介绍时要用简明扼要的话语来介绍自己,突出自己的优点表明自己的求职意向。你要通过寥寥数语把自己的优势都向面试官介绍清楚。记住不必要的话语要少说。
好了关于如何面试前端工程师这个话题我就聊到这了。希望我的回答能对你有所帮助。
‘叁’ 如何看待面试问题回答不上来,面试官全程一副你不行的
面试前端,之前面试一家公司,环境和规模算是好的,本人还是蛮喜欢的。一面是hr跟人家聊得挺好的,然后她说等会让技术主管面我。
到了技术主管面试的时候,全程黑着脸。然后问了过往的工作...最后问了一个技术问题。我答不上来而且还打错了 。我永远忘不了他板着脸说 我刚刚提的问题你是没听清楚吗?
面试不到五分钟,最后,他开着门让我可以回去了。我问他要不要看作品他说不用了。
当时回来的路上心里简直是哔了狗了。当时想是没戏了。
回家后接到hr的电话说叫我下周一去入职,然而 最后我还是没有去...
。
‘肆’ 前端开发面试回答,你怎么回答
我面试过很多 前端程序员,非常了解面试者和面试官的心理,我可以很负责的告诉你:
就算面试你的人说你只能拿8K,但是你完全可以通过各种方法去拿到10K以上的薪资!
面试的时候面试官都是什么样的心理?
大多数公司的领导都会通过给你构造一个宏伟的蓝图以及对你进行技术打击,来让你降低标准,因为任何一家公司都希望花最少的钱请到最NB的技术人才,其实双方就是一个周旋的过程,看谁的情商更高一些,但往往都是面试者被面试官拿下的情况比较多。
我给面试经验不多的 前端程序员4个建议:
1、说工资时千万不要说自己的理想工资,在这个之上虚高一点!
假设你预期的薪资是10k,你很实在的说要10k,那么按照常理来说,你的工资标准是一定会被往下进行打压的。
你可以先说自己以前的工作的薪资在11K左右,现在换份工作想要13K的薪资,这个时候面试官就会想,这个人以前的工资是11k,现在给他10k他肯定是不会来的,但他还是会跟你进行压价,但是压价肯定都是在10k以上的,所以你和面试官谈判的时候,如果他认可你,那么你的薪资应该就会在10k-13k之间,无论最终是10k还是11k或者12k,我们的目标都已经达到了。你可以进行一番思考,最终同意对方的开价。
但是你不要跟轻易的答应,一定要拿捏一下,让对方觉得你也在考虑,最终你选择了他们公司,要表达出对他们公司的愿景,自己中意的是职业发展,喜欢的是公司氛围等等因素,这样对方才会认为你是看重公司的发展,而不是因为工资。关于这点我只能说,华夏民族的人和人交流的关系是世界最微妙的,这些套路大家心知肚明,但是你用和不用还真的是两种效果。
2、设置一个自己的心理价位
如果对方说的薪资低于这个心理价位,我们一定要果断拒绝,保持我们的原则性,不要因为对方说了而让你降低了自己的心理价位,这样也会让面试官觉得你非常的有原则,非常自信,人们都尊重这样的人,如果你一味的做舔狗,下场会非常悲惨。
根据我十年多的IT从业经验来看,即使是做同样的工作,也会存在着很多工资高低差距较多的情况,所以不要掉在一棵树上,现在社会工作机会这么多,只要有实实在在的技术,工作是很容易找的,一定要多去尝试。
3、凸显自己的价值,让对方觉得你是个人才
如果之前两点没有达到预期成效,但你又非常看好这家公司,就该尽力争取了;
用自己之前做成的事情说事情,最好是用数据给面试官说明,表达清楚自己为什么要这样的薪资,让对方感觉到你值这么多钱,如果对方公司现在比较缺人,而且你要的薪资没有特别离谱,还有有希望拿下的。
4、公司一般都有奖金福利可以弥补工资的欠缺
大多数人都想不到那么远,都是盯着眼前的薪资,但其实很多公司都有项目提成、奖金,这也是钱啊,有一些不错的公司都是14薪往上,所以在跟公司谈的时候,一定要去问他们是否有奖金、年终奖之类的福利。
除了被压榨薪资的问题,还有以下几点是必须要注意的!
1、项目作品
面试的时候,除了基础的知识技术外,一个项目经验是非常重要的,面试官会着重去问你的项目过程,所以准备好一份好的项目实战,不只是证明你对这次面试的重视,更是证明你有能力胜任这份工作的利器。
2、去背那些常问的面试题
面试题对于以下几个问题都会问:
·自我介绍(建议30s-60s)
·了解我们公司的基本情况吗?
·你上家公司离职的原因是什么?
·你自己的职业规划是什么?
·自我评价一下自己的优缺点?
以上问题都是大部分公司都会问到的,其实面试官只是想多了解你一些,而这些回答在网上有非常标准的答案,如果你觉得自己回答不好,你可以去网上找一些标准的答案背一下,还是非常有必要的,做到万无一失。
3、假设面试官没有跟你说薪资的问题,那么我们也不要主动去提及,这样会显得你非常的着急,最好是先拿到offer之后再去谈薪资,这样对于我们来说是非常有利的,经验之谈。
4、面试的时候不要对方问一句你就答一句,你一定要明白面试的本质是什么,在短时间内展示你的才华,方方面面的才能,给对方留下一个好的印象。
5、面试的过程中,是你展现的时候,所以80%的时间都应该你来主导,你来展示自己的才能,一定要非常着重的表现自己。
6、在回答面试官时,换位思考几秒钟:
·他为什么要问这个问题?
·他想知道什么答案?
·他想通过这个答案判断出什么?
所谓知己知彼才能百战不殆,你一定要换位思考对方问的问题,想要知道什么,从你的回答中他是否可以得到他想要的答案,所以面试是一门非常深的学问,人与人之间心理的博弈。
总结:
以上全部都是面试技巧方面,这属于细活,而真正掌握技术才是根本,如果你没有掌握良好的技术,技巧也帮助不了你找到一份工作,当你的技术达标,在加上好的面试技巧,就是如虎添翼,工作随便你选择。
常在这里回答问题,热爱技术,喜欢帮别人解答行业技术问题和行业知识。
如果大家对于学习前端有任何不懂的可以随时来问我,我给你提供一个非常不错的前端交流学习qun:前面是二九六,中间是二一二,后面是五六二。有问题就在里面问我,这样你可以少走很多弯路,做起来有效率,记得多跟有经验的人交流,别闭门造车。如果没有比较好的教程,也可以管我要。
‘伍’ 前端面试题目难吗 如何轻松面对前端面试
从以下五个方面做,可以轻松面对前端面试:
一、基本知识
DOM结构——两个节点之间可能存在哪些关系以及如何在节点之间任意移动。
DOM操作——怎样添加、移除、移动、复制、创建和查找节点。
事件——怎样使用事件以及IE和DOM事件模型之间存在哪些主要差别。
XMLHttpRequest——这是什么、怎样完整地执行一次GET请求、怎样检测错误。
严格模式与混杂模式——如何触发这两种模式,区分它们有何意义。
盒模型——外边距、内边距和边框之间的关系,IE8以下版本的浏览器中的盒模型有什么不同。
块级元素与行内元素——怎么用CSS控制它们、它们怎样影响周围的元素以及你觉得应该如何定义它们的样式。
浮动元素——怎么使用它们、它们有什么问题以及怎么解决这些问题。
HTML与XHTML——二者有什么区别,你觉得应该使用哪一个并说出理由。
JSON——它是什么、为什么应该使用它、到底该怎么使用它,说出实现细节来。
二、少量提问
现在有一个正显示着Yahoo!股票价格的页面。页面上有一个按钮,你可以单击它来刷新价格,但不会重新加载页面。请你描述一下实现这个功能的过程,假设服务器会负责准备好正确的股票价格数据。
这个问题牵扯到一组我想要考察的基本知识点:DOM结构、DOM操作、事件处理、XHR和JSON。如果我要求你对换一种处理股票价格的方式,或者 让你在页面中显示其他信息,就可以把更多的知识点包括进来。对于经验比较丰富应聘者,我也可以自如地扩展要考察的知识范围,最简单像JOSN与XML的区别、安全问题、容量问题等等。
我还希望应聘者给出的任何解决方案中都不要使用库。我想看到最原生态的代码,你就当页面中没有包含任何库。你说你对哪个库了解多少多少,但我不能把关于库的知识作为评判能力的因素,因为库是会随时间变化的。
三、解决问题
做为一名前端工程师,最值得高兴的事莫过于解决同一个问题会有很多种不同的方法,而你要做的就是找出最合适的方法来。我在提问的时候,经常会在应聘者解释完一种方法后问他们还有没有第二种方法。此时我会跟他们说,假设你的这个方法由于种种原因被否决了,那么你还能不能给出另一种方法。这样做可以达到 两个目的。
首先,可以测试出他们是否在毫无意义地复述书本中的东西。不能不承认,某些人确实有过目不忘的天赋,听他们在那里滔滔不绝地讲,你会觉得他们什么都明白。可是,只要一跟这些人谈到怎么查找方案无效的原因,以及能否拿出一个新方案来,他们往往就傻眼了。这时候,如果我听到“我不明白这个方案为什么不够 好”之类的反问,心里立刻就明白我的问题已经超出了他们的能力范围,而他们只是想拿自己死记硬背的结论来蒙混过关。
其次,可以测试出他们已经掌握的(还是那句话,“想都不用想”)浏览器技术知识。如果他们对浏览器平台的核心知识有较好的理解,想出解决同一问题的不同方案根本没有那么难。
注意:所有问题都与浏览器技术相关。我不相信出几道抽象的逻辑题,就能够考出某人解决Web技术问题的能力。在我看来,这无异于让素描大师画肖像,没有意义,也得不到任何有价值的信息。
四、有激情
要成为一名优秀的前端工程师,最重要的莫过于对自己做的事要有激情。我们技能都不是从学校中或者从研讨会上学来的,因此前端工程师必须具备自学能力。浏览器技术的变化可谓日新月异,所以也只有不断提升自己的技能才做得到与时俱进。我虽然不能强迫谁必须多看博客、不断学习,但想应聘前端工程师的人恐怕还是必须这么做的。
你怎么知道谁对这种工作有没有激情?实际上非常简单。我只问一个简单的问题:“目前你对什么Web技术最感兴趣?”这个问题永远不会过期,而且也几乎不可能出错……除非你答不上来。就眼下来说,我希望你对这个问题给出的技术中包括WebSocket、HTML、WebGL、客户端数据库,等等。只有 对Web开发充满激情的人,才会坚持不懈地学习新知识、掌握新技能;
五、最后一点
计算机科学或者Web设计方面的知识当然也有用,但那都是基本知识之外的东西。只要基本知识在那儿了,一切就都有了基础,想扩充知识面也不难。可是,如果等到正式上班以后,还得从头学习基本技能,那种难度是不可同日而语的。
‘陆’ 没有实际工作经验,前端面试问你数据接口问题如何回答
前端工程师没面试会问的问题如下:1.你会什么插件
2.有什么成熟的作品
3.工作经验
4.面试过后可能会个你留作业限定时间,在你提交作业后通过初步评审再进行复试。
5.复试话会问到你的设计思路、实现过程,操作中遇到什么问题,你是怎么解决的,最终结果与你的预期值是否有差异,通过作业你有什么收获等。
6.然后再根据项目中的不足有针对性地提问测试,考察面试者的实际经验和解决问题的能力。解决实际问题的能力最重要。作业设计得越接近实际工作需要,同月可能得到企业面试官的认可。
‘柒’ 前端怎么面试才能拿到高薪Offer
1. 要有比较好的计算机基础
这里的计算机基础指的是数据结构与算法,操作系统,编译原理,计算机网络等等。虽然相对于其他方向而言,前端在工作中用到计算机基础的地方可能少一点,但是无论大小厂,招实习生其实都是为正式招聘做储备,所以会比较希望招将来有更大发展空间的人,就像里 Web 前后端分离的意义大吗? - 知乎用户的回答 和 怎样成为全栈工程师(Full Stack Developer)? - 知乎用户的回答 描述的那种。
如果你具备比较好的计算机基础素养,那么以后在拓展到其他领域(WebGL —— 计算机图形学,Node.js 底层 —— 操作系统,JS 引擎和各种预编译工具—— 编译原理, etc.)的时候会更快上手。另外有一些公司对前端的概念不局限于 Web 前端,也包括移动端偏前端的部分,这里也需要你有比较好的计算机基础才能做好。前端领域有很多人已经不满足于造轮子,直接跑去造语言了,如果你编程基础够好,接触过各种形形色色的编程语言和范式,再上手这些东西也会方便些(比如Ruby/Python->CoffeeScript,Haskell->LiveScript)。
虽然也有很多地方为了招到足够多能来干活的前端会降低对计算机基础的要求,但是打好这方面的基础是没有坏处的,如果面试笔试被问到且答得上来,也是能够加分的。一些大厂经常会出现“不是前端的面试官来面前端”的情况,我个人是觉得如果这类面试官问的都是计算机基础问题的话,其实真的无可厚非,毕竟人家在面“一个前端程序员”之前,是在面“一个程序员”啊……
2. 要懂得现代前端的一些新技术
比如:
前端自动化工具(Gulp/Grunt等)
模块化(CommonJS,AMD/CMD模块加载器,各种Bundler,ES2015 Moles等)
前端 MV* 框架(Backbone,Angular等)
编译到 CSS 和 JS 的一些语言(Less/Sass/CoffeeScript等)
前端自动化测试工具(Karma,Mocha,Web Driver等)
其他
有一些同学觉得这些东西懂得越多越好,我个人是觉得这些工具不一定要都了解(毕竟它们很多也未必能火多久),但对这些东西要有大致的概念,并且每个领域的用过一两种(最好是在项目里),清楚它们的优缺点和必要程度。这是区分在前端上投入过一定精力的人和跨行来兼职前端的人的标志。
去大厂校招应聘前端的会有很多只是做过一些 Web 项目,但不一定对前端的技术很了解,只是看前端门槛比较低就去投简历的人。如果你对这些新技术比较了解的话,起码能够证明你是比较专注前端而且花过一定时间在上面的。
同时,前端现在确实是一个每天都有很多轮子冒出来的领域,也需要你有足够强的自学能力和(英文)文档阅读能力去跟上社区的这些新动态。接触过比较多的轮子,才会有自己的判断,不会老是人云亦云火一个学一个。这些工具里,确实也有很多在合适的场景下可以提高前端的生产力或者代码质量,对这些东西有一定关注,也表明你对自己的生产力和代码质量是有一定关注的,这其实是一个更广义的靠谱程序员的特性。
3. 懂得什么是 Web 标准和浏览器开发维护的流程,并且会跟进新发布的标准和主流浏览器新实现的特性
当然面试的时候一般不会直接问你这方面的问题,但是如果你懂这里面的水大概是怎么一回事的话,在很多问题上(特别是兼容性问题上)都能回答得比较深刻一些。最好清楚:
HTML、CSS、DOM,ECMAScript 和一些泛 HTML5 的标准是怎么制定的
W3C 和 WHATWG 的区别
各种标准的不同版本和提交状态是怎么回事
知道标准和实现的差距(有些人喜欢把 W3C 标准奉为圭臬,但现实中浏览器们并不是这样的)
知道 ECMAScript 和 JavaScript 的区别
知道浏览器的一些常见做法(比如给 CSS 特性加前缀)的缘由
标准和浏览器这滩水还是很浑的,涉及到很多利益纠葛和大厂的博弈,如果你大概清楚他们的一些事情,不光自己做前端兼容的时候会容易一些(不会只抱怨“为啥XXX就是不能OOO”而是懂得他们的无奈并且认真寻找解决方案),在新特性出来的时候也更容易消化(不是“啊又出了个新东西要学好烦啊”而是“在邮件列表上争(si)论(bi)了那么久他们终于把这个搞出来了”),你自己对前端比较基础的那部分的知识体系更会有条理得多。个人觉得这也是区分比较有经验的前端和临时跨行的前端的关键之一,这些东西是需要你经过一段时间的耳濡目染才能理清楚,而且会在一定程度上影响你的工作的。
4. 多看书,多关注技术资讯
技术资讯的来源包括RSS、邮件订阅、比较重要的邮件列表、或者follow Twitter和微博上一些比较有影响力的开发者。个人经验是,一般在二面或者三面的时候,面试官都会问类似“你从哪里接触前端的新技术/你看过哪些书”的问题,因为前端现在技术更新很快,比较专注于前端这方面的人一般都会有自己接触新技术的渠道,他们自然也会比较关心候选人是不是有在跟进社区的一些动向。其实这也能够排除那些不太靠谱的临门跨行的人,因为他们平时一般不会特意去关注前端技术的新动态的。
5. 不仅懂得一些东西怎么写,更要懂得一些东西不要怎么写
Web 标准大多不是严格向后兼容的,很多几年前常用的写法,现在已经被社区的大多数人强烈建议避开了,有很多特性也随着时间的流逝被打上了 deprecated 的标签,如果你不幸拿着一本比较老的书入门,又不在网上验证上面说的每一句话,那么很有可能你就这样被误导很久,比如 HTML可能会逐步被XML所取代吗?(来自《css权威指南》) - 贺师俊的回答 这样的情况……与之类似的还有:
JavaScript 里那数量令人叹为观止的坑
一些在经验比较丰富的前端看来属于常识的东西(比如:为什么 CSS 大多放在 head,JavaScript 多放在 body 底端?)
划分各种模块、文件,添加模板的正确方式(比如错误方式是一堆脚本/样式写在一个超大文件里,或者在有替代方式的情况下在 JavaScript 里拼字符串)
解决一些老问题的新的best/better practice(比如不要到了 2015 年还深陷在回调地狱,去看看 promise 和 generator)
……
这些知识都需要你有一定的前端方面的经验,看过比较多相关的博客和书,才能慢慢积累起来,所以也能区分靠谱的前端和不靠谱的前端。
6. 不依赖某一个特定的框架或者库
比如很常见的“离开了jQuery就不会写前端”星人……也不是说要做原生 JavaScript/CSS 和 DOM 的原教旨主义者,但高度依赖某个框架或者某个库的话,通常意味着换了一个框架/库你的学习成本会比不依赖特定轮子的人高,因为这通常是处于还不知道前端领域“什么是什么”的阶段的表现。
事实上前端领域的这些轮子有一些都是其他领域早就有,或者根本不需要的东西,其中很多的实现原理也不是那么复杂,只不过是脏活累活。个人觉得对这些东西应该报以“不能知其然而不知其所以然”的态度,起码大概清楚它们的实现是怎样的套路,知道它们的优缺点,多接触几种,这样在换一个替代品的时候很快就能上手。
因为前端的特殊性,在开发比较大的项目的时候使用库和框架是必须的(比如遇到各种鼠标事件的前端兼容问题时,总不能全都就地写 if-else 吧,总得封装一下。遇到非常 data-driven 的项目,还用手动操作 DOM 的写法很难维护吧,用个 MV* 框架真的不纯是偷懒了),但是这些东西都是会迅速改朝换代的,死守着某个特定的库或者框架,确实不太靠谱。很多公司喜欢问候选人“原生 API 写个 Ajax 请求怎么写”这类问题,感觉很大程度上也是在排除这类人……
7. 懂一点点设计
这里说的不是切图啊PS啊AI啊什么的,而是大概懂基础的视觉传达/色彩构成/平面构成的知识。毕竟前端是和设计师联系最密切的程序员,虽然前端要做的事不仅仅包括 UI/UX,但是 UI/UX 却都主要依赖前端来实现。很多时候,设计师(特别是不会前端技术的设计师)给出的设计可能很难(在照顾兼容性的前提下)实现,这个时候不应该跟他硬拼让他改设计,或者自己默默纠结怎么用很 hack 很难维护的方法去实现,而是理解设计的意图,并且跟设计师沟通,尽可能在工程上容易实现容易维护的前提下实现设计的意图,哪怕要修改一些具体的表现形态。
最恐怖的就是丢一张图过来,让你做到 pixel perfect,你也不问三七二十一直接开工,代码写得别扭也不去沟通,遇到不兼容就打个哈哈蒙混过关了……设计的目标是让大众都能更容易地使用,这样做是与设计师存在的意义背道而驰的,我也遇到过一些设计师会主动来问前端怎样的设计在浏览器里容易实现,怎样的设计比较别扭,这样他才能结合多方面的信息去做设计上的决定。如果你对设计不关心,不与他交流的话,实际上相当于剥夺了一些关心工程实现的设计师的知情权(一般正常的设计师看到自己的设计实现出来效果不好,也会小郁闷的……)。个人觉得与设计师沟通的技巧,也是一个靠谱的前端应该具备的素养。
8. 懂一点点后端
(这个是我看了一下别人的答案补加的)。其实这个和第一点的目的类似,最重要的是别要做一个非得等队友来才能开工的人。大厂(主要是阿里系)有不少在用 Node 做前后端分离一类的事,另外做前端的经常要在后端还没写完的时候自己去 mock 一下数据接口,如果你懂怎么搭建简单的服务器和 serve 数据给前端,那么就可以提高开发的效率。即使你只想专注前端,但前端有很多东西(比如 JS 跨域,WebSocket,SSE,WebGL 的素材获取)都需要你懂得架设简单的后端才能去实践,这时候不懂后端通常就意味着你要放弃学习这些知识,或者只能纸上谈兵。一个正常的前端肯定是要对计算机网络和 HTTP 等协议有一定了解的,有了这些知识去学简单的后端其实是很水到渠成的事情。
9. 在前端投入足够的时间
意识到以上几点还需要投入足够多的时间才能看到成果,不然很容易出现“道理我都懂,可是OOO”的情况,那最后也还是靠谱不了的……如果不是真的对前端感兴趣并且投入足够多的时间,与其为了“好找工作”而投前端,不如转一个更合适的方向。阿里前端的困局与突围 · Issue #141 · lifesinger/lifesinger.github.com · GitHub 和 图灵社区 : 阅读 : 企业软件领域前端开发的困境 都能说明这个问题。
另外有些面试官喜欢问你一些很细节的 API (虽然我个人觉得这类问题很囧),这些东西很多时候都是靠的“无他,但手熟尔”,虽然有一些确实有点刁难人的味道,但有一些真的是如果你经常写前端,重复多几次就会记住的,如果记不住,只能说明你前端写的不够多。还有一些没足够实战经验的人很少遇到过的问题(比如 JS 跨域),也是需要在前端投入足够多的时间,才会接触到(无论是纸上谈兵,还是项目里遇到)。
其实综上所述,不靠谱的前端大概表现就是:计算机基础不好(更糟糕的是编程基础都不行,不过编程基础和计算机基础好不好跟绩点高不高专业对不对口这些其实真的不一定有什么关系……),对前端的认识还停留在十年前,对社区出现的新工具完全不认识(没认识全很正常,但完全不了解就有点两耳不闻窗外事一心只读圣贤书的味道了……),不懂 Web 标准是怎么回事或者不在意标准,遇到兼容问题就复制粘贴搜到的代码,对于一些在社区里是常识的坑毫无意识地各种踩,“离开了jQuery/某库/某框架就不会写前端”星人,或者平时根本没怎么做过前端的东西,只是做做 Web 项目顺带写前端,到应聘了临门一脚跑过来……不管是平时学习还是笔试面试,尽量避免向这些特征靠拢就可以了。事实上大厂们招人不一定会要求这么严格,而且大厂里的团队本身也未必个个靠谱,但是平时有在这些方面努力的话,起码如果挂了会知道自己哪里不足,或者到底是他的问题还是你的问题……
以上大概就是我觉得拿到大厂(or前端比较靠谱的中小厂)前端offer需要的水平,其实我感觉没必要拿“实习”这个词来限定自己,尽量往高水平靠拢,才能做到是你来选公司,而不是公司来选你,这样你才能结合兴趣/家庭/个人规划之类的因素拿到最适合自己的 offer。另外,我觉得面试这回事是这样的,上面提到的这些特征,每一条单独拿出来,在不确定面试官的情况下,既不是拿到offer的充分条件,也不是拿到offer的必要条件,某一条不满足,也不是拿不到offer的充分或必要条件。大厂的面试官有很多种,有些设计出身喜欢问设计,有些后端出身喜欢问偏后端的东西,有些喜欢问你API细节,有些喜欢问你实现思路,有些喜欢看你学习能力,有些面试官本来就不是前端所以喜欢问你基础题。如果你侧重某一些方面,虽然无可厚非,但是运气不好遇上期望不同的面试官,可能你就会得到比较低的评价或者挂掉。确定能拿 offer 的唯一途径,就是面面俱到,这当然是不可能的要求,但大厂的种种因素配合起来往往就是在找这种不存在的人才,真的想拿 offer 的话,就只有硬着头皮尽量靠拢。
就像国内很多大厂里比较着名的前端们文章/博客/知乎里提到过的一样,前端这块水不是很深,但水非常非常宽,在考虑将来作为一个前端如何发展如何应对天花板之前,先要脚踏实地把这些属于前端的“本分”的东西搞好。事实上前面提到的这些东西我也没有全都做到。作为前端,个人觉得最重要的是要保持一颗开放、谦卑的心,不要抵触新东西,永远记得外面的世界还有很多东西自己不懂,要继续学习。
‘捌’ 前端面试一问三不知怎么办
前端面试一问三不知的时候,千万别慌乱,可以先停一停和面试官说这个问题你需要思考一下再回答,或者说你因为太紧张之类的一时想不起来答案。
有些面试官会直接电话过去要求面试,由于面试者(尤其是学生)处于弱势方,可能并不会拒绝面试要求,但并不意味着面试者处于最佳的物理和精神状态下,有可能会导致面试者不能很好的发挥自己原有的实力。所以如果面试官突然打电话过来。
没有准备好的话,不要怕冒犯面试官,一定要另外约个时间,面试官肯定会再打过来的。遭到否定面试官有可能会否定你描述的一些东西,有可能是你字眼写的太过,比如将“熟悉”的东西写成了“精通”,勾起了面试官的“好奇”。
有可能故意试压,考验你的反应,但遇到否定的时候,不要急于反驳或者是手足无措,而是询问自省和主动讨论。气场不和有的面试官性格严谨沉闷,而面试者可能思维活跃,整个面试过程可能会变成面试官不停的打断面试者让其思维聚焦。
而面试者感到思维不停被打断,很是气恼,影响发挥。这种情况不可避免,但遇到这样的面试官,请保持谦和的态度,重点是展示自己技术的广度、深度,气场不和并不会产生决定性的影响,面试官也不会因为这样的原因而给与错误的评判。
尽量留下好的印象。结束通知有的面试官会在面试结束后说:“我的问题问完了,如果有进一步消息的话,我们会再联系你”。面试的大部分结果,其实当场就出来了,如果你感觉给出结果的时间点不够明确,可以反问他:“如果三天内没有联系,是不是就代表没有通过?”省得让你怀有不确切的希望。
最后,还可以挽留下面试官,讲讲这场面试中你的一些疑惑,获得面试官的反馈,也可以知道自己目前哪一方面做得不足。面试中面对不会的问题面试中遇到问题不会回答,这是非常正常的,毕竟大家在学习过程中遇到的问题,跟我们在工作中遇到的问题是非常不一样的。
除此之外,我们看问题的角度,也是有差别很大的。举个例子,很多人都在看ReactFiber,但是如果问你们,为什么要有Fiber这个东西,可能很多人都回答不上来,因为大家只在社区里面看到说,Fiber是怎么工作的啊。
但是为什么要有Fiber?如果没有会怎样,而这种思考,其实是非常底层的。我相信,很多人可能都没有思考过。那如果遇到的问题不会,你可以先选择不会,说我觉得自己没有信心能答出这个问题,当然我更希望听到你说。
我现在不会,但是你给我两分钟思考一下,我想一下这个问题有没有答案?我觉得这是一个很好的思考习惯,首先你在面对不会的东西是坦然的,我当下不会,很正常,我之前没有思考过这个问题嘛,那我们再花两分钟思考一下。
给一个初步的答案。所以说遇到问题,也不用不会就不会,也可以有一个积极的方式回应。从面试官的角度来说,面试中考察的题目,并不是仅仅考察这道题目本身,题目的对错并不跟最终结果直接挂钩。面试官更希望以题目为契机。
考察面试者分析问题,解决问题的能力,以及交流过程中所体现的逻辑推理和思维方式等。跟面试官聊业务业务跟项目是完全不一样的东西,业务认知和思考也是很重要的一个考察点,这方面面试官可能会问两个点:业务场景和技术突破。
业务场景:面试官会询问面试者他们的产品、业务模式、商业模式等,了解下面试者对于产品的诞生、定位、发展的认知。技术突破:技术与业务相结合这点在阿里也是一直在说但鲜有人做的非常好的地方,所以有的时候也会考察面试者。
看看他们所做的技术是如何从业务出发、给业务带来了哪些改变以及如何去评估两者之间产生的结果。面试结束反向互动面试官在挂断之前,基本会给与候选人反问的机会,一般会表述为“你有什么要问我的吗”?无论面试的怎样。
都希望你能说出心中的疑惑,比如面试中的某个题目、整体的评价反馈、你的建议或者了解所负责的业务,所在的团队等等,而从面试官的角度来看,如果候选人愿意反问你问题,至少能证明他是个好学的人。所以不要放弃这个互动的机会。
面试反馈每场面试结束后,面试官都会在系统里留下面试反馈,如果面试失败,简历会放在人才库里,很多人会在其中捞取简历,以后的面试官也可以看到之前所有的面试记录,之所以讲到这一点,是希望大家在面试中能够保持谦和积极的心态。
认真面对每一场面试,即使这场面试没有成功,但如果展示了好的品质,也会增加被发掘的机会,为你以后面试成功铺路。保持联络如果跟面试官聊的比较好,可以请求加个微信之类的,面试是一个长期的事情,哪怕此次面试没有通过。
以后还可能面试进来的,与面试官保持联络。前端面试题笔记面试会了,面试题也不能落下,这套面试笔记除了有CSS、JS、Vue、React、性能优化、服务器端口、设计模式、数据结构和算法面试题外,加了手写代码面试题。
这下面试官让我们写代码也不怕啦!CSS问题flex布局css3的新特性img中alt和title的区别用纯CSS创建一个三角形如何理解CSS的盒子模型?如何让一个div水平居中如何让一个div水平垂直居中如何清除浮动。
‘玖’ 前端面试被问到,vue实现数据双向绑定,原理是啥
其原理大致是这样:
在数据渲染时使用prop渲染数据
将prop绑定到子组件自身的数据上,修改数据时修改自身数据来替代prop
watch子组件自身数据的改变,触发事件通知父组件更改绑定到prop的数据
这样做的好处是:父组件数据改变时,不会修改存储prop的子组件数据,只是以子组件数据为媒介,完成对prop的双向修改。