面试一个一年工作经验的前端,大家一般会问什么问题才能确实这是自己需要的前端

2018-03-20 17:16:00 +08:00
 devxp

想了解一下大佬一般是怎么样面试程序员的

21244 次点击
所在节点    程序员
78 条回复
raphaelsoul
2018-03-21 09:42:28 +08:00
来了就要 前端人难找
wzhndd2
2018-03-21 09:46:30 +08:00
三年工作经验的表示好难,算了,我其实只是个切图仔而已
Terry05
2018-03-21 09:50:44 +08:00
问:你知道 V 站吗
答:知道啊,经常上

恭喜你,可以来上班了
ai277014717
2018-03-21 09:58:55 +08:00
刚入门前端表示,主要看公司需求,有没有大牛带。eslint 规则配置好。git commit hook lint 不过不能提交。使用 es6 语法。不注重浏览器兼容性直接 flex 布局。会这些就足够了。剩下的一年经验可能你也招不到,多数会个 jquery,css 就不错了。
mooo
2018-03-21 09:59:13 +08:00
@hellodigua @xomix + 是数值计算和字符串拼接的吧, 其他的都是未定义行为 不明白这种问题有什么意义
sm0king
2018-03-21 10:11:55 +08:00
@hellodigua 正解,他的那题就考了那么几个知识点,但也会被人夸大,其实还好。
xomix
2018-03-21 10:21:19 +08:00
我就不一一圈大家了,我写的这些算是 js 隐式转换没有任何合理性的坑之一,主要是考核一个人对 js 的认识程度。

实际上你只要认真学过过 js,至少能回答出来这里面会出现空字符串和数字 0 两个答案,这就是一个合格的前端了,能答出来 NaN 和[object object]的就是认真的查过这些问题的人,他有这样的钻研性是很难得的。

这就是为什么我说能说出两个答案就可以用,能说出三个以上可以高级前端的原因。


当然我忽略了 css 等这些方面的考虑,如果要算上 css 这边,可以问问他对 float 的理解和利用伪元素实现 clear:both 的简单解释。能说清 CSS Box、BFC 这些的,css 这边就是个合格的好前端了。

如果急着用人,能说清有几种 CSS Box 和说出实现方案的人也能用,如果这些都不知道的话,就确实有些工作不求甚解,你找后端凑合做前段后端合格这样的人还能用,你要找专业前端这样的人就有些浮躁和不堪了。


评论中你看到转头就走的,走呗。企业招聘尤其是前端不缺人,你就是 Brendan Eich 你走了对一家企业也没有太大的损失。
KuroNekoFan
2018-03-21 10:26:57 +08:00
惊了还有人以糟粕 /坑为判断 js 水平的啊,这种玩意儿放任何场景都是要绕着走的,对这个东西有钻研没有任何意义
SakuraKuma
2018-03-21 13:51:11 +08:00
同惆怅着招人,唉,和#13 楼一样,笔试都是基础题,不过我出的是选择。
然而到现在还没一个能看的。
LeungJZ
2018-03-21 14:09:24 +08:00
暂时没有遇到一个能完全做对的面试者。
第一张图的 for 循环是连续的。

hazxy
2018-03-21 14:28:40 +08:00
@LeungJZ 大概看了一下,第一个应该是 23541,第二个应该是'111' 1 2 '222' 1 2 '333' '444' 3 3 1 2,你这主要是异步,闭包的问题
LeungJZ
2018-03-21 14:38:35 +08:00
@hazxy
是的。
第一个很多人都写成了 24351。
第二个死的人更多了,不知道在函数前加操作后加 () 其实就是个 IIFE。然后就错了。
hazxy
2018-03-21 14:40:44 +08:00
@xomix 这个问题对于看过相关 W3C 规范相关内容的还是比较好答的,大概好像上 JS 引擎内部有对对象转化为基础数据类型的一个运算,貌似是 ToPrimitive(),里面有一个判断标准,一般是分为 Number 和 String,是 N 的话就先调用 valueOf(),再不是基础类型的话,再调 toString(),再不是就报错; S 就反过来,可能细节没说很完整,基本上是这样
hazxy
2018-03-21 14:46:28 +08:00
@LeungJZ 对的,我对 function 的理解是,这个语句块的开头如果不是 function,如! function、+function 等,这个语句块就是表达式了
xomix
2018-03-21 14:47:09 +08:00
@hazxy
实际上这个问题能解释到这个程度,做一个高级前端就完全没问题了,本来就不是说要你一定分析为什么,而是说你要理解 js 起码的加法运算在不同对象上大概是怎么操作的。
我还没把继承那套东西放出来呢,就有一群人觉得我在掉书袋。
你学习一个语言连这个语言的运算法则都不不知道,还觉得别人这样是掉书袋,那我只能说你爱怎么做怎么做了。
fulvaz
2018-03-21 14:56:24 +08:00
@whypool 这是认真的吗????
hazxy
2018-03-21 14:56:48 +08:00
@xomix 道理都是这样,可能有些人觉得有时候运用到实际的环境里,概率不大,可能没去接触;但是对我来说,有时候了解甚至是去理解语言规范上的东西,其实我认为还是对基础知识的把握,但是都有各自的看法,这个没法强求。但是我仅仅是一个非常菜的初级还要苦苦求面试的前端啊,哭
wisetc
2018-03-21 15:02:18 +08:00
@hazxy 好深奥,专家级别的问题
codermagefox
2018-03-21 15:03:07 +08:00
@xomix #55 一年经验初级前端表示,能答出三个。但是我觉得你这么问不太好,你主要想问的是 JS 的隐式转换,也就是需要了解 JS 的‘精华’和‘糟粕’,我不能像楼上那个大神一样答出 JS 引擎的实现细节,但是我认识的一些前端是完全无视这些糟粕的,这样问也许考察的是 debug 能力,但是对于这些人过于不友好了。
fulvaz
2018-03-21 15:03:47 +08:00
@LeungJZ 这个可以啊, microTask macroTask, 不知道浏览器原理根本答不出来

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

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

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

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

© 2021 V2EX