@程墨Morgan & M/ T, }" G: O* t+ B; o+ u+ g ~
其实作者也只是牢骚下而已.我还记得"大搜车"那回事儿.(大意)应聘着说: 我准备了一堆的vue,react的双向绑定,diff算法,虚拟dom还没说,结果刚做完一个排序算法就挂了. 这俩事件是不是很一致?就像吵架时对方不让你插嘴一样. {0 i% ^$ `) I v' H
. O& g: `- [" U" j }1 J好吧,其实我觉得你司做的不好.我认为面试不仅是对面试者能力的考核,更是一个双方的交流.即使前面回答的不好,也要有始有终,这也是对候选者的尊重.% O' U: H n) I% G$ c
6 e* H& y7 t( ]% q U" |
我记忆最深的两次面试,都发生在字节跳动(非利益相关).; u+ F( R* W& L: J* }/ A
第一次18年初,二面一个黄姓面试官,前后面了我1个半小时.但是很惭愧的是这一个半小时,基本都是他在问,我在说不知道,不清楚.偶尔能答上来一些皮毛,也会被他的追问打的七零八落.到现在一些面试的情景依然历历在目.其中看我简历写的性能优化,就问我知道treeshaking不?8 z; }! w0 A$ A0 ]
我: 知道.
' k/ a5 Y7 R" T4 x: h3 v) Y3 j6 j面试官: 其实我们遇见的更多的是引入一个对象,然后我们就用了其中的几个方法.这种情况要怎么去做treeshaking呢?) t9 ~% i$ [7 l0 V
我: (我其实不知道,没思路)...lodash里面有个webpakc插件,可以做到按需加载.& s5 G$ j+ I3 k$ v7 G5 `1 |
面试官: 其实lodash的按需加载是假的...(然后在电脑上翻出来lodash的源码跟我解释...)' S! U' p) m* B' Y
...
# o# ?& X/ @" a$ _3 D我: elementUI里面也做了按需加载.+ J: s; H2 h' m$ _& D- M9 r
面试官: elementUI的按需加载其实也是有缺点的,首先他不支持css的按需加载...(翻出来elementUI的源码跟我解释...)! s8 t% ~: X$ P& W
6 Y+ A1 ~% G9 T! I/ s
面完出来,我的脑子都是蒙的,心情很沉重.但是依然努力将他问的东西记下来,他帮我打开了前端新的天地./ Y h! l4 D5 b# ]
; [ {/ l1 A0 R4 g" L6 n" k" s
第二次在最近,18年底.还是二面,龚姓的面试官.他说预定的二面出去了,他是临时拉来的,所以没做面试计划,可能面试难度会有偏差,问我介意不?我说不介意,有交流就好.他看我es6用的比较多,就让我把自己用过的es6的新特性写一下.我列了十来项.然后他一项项的掰开来问.我大概说下变量声明的俩吧.7 v- G; t& P* D+ A
面试官: const我们可以声明一个常量,但是如果这个常量是一个对象的话,内部是可以被改变的.有什么办法能够让它真正成为一个常量?
1 M/ m- r" M/ r! ]我: 可以用Object.defineProperty来循环遍历对象,让它的可写属性为false.
/ W& \; V8 [+ p% r. T面试官: 还有吗?
! J+ G6 A" D% F9 n; g我: 可以用Object.freeze()来冻结对象.
- A! F8 V) `9 J x) s面试官: 还有吗?0 G2 d; O5 d9 M% v$ A1 M' b
我: 用proxy来代理对象,阻止修改.
' a5 o1 o/ Q/ R; P面试官: 还有吗?0 I6 C9 p* _# E: o5 \9 n) R
我: ...
H& V6 }1 o% K+ P4 K
1 D' ]# m! P- Y( U) i* W再来一道:
+ H- N6 o. [8 s z x问我,for循环用let声明,他的作用域是怎么样的?你给我画一下.(for (let i = 0; i < arr.length; i++) {})
- o- u, M& @' u4 t; H- u2 S8 N我: 就是块级作用域吧., p+ b0 _4 U# G& K u7 g4 j
面试官: 那它和{}里面的作用域是一个吗?
4 k3 `$ M/ s8 @6 f9 J我: 是吧
6 t$ @3 Y: H. X3 |面试官: 那我在{}里面还能声明let i = &#39;a&#39;吗?& d/ R! Q' a9 `# I) S
我: 可以的.(这时候明白了,真不是一个)! ~: s8 f: k/ ], ^/ ^
...
! `1 y5 T7 j2 J2 P- i8 \& w, n' t% R/ \& ?8 p3 l) ^ W
这次面试也是1个半小时.最后他说,我不问了,怕你生气.我说不生气,(其实真生气了,哈哈)你接着问吧.然后又问了几个.面试完,我问他的情况,他说他不是一直做前端的,前后大概有8年的时间了.
9 @" S. a: Y$ C你不见过优秀的人,就不知道如何优秀.我明白了8年后的自己应该是怎么样的了.( _: N5 ~7 L% q5 g; o6 b
+ j/ ], ?3 ?/ z# _" r7 {
当然,这两次是被高自己level很多的人面试,所以我的收获会更大.还有一家公司,一面互有启发,二面勉强支撑被吊打.可能利益相关,就不多说了.
4 `* H" {$ g2 O. z4 b& w
& a2 t* t6 I3 a2 J* I( c8 Q假如面试这么安排,我相信题主不会有怨言.可是人家刚出了对三,你就王炸,一把梭哈,这样真厚道吗... |