#1 - 2022-4-1 03:02
心斩心 (我既优雅又充满良心)
陆陆续续面了快接近20场了吧,这几个问题只有区区数人答出来。所以想放到这里让大家看看,是我问得太偏门了吗。
1. css中position属性有哪些值;position属性的默认值是什么
2. 讲讲javascript的closure(闭包), 另外现场实现一个throttle(节流)和debounce(防抖)
3. 平铺多维数组
组里的其他前端小伙伴觉得这些问题怎么样?
#2 - 2022-4-1 03:20
(大変に気分がいい)
1. sticky相对偏门很多人会选择用js去实现,static就算不知道问题也不大,不过这是很基础的知识点了。怎么说呢,答不上来的人不一定不会写CSS,但是我会觉得对面试准备不足,突出一个态度问题,很可能觉得CSS不过尔尔吧(bgm51)

2.1 closure对大部分人来说是一个很难说清楚的东西,我见过不少讲不清楚的一线开发,不过对闭包的适用还多人还是潜移默化地会用吧。概念答不上来我觉得不能说明不会写代码,与其考概念不如出几道闭包的编程题实在,但还是会觉得态度有问题,毕竟closure几乎是必考题了,但凡花点时间复习,花点时间看面经,也不至于答不上来(bgm98)

2.2 节流防抖写不出来说明实打实地经验不足,社招写不出来就太难看了,校招写得出来我觉得是个加分项,说明有一定的项目经验和探索精神,不会只满足于调用API(bgm72)

3. 也是经典面试题,就算手写写不出来,再怎么样也得知道有原生API可以用吧,平铺的需求在数组处理中也不少见了。而且这题方法有很多,一种都答不出来有点说不过去了。而且这题在面经里出现也很频繁的说(bgm35)
#3 - 2022-4-1 04:02
([s]安静点格子[/s] ☄️⚓ ☁️⭐️)
1. 基础中的基础了,写过css应该都知道这个,但可能答不全吧,平常都是直接选一下就完事了

2. 不知道闭包 防抖 节流这几个概念只是什么,查了下,感觉不如给场景写题目,应该能写出来的更多。有的人可能纯不知道你这个名字指的是啥

3. 不知道这名字到底是什么题,搜了下,写个递归判断下元素类型应该很简单

非前端岗,
js的难题不是应该在promise 原型 原形链这些吗 其他的我都记不起来了(bgm38)
#3-1 - 2022-4-1 14:37
神戸小鳥
确实,我所有名字都不知道是什么(bgm38)
#3-2 - 2022-4-1 15:05
心斩心
你说的第二点倒还好,所有面试者都知道,并且能说出节流防抖的应用场景,只是实现比较困难
#4 - 2022-4-1 04:04
(There’s magic here tonight.)
我始终觉得面试问Implementation Detail实在是很无聊的行为。

对于一个合格的程序员学习这些概念/写法最多是网上搜几小时的事情,如果因为这一点点知识上的缺陷把可塑之才拒之门外好像稍微可惜了一点。我更倾向于考察对象的学习能力,比如丢给对象一个他没接触过的东西,观察对方怎么在半小时内上手。如果对方学习能力没问题的话,之后的业务细节都是可以学的。相反的,很容易遇到一些对技术细节对答如流的人,面向复杂的业务和全新的领域束手无策。

当然,各种Domain Knowledge也是程序员的价值所在,如果企业的需求是找到迅速上手业务的员工的话考察这些细节也无可厚非。

(我还是学生党,在单位兼职做一些底层软硬件方面的工作,偶尔被摇去面人,可能不能反映一般社畜状态)
#4-1 - 2022-4-1 04:14
dhzy
来一道题示范一下(bgm37)
#4-2 - 2022-4-1 18:36
FlyGoat
dhzy 说: 来一道题示范一下
比如给对象一个Verilog模块,要求他半小时内写出一组UVM testbench。面试对象是FPGA出生,对verification methodology本身是没有认识的。同时给的这个模块里面也涉及一些业务知识需要理解。这时候只要观察他一方面如何快速上手UVM,另一方面如何理解手上的业务知识,就可以做一个判断。具体写出来了没有不重要。
#4-3 - 2022-4-1 23:48
dhzy
FlyGoat 说: 比如给对象一个Verilog模块,要求他半小时内写出一组UVM testbench。面试对象是FPGA出生,对verification methodology本身是没有认识的。同时给的这个模块里面也涉...
我太弱了(bgm38)
#5 - 2022-4-1 05:53
(✨️make bangumi great again✨️)
正常前端不是为了面试谁会去死记硬背甚至手写这些实际代码,当然一面问这些无可厚非,也是应该负责任地死记住的。
个人感觉归根到底还是双方成本的问题,应聘者不愿意背八股文,企业想用最低的成本去区分水货。
拿我自己来说,我敢说能完成甚至超预期做好绝大部分需求,但是可能我过不了你的一面(bgm40),至少我撇开环境不会手写你的这些函数,同时相对的我也招过很多面试应答如流的,但是就是水货。
#6 - 2022-4-1 10:25
position 很基础了吧,现在能记得的是 static, absolute, relative 。可能是因为现在没人写 css 了,都用框架。我会问如何实现一个左栏固定宽度、右边正文区域随浏览器缩放的两列式布局。
closure 应该也很基础,不过我觉得不必纠结于定义,还是要看在具体的例子中怎么用
节流、防抖:没用过。用过的跟这个最接近的可能是 requestAnimationFrame ,防止用户鼠标移动事件触发频率过高之类的。还有就是防止表单重复提交之类的。
平铺多维数组:深度可以任意层嵌套吗?如果是的话那就是考察递归吧。就面试题而言感觉没啥问题,不过感觉实际中用的不多。我会问如何将 url 的 query string 解析成 key-value pair

P.S. 前前端开发,现后端开发
#7 - 2022-4-1 10:29
(プリズムの煌きよ!)
mark
#8 - 2022-4-1 10:36
(说得很好,那么你的女朋友呢?)
又学到了新东西(bgm38)
#9 - 2022-4-1 11:31
(我既优雅又充满良心)
谢谢楼里的各位认真的反馈,空气中都是思维碰撞的火花啊(噼啪噼啪)
我也讲讲我为啥问这些题吧。
第一道position我觉得是很基础但也很经典的问题,因为css的所有布局可以说都是建立在document-flow上的,而直接影响documentflow的因素就是position属性。这个问题向下挖掘,可以引出更细节的问题,例如absolute是元素是根据什么定位(positioned relative to its closest positioned ancestor),这里很多人就会误认为是relative的父元素;哪些定位方式会脱离document-flow,根据document-flow又可以引出浏览器的渲染原理,以及哪些js操作是会引起浏览器reflow的高消耗操作。
第二题,因为闭包这个概念,我认为算是新人学习js的第一道坎吧。闭包涉及到作用域、垃圾回收、lexical-content。并且,闭包是无关bom dom,纯粹且抽象的ecmascript知识点,对js使用者来说是一个挺值得了解的东西。防抖和节流,所有面试者都知道,但是写出来的人不多,能把自定义函数作为参数写出来的更少了(印象中只有一个之前京东的,现在已经入职辣)
#10 - 2022-4-1 13:53
(。´-д-)
有没有面试者表示自己记不住或不愿记,但是他百度后能解释清楚的?
#11 - 2022-4-1 14:05
建议问如何实现水平垂直居中,Dan Abramov 直呼内行(bgm38)
#12 - 2022-4-1 14:11
(有用的不会,会的都没用)
1的话,我认为算是基础吧
2的话,写个伪代码或者讲讲思路是可以的,手写即运行估计不太行
3的话,感觉用到的场合还是太少了,就算强记,但不用的话还是早晚会忘记,或许真如ls所说这只能算个愿不愿背这些的问题吧
#13 - 2022-4-1 14:20
(小圣杯邀请码: whyjxz14#576501)
虽然我不是很懂前端。但1肯定不是好问题。
笔试可以讲清楚的东西为什么要面试问呢。肯定是相近内容辨析比较好。
#14 - 2022-4-1 21:52
1. 这个应该要会的, 毕竟还是很常用
2. 闭包我在面试的时候就有题, 不过是写的代码, 能不能讲清楚就难说, 至于节流和防抖我就只懂概念了, 平时也就弄个连点锁, 输入框都是关闭/失焦回调的, 没考虑过节流.
3. 平铺多维数组, 这个我直接map+解构赋值(bgm38), 不懂考点是什么
#15 - 2022-4-2 04:44
(この星の無数の塵のひとつだと,今の僕には理解できな ...)
只能说前端虽然上手门槛低,但里面学问也不少
#16 - 2022-4-4 01:39
((((;゚Д゚)))))))
看想招人来干什么吧, 只是套框架+crud的话估计这些都答不上也能完成工作...
#17 - 2022-4-4 01:59
(飞得高,飞得低,学习再学习,多少大秘密 ... ... ... ... . ...)
(bgm38) 我今年刚当上一面面试官,基本只会对着简历问,也不太刁难人。通常就是对着简历问对方怎么做的,然后聊聊 OS 基础之类的...现在感觉大家八股文都很好,所以其实好像基本都没啥问题...
反过来说你们真的会因为一个这种问题没答上来把聊得比较好的对方挂掉吗,我很好奇
#17-1 - 2022-4-4 03:39
心斩心
不会,我比较喜欢那种能“滔滔不绝”把某个知识点延展下去的面试者,你得有自己拿的出手的部分,而不是什么知识都是一知半解。这些题目是加分项。其实面试背八股文一张口就能听出来,背东西和自己理解然后阐述出来,语气差别都会很大。
#17-2 - 2022-4-4 15:28
mwish
心斩心 说: 不会,我比较喜欢那种能“滔滔不绝”把某个知识点延展下去的面试者,你得有自己拿的出手的部分,而不是什么知识都是一知半解。这些题目是加分项。其实面试背八股文一张口就能听出来,背东西和自己理解然后阐述出来,...
如果有人在自己简历上写了 MySQL,我应该绝大部分时候不会期望对方看了 MySQL 或者 InnoDB 代码...
不过确实,但很多人也确实需要我提示才能答出一些很基础的知识
#18 - 2022-4-4 15:36
(毒性非常大,小孩看了会犯错误,会犯很大的错误 ...)
前端知识点范围看起来还挺固定的
后端说不定从A语言问到B语言,从线程问到协程,再到操作系统调度,
然后从Linux命令到docker、k8s,数据库、消息队列,各种领域都能问一问
#19 - 2022-4-8 10:34
(不想上班)
话说前端要是不问 js 的话会问些啥啊?wasm webgl 之类的吗
#20 - 2022-4-8 13:22
(がお , V !)
可以考一些概念性的问题,实现细节的问题,量一定要大,答不上来也没关系的那种,仅限于增进了解,防伪验证
#21 - 2022-4-8 17:48
(gerigerigerigeri~)
看了大家的讨论想起来最近读过的一篇文章 5 coding interview questions I hate,可以直接翻到最后,有一张流程图判断一道面试题好不好,我挺赞同的
#21-1 - 2022-4-8 19:40
心斩心
受教受教,这文章看了开头感觉有点意思