前几天在思否上答题,看到这个问题:
面试被问到:let不能在相同作用域重复声明的底层原理是什么?
简单总结一下:题主去参加面试,面试官问他 let
和 const
不能在同一作用域里重复声明的底层原理是什么。题主答不出来,面试官得意地教训他:“做一个合格的 JavaScript 开发者一定要掌握编程语言的基础原理。”
看得我狠从心头起,恶从胆边生。怒答道:
这个问题不好。
let、const 不能在相同作用域重复声明变量是规定,规范就是这么制定的,开发 JS 引擎的程序员就这么执行了。就像公司规定 9 点上班,员工 9 点之前就要到办公室打卡一样。没什么底层原理,我想怎么实现就怎么实现,想坐公交就坐公交、想开车就开车、想走路就走路。
也许某个实现方案会好一些,有些会差一些,但对于 JS 程序员而言,都是毫不相关的领域。如果想问,可以先问一下,候选人答不出来,面试官就应该把实现原理说出来,请候选人分析其中的道理。
这个面试官多半就是偶然看到篇讲解这方面知识的文章,奉为瑰宝,到处拿来卡人,跟孔乙己一样的。所以,没过是好事。题主收拾心情,再去面别家就是。
谁都年轻过,我当年也喜欢在工作中积攒一些很偏门的小知识小技巧,面试的时候拿来问别人,一旦候选人不知道,就沾沾自喜。随着后面知识渐广、经验渐丰,发现这种做法真的是愚蠢至极。开发领域的知识技能浩如烟海,谁都不敢说自己全知全能。关键问题在于,面对一个未知领域,一个没遇到过的问题,我们怎么能解决它,多快能解决它。
对应到面试,我们要确认的是:
- 候选人是否具备这个岗位的基本能力
- 候选人面对陌生问题时,能提出什么样可行有效的解决方案
如果面试官不理解这一点,做了蠢事还沾沾自喜,那么这个岗位的未来也岌岌可危,所以不去也罢。
我还在 V2 上看到这个帖子:
当招聘信息上的薪资与他的要求明显不符合时,通常如何提出自己的薪资要求
我猜楼主是个小朋友,一副天真烂漫的样子。看到一些企业的招聘启示,岗位要求和岗位薪资不太对的上,就想去面试,期望在面试的时候纠正对方,即拿到更多的 offer,还得到理想的薪资。
这里的核心问题在于,楼主假设所有公司都是靠谱的,他们只是一时糊涂,标错了薪资,而已。
企业招人,都有很明确的想法和定位。企业当然可能对市场、对招聘环境理解有误,导致落到招聘启事的纸面上,让行内人觉得奇怪。但这正说明这家企业有问题。他们或者对技术人员的价值理解有误、或者根本不清楚自己的需求应该怎么满足。这些问题都不是一场简单的面试能掰扯清楚的,更何况我们只是个陌生的候选人。
所以最简单也是最好的选择就是放弃这家公司。
简单总结一下,面试求职,是双向选择。不仅公司在我们几个候选人之间挑选,我们也要在几家候选公司之间挑选。要选择最靠谱、最有价值的公司,给自己的履历加分,让自己越走越好。
至于那些不靠谱的公司、不靠谱的团队、不靠谱的领导,早点认出来,跟他们说再见,别让他们耽误了自己的美好前程。
欢迎吐槽,共同进步