关于第一天的前端求职经历( 2 年悲愤 xx 后续)。——已被当天告知未通过

2017-03-30 21:59:36 +08:00
 az1996

两日前,发了一篇吐槽,莫名的火了一把。经过大家的建议与鼓励,于是修改了简历,开始了重新投递, 2 天后接到第一份面试邀请。

此文为个人面试经历, QA 问答过程与总结,不透露面试公司及面试人员,内容真实,如果有面试过我的大佬看到博客,欢迎指出问题。

循序可能有点乱,没记太清。

1.面试时间 2017.2.30 下午两点——公司薪资 6K

原文出自 js 面对对象编程指南 P88 :如果一个函数会在其父级函数返回之后,留住对父级作用域的连接的话,相关闭包就会被创立起来

关于对象属性的的修改的方法,有兴趣的可以了解下,Object.defineProperty( vue 好像就是基于它实现的双向数据绑定,还没读源码,不清楚楚),Object.assign是把属性添加到对象的方法。

楼主只用过下划线.js...对于 loadsh.js 没提供是猜测的。另外对象迭代这里出自,阮一峰大神写的 ES6 入门指南,对象篇。完整的是:

let obj = { one: 1, two: 2 };
for (let [k, v] of Object.entries(obj)) {
  console.log(
    `${JSON.stringify(k)}: ${JSON.stringify(v)}`
  );
}
// "one": 1
// "two": 2

廖雪峰大神写的教程非常棒,推介一下: http://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/0014344997013405abfb7f0e1904a04ba6898a384b1e925000

顺手再推一波阮一峰大神的 flex 教程: http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html?utm_source=tuicool

关于全局变量被索引的速度最慢,出自高性能 js...没有实际测试过,闭包内递归要使用尾递归优化,附送上连接,同样是阮一峰大神的: http://www.ruanyifeng.com/blog/2015/04/tail-call.html ,关于 js 函数式编程指南连接: https://llh911001.gitbooks.io/mostly-adequate-guide-chinese/content/ (非常赞的一本免费电子书,不知为何,关注的人很少)

安利下廖雪峰大神的 python 教程: http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000


不知道为何,面试当天就被告知未通过,我在想,果然是因为没有背过前端面试题嘛。。。还是原型那里没回答出了问题,对于面试官,一直带着笑容,然而,一些反问的内容均未给出回复。。。全程笑眯眯。。年龄目测比我年长几岁的样子。。

11442 次点击
所在节点    程序员
96 条回复
az1996
2017-03-31 01:15:54 +08:00
@smallpath ...我的错,但是想必我们都是清楚,我想表达的是什么意思,如果非要抓着这个语病,那我没话讲,因为事实在,是我的错。但是何必呢?面试中提到的也是,现在写的 es6 , es7 基本上线不都是编译后的吗?为啥你的第一想法是直接拿到浏览器里谈兼容性..........
smallpath
2017-03-31 01:22:44 +08:00
@az1996 从你的话里只能看出你只知道 webpack2 不知道 babel6 ,至于第一想法谈浏览器兼容性,这难道不是用个 Object.assign 都要考虑兼容的前端们的本能反应吗,有什么问题??
smallpath
2017-03-31 01:27:22 +08:00
@az1996 至于理想和现实,说到底还是自己不够强,我建议你寻找家里的帮助先沉淀几个月,因为就算你今天面试成功明天入职, 4 月份你还是没工资的,大家基本都是 4 月份发 3 月份的工资,今天已经 3 月 31 号了。
zhlssg
2017-03-31 01:47:37 +08:00
楼主自学能力还是可以的,不过感觉有点浮了。你现在用的技术栈可能很多小公司都没有上,没录你,可能也不是因为你能力不够,而是不符合他们的要求,能理解?
jklopsdfw
2017-03-31 02:02:52 +08:00
6k 答的可以了,如果只挑对的地方看。自己莫名其妙答了很多只懂一点然后比较模糊的东西。这样会给面试官带来不好的印象。
Vue 对象属性被修改无法被检测,是说实例对象不要动态修改上面的属性吧,这里用 Vue 的 set api ,跟父子组件传递有啥关系,父组件改改数据对象的属性,子组件照样响应啊。
new 怎么实现,就是你说的"你是问,构造函数内容的执行逻辑原理还是啥?"。你把 new 一个构造函数的流程再封装成函数不就是实现了嘛。 new 一个函数的流程高程里有,相信你看过。
原型原型链,就算继承用的少应该也要放在脑子里了,必考点。公司希望你用 class ,但是面试官一般希望你能实现 class ,就像上面实现 new 一样。
性能优化里你用的多的 webpack 没讲,压缩代码分割异步加载等,应该是紧张了,面试要挑自己熟悉的讲啊。然后函数式一般都是降低性能换取可读易维护,不知道为什么要提。
ajax 是简单,但是你只光说简单,没有让人信服的理由。应该说说 xhr 这种过程式的接口设计有什么问题,对比各种 ajax 库或者 fetch api 声明式的接口,你要说出是因为这样才让你觉得简单的。
遇到问题再去解决是很好的,但是不能拿来炫,因为每个工程师都是这样。愿意在遇到问题前深究的工程师岂不是更棒?
下次用更加职业的心态去面试吧,参加面试,就不是学生了。
写了很多,有感而发,像是当年的自己(或者说大家?)。原型只是小问题, 6k 的期望你不应该答出"其实我值 12k"的态度。
jklopsdfw
2017-03-31 02:11:26 +08:00
继续面吧,只点到为止的答。 6k 没问题
jarlyyn
2017-03-31 02:20:36 +08:00
这面的什么鬼……
6k 的单位是啥?
peneazy
2017-03-31 07:22:44 +08:00
面试问这些问题,感觉是招 12K+的
PythonAnswer
2017-03-31 07:28:20 +08:00
答太多了。说话要有重点,不要乱飘。不懂就说不懂。

公司水平不高,不认识 python
csbde
2017-03-31 07:49:02 +08:00
其实我面过很多前端,这个面试官但我问题我也基本会问。
从回来能看出来是理论派,实战项目经验不多。所掌握的知识面比较广,但深入度不够。
另外关于 python 是什么的问题,我基本可以判断是发音问题,面试官听不懂,而你的解释没有说清楚到底 python 是个啥。
如果是我面试, 如果自学半年到一年这个水平,我会给机会以初级待遇招进来。 如果自学或工作两年是这个深度,我可能也会再选选。
afpro
2017-03-31 07:55:41 +08:00
这个水平 6k 已经没问题了 要注意的一点是 他问你的问题他肯定是会的 所以比如 prototype 这个东西 他是会的 你不需要画图 说重点 证明你也会就可以了 让人家看博客属于避重就轻的答法 一般不会的时候才会这样
az1996
2017-03-31 08:00:57 +08:00
@jklopsdfw 请看我上一篇文章,楼主找的是实习工作啊。。只是因为实习的投了无数简历都石沉大海后才被人劝说投点大于 4000+的,才获得了面试机会
WhoMercy
2017-03-31 08:18:11 +08:00
如果觉得背出书里的内容就能拿高分,那么应该去参加考试而不是面试;

如果写完博文,就把“东西”都交给博文,那么到底是招你入职,还是招“博文”入职,还是招你来写博文呢?
az1996
2017-03-31 08:20:12 +08:00
@jklopsdfw 感谢回复,评论这么长,想必是占用了些时间认真看了。对于 Vue 那块,怎么说的,脑子里懂,但实际面试紧张了很多,逻辑就乱了,文章是大多照着还原真实写的。写完之后自己再看,果然发现了很多问题。
zyEros
2017-03-31 08:49:55 +08:00
其实这个回答我觉得还行,相对于 6k 来说,作为面试官的角度,其实我更喜欢让面试者写和画,这样更容易看出来面试者的编码能力。其我觉得你没通过的原因是没镇住面试,并且两年这个水平基本上是太普通了。
Jimrussell
2017-03-31 08:56:31 +08:00
6k 足够了这种回答。全答上了 10k 水平起。从回复串来看,我觉得有几位不是装 X 就是工资倒挂了。
没过面试可能是表达能力不行或者其他原因比如户籍啊长相啊之类的 2333
wobuhuicode
2017-03-31 08:59:32 +08:00
就前端来说,性能优化一个问题绝对不符合一个初级前端的要求,性能优化……看得出楼主只是个学会用 vue 全家桶或者只学了 js 的人。 ajax 的回答也很水
xiamx
2017-03-31 09:12:21 +08:00
Q :谈谈你对闭包的理解。
科班的在这里可能会讲一讲 bound variable vs free variable 。如果基础不好的话这里可以多谈一谈 closure 的应用,比如构造 higher order function ,

Q :你说 Vue 中如果对象属性被修改无法被检测到,那么你有什么解决方案?
这个问题你没有直接回答,而是取巧了 😂。检测对象属性修改有很多方法,包括 proxy binding 等

Q :关于数组去重复你用什么方法?
这里用 [...set()] 确实很优雅。面试官问这个问题有些考算法的味道,可以一句话带过,例如用 hashset 做去重或者先排序后去重等。

Q :对于性能优化,你有什么方案?
谈性能优化,先做 profiling 。

Q :你对于跨域的解决方法了解多少?
这里没提到 CORS 是减分哦

Q :我们这边后端用的不是 node ,是 java ,你怎么使用 jsonp 。
Q : python 是什么?
这两个太逗了

Q :那你现在目前在做什么
你卖弄了面试官听不懂的 nodejs ES7 什么的 😂
GoForce5500
2017-03-31 09:21:49 +08:00
座标帝都,工位对面拿 6K 的所谓前端连 URL 每部份都是啥都答不出, Vue/React 没听说过,闭包、原型更是完全不懂, Chrome 调试工具不会用, CSS 只会乱加 important 。所以多学多试多找机会吧。
karting
2017-03-31 09:22:03 +08:00
看的出楼主至少还是很好学的,值得鼓励,静下心来好好准备下,一定可以找到满意的工作, ps 我这工作好多年的对于上面的有些问题答的估计也是一知半解

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

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

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

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

© 2021 V2EX