[吐槽] 最近的前端面试

2020-03-17 20:58:05 +08:00
 lococo

最近在面了些厂,几乎全部挂在偏门基础上,如下举例

  1. f.bind(context1).bind(context2)会如何
  2. obj1[obj2] = ''会如何
  3. let A = function () {return obj}; new A()会如何

···

这些题无一例外,全是抖机灵得考你对某个细节知识的掌控,例如 bind 的底层原理?类型转换? new 的原理?

我不否认这些原理和基础很重要,但试问

面试题难道不应该基于实际的业务场景?哪个最佳实践会让你这么写代码?

偏门的知识点永远不能体现任何问题,这些问题除了能在刷题的时候遇到,能解决什么实际问题?即使实际遇到了,难道不是 google 一下就可以解决的事情?

你问我什么问题不能 google 一下解决?那就是你不知道坑在哪你就找不到方向的问题,例如 eventloop,webpack 的打包原理,http/https/h2 的各种协议问题

所以这些面试题除了可以让那些刷过大量面试题的童鞋欣喜以外,反而会让我们这些善于处理实际问题,而对很多偏门细节知识点掌握不好的童鞋感到头疼

好了,不说了,我刷提去了

9191 次点击
所在节点    职场话题
94 条回复
nianyu
2020-03-18 09:16:35 +08:00
这些不是 js 基础,而是 js 套路题. 现在是个面试都要考你这些, 所以你要事先背题刷题
KuroNekoFan
2020-03-18 09:39:48 +08:00
如果对 js 有比较系统,跟上潮流的的学习是应该要回答出来的
minglanyu
2020-03-18 09:45:17 +08:00
对于刷题我个人是不主张的,实际项目中总结出的知识才是一直受用的。

写代码也好,找工作也好,我觉得都不是一时的,而是很长时间要做的一件事。
minglanyu
2020-03-18 09:57:41 +08:00
关于第二题有一些想说的:

“obj1[obj2] = ''会如何?

1. 实际工作中不会这么用。obj 一般会以 string 作为 key,也可以把 symbol 作为 key。
2. 如果真想让 object 作为 key,可以使用 es6 的 Map 类型。
3. localStorage 默认只能存储 string,localforage 支持存储 object,array,blob 等数据类型。
isleon
2020-03-18 10:00:54 +08:00
@q8164305 #12 "中国高考就是刷题上去的"? 敢问阁下什么学历?
isleon
2020-03-18 10:23:49 +08:00
我记得以前看过一个乐队的故事:一个出名乐队经常被邀请去演出,但是他们要求的合同里一个角落有这样一项“必须要在舞台后台配备跳跳糖,否则合约失效”。一次演出乐队,乐队的人发现没有跳跳糖,马上要求停止演出。其实这个条约的作用就是故意设的,如果那么无聊的小条款都 OK 了,那么说明演出主办方准备得很负责,普通的音响、伴舞等等方面问题也不大了。
所以面试那么偏是因为 [偏的你都会,那容易的你就肯定会了] 这种原因考查你的知识容量。
还有个原因,跟高考一样,像这种选拔性的考试, [简单的大家都会,偏一点的你也会你才脱颖而出] 。
这个是劳资市场的自然平衡,等他招不到人难度自然会下来,面试的人太多难度自然上来了。
royzxq
2020-03-18 10:29:15 +08:00
偷偷估摸两句,面试中没有答出来的点可能会影响最终的薪资和评级哦(
MoRun
2020-03-18 10:30:40 +08:00
@lococo
1、很多你不能预先知道你使用的函数是否有被 bind 过,多次 bind 这种场景我认为经验丰富的工程师多少遇见过
2、es6 有一种数据结构叫做 Map,那么为何在有 Object 这种 key-value 类型的数据之后还要单独引入一种数据结构呢,对于 Map 有了解的话,自然就能知道 Map 与 Object 的不同,这个题也就知道答案
3、不说了,这种用法很常见,而且你学构造函数的时候就没有对一个函数不需要 return 却能得到返回值有所好奇吗

这几个问题,基础扎实的工程师不需要刷题也能够回答上来,而且引申下去可以聊的点也不少
redford42
2020-03-18 10:39:15 +08:00
我觉得吧
面试就是面行话...
seki
2020-03-18 10:46:32 +08:00
这些知识作为加分点我觉得还好,如果只因为这些被刷就不合理了。

JS 和 Web 奇奇妙秒的地方太多了,全都涉及到是非常难的。我相信把面试者和面试官角色换位,一样能问出面试官不知道的知识点
Perry
2020-03-18 10:49:32 +08:00
楼主的观点没问题,确实能有更好的问题来筛选面试者。
learnshare
2020-03-18 10:51:38 +08:00
面试是为了剔除一部分人,最后选择一个更优的。问什么问题不那么重要
所以看开点,JS/CSS 甚至 HTML 里有很多细节,不熟悉、不了解,甚至没见过都很正常

多刷题或许能得到工作机会,但并不能证明“适合”这份工作

从术业有专攻的角度讲,我更推荐从求职者的工作和项目开始交流,写过的代码以及爬坑的经验才是真实的。背题得到的东西两个月就忘掉了
learnshare
2020-03-18 11:04:43 +08:00
举一个刁钻的例子

背景:
CSS 也算是 GUI 开发里应用最广泛的“语言”,讲到 GUI 就可以深入到计算机图形学,取 CSS 里最常见的颜色部分

问题:
两层元素 底层 (c1=rgb) 上层 (c2=rgba) 叠加之后,呈现为什么颜色?
nazhenhuiyi294
2020-03-18 11:30:53 +08:00
我感觉是,这样出题会变得更容易。业务上很难看出来水平,(如果面试官也是个垃圾的话)。
Arrowing
2020-03-18 11:49:08 +08:00
1、2 题还算正常。
1 方法绑定了上下文对象,不可再绑定第二次,可参考箭头函数。
2 考察 Object.toString()
3 就算二选一嘛,是返回 obj 还是返回 this 对象,蒙一个呗。
Yuicon
2020-03-18 12:14:24 +08:00
这种只能看看准备充分不充分 大部分人花几分钟看下就懂了
humor66
2020-03-18 12:24:23 +08:00
刷题对面试前有一定的帮助,或者说很大的帮助,但并不是只靠刷题,有前期基础,刷题才有用

推荐一个刷题工具: https://v2ex.com/t/644769#reply0
MorningStar0
2020-03-18 12:49:35 +08:00
我以为自从用了 ES6 和 TS 之后,用到这些的机会就少了面试也没人问,看来还是老套路啊
meteor957
2020-03-18 14:56:00 +08:00
没办法,作为应聘者你是乙方 满足甲方的需求即可,除非你来当这个甲方。跟供需也有关系,基础、学历、工作经验、技术广度 、年龄,当供大于求的时候 什么借口都有。裁员的时候同理。
musi
2020-03-18 15:09:43 +08:00
@guozhigq 谢谢大佬

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/653679

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX