Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

精读《最佳前端面试题》及前端面试官技巧 #27

Closed
ascoders opened this issue Jul 30, 2017 · 7 comments
Closed

精读《最佳前端面试题》及前端面试官技巧 #27

ascoders opened this issue Jul 30, 2017 · 7 comments

Comments

@ascoders
Copy link
Owner

ascoders commented Jul 30, 2017

又到了招聘季节,前端招人真的是越来越难了,识别出优秀的人才更难,各位面试官们舍不舍得放出自己的面试技巧?

可以谈谈自身经验,也可以参考精读文章:The-Best-Frontend-JavaScript-Interview-Questions

@ascoders
Copy link
Owner Author

先说一句,似乎最好的面试技巧,是从一个最普通的问题出发,逐渐发散,既能考察广度,也能随时增加深度,同时还可以根据现场情况选择不同深入分叉,同时前期降低对方心理压力!

@jasonslyvia
Copy link
Contributor

反正我自己打死都不会问「从浏览器中输入域名按下回车到页面渲染完成过程中都发生了什么事」这种问题了,上次不小心嘴贱问了一个候选人,结果就听他滔滔不绝背了10多分钟,我连嘴都插不进去……

@camsong
Copy link
Contributor

camsong commented Aug 4, 2017

做为一个面试官想在短短半小时来了解候选人的能力,还是需要一些方法,以免被套路。做为候选人如果太关注这些套路反而会让把自己带偏。

当问一个复杂的问题的时候,如果候选人瞬间把答案完美流畅表达出来,我第一感觉不是他技术好,而是这个问题白问了,时间也浪费,这时候我会立即打住问下一个问题。我希望看到的是候选人的思考过程和基于此来表达出的技术能力和项目经验

总体来说,面试的时候我会考查的有4个方面:专业技术、项目经验、发展潜力和工作态度
随着工作经验的不同,会有不同的侧重。如应届生会看重发展潜力和计算机专业基础知识。工作经验丰富者会看重项目经验和工作态度。对于一个经验丰富者来说态度已经定型很难转变,项目经验是最容易转化为生产力的。一般面试过程中我时间分配是专业技术和项目经验占 2/3,算法占 1/3。

回到前端这个领域,有一个最大的不同是变化太快。面试题也要经常更新。所以我不喜欢问一些识记内容,如果问的话也是为了考察知识面和项目经验。如对于工作3-5年经验的人来说很喜欢被问到“JS 继承有几种方式?”,“如果实现多栏等高布局” 这类问题,我经常见到有人能熟悉背出红宝书中的5种继承模式。但是 so what?对于一个入行1-2年的人来说他只知道 ES6 的标准继承方式,Flex 实现多栏等高布局易如反掌。也就是说那些前端老兵以前最关心的黑科技随着Web标准的进化就会慢慢过时,真正需要培养的是自己的编程思想和架构的能力。

另外 1/3 的时候我会问一些算法和数据结构的问题。这里还有过误会,被反问到“平时写代码不需要啥算法,问这个有啥用”。算法可以说是考察解决问题抽象能力最好的方法,美国的 FLAG 公司无论什么技术职位算法都是必考的。Homebrew 作者在google面试中因解不出二叉树翻转而被拒。如果是我也不会给过,很多少甚至因此开始怀疑 Homebrew 的代码质量。如果是我也不会给他过,对于一个专业的程序员来说,如果你不懂算法,要么是你半路出家,要么是你没有解决过足够复杂的问题。

最后一点当面试中不知道答案也没关系,诚恳的说出来,并且说出自己的解题思路,只要回答的有亮点,不会因些减分。

总之不要玩虚的,刷题要节制,内功修炼好了,自然没问题。

@ascoders
Copy link
Owner Author

ascoders commented Aug 5, 2017

亘古不变的问题就是考察基本功了,然而基本功随着技术的演进会有所调整,Html Css Js 这三个维度永远是不变的,但旧的 api 是否考察,取决于是否有最新 api 代替了它,如果有,在浏览器兼容性达标的基础上,可以只考察替代的 api,当然了解历史会更好。

比如 proxydefineProperty 需要结合考察,因为 proxy 不兼容任何 IE 浏览器,候选人需要全面了解这两种用法。

变的地方在于对当前流行框架掌握程度、能否总结出比如当前流行的 Vue React Angular 这三个框架核心实现思想的异同,对比 Mobx 与 Redux 的异同。可能早一点就会问 flux、backbone、jquery 这些框架,但从工程角度来看,问过时框架的 api 更像在考察候选人的记忆力和资历,这两个在前端都不重要。

即使要问 jquery 的问题,也会问与设计思想相关的问题,比如候选人不知道 $.delegate,也不知道其已被 $on 在 Jq3.0 取代,这不代表候选人能力不行,最多说明候选人比较年轻。此时应该通过引导的方式,让其思考如何优化 $.bind 方法的性能,通过逐步引导,判断候选人的思维活跃度有多强。

@ascoders ascoders closed this as completed Aug 5, 2017
@ascoders ascoders mentioned this issue Aug 5, 2017
65 tasks
@zyg-github
Copy link

菜鸟落荒而逃~

@teapot-yu
Copy link

我发现最近好多面试基本上都是只看最后的笔试题,拿回去一商量,大家一看笔试题做的不好就觉得基础不行,这就很尴尬了,我觉得笔试题很大部分都是只靠记忆的。。。

@think2011
Copy link
Contributor

最近也在找工作,面了几家,大厂大概是因为学历,即使内推也没能拿到面试机会,有一家倒是去面了,也面了很久,但最后说岗位不匹配.. Orz
创业公司是挺轻松的,基本上做题目,聊一聊对前端普遍的了解,就已经差不多了。

自己的总结是:大厂面试正如上面说的会更关注发展和匹配度、也会越问越细,创业公司目前遇到的似乎都是觉得能做事就算通过了,难度并不大。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants