中级农民
- 积分
- 263
- 大米
- 颗
- 鳄梨
- 个
- 水井
- 尺
- 蓝莓
- 颗
- 萝卜
- 根
- 小米
- 粒
- 学分
- 个
- 注册时间
- 2012-4-24
- 最后登录
- 1970-1-1
|
本人前些日子在知乎上看到了这类问题,回答的人所执两端,一端赞成,另一端反对。. .и
赞成的一方认为算法和数据结构是程序员的基本素质,通过面试考察这个,可以了解一个人的思维方式,和表达能力。
如果一个人面对着一个逻辑问题毫无思路,无从下手,更有甚者,连分析都没有头绪(没有解决问题的方法学),变量名不知所云,函数分割混乱毫无逻辑可言,那么基本可以判定这个人水平一般。
反之,如果一个人答上了,并且分析过程井井有条,那么他可能有解决问题的素质,以后分派到某些部门,即使这位新手没有经验,也可能有能力短时间掌握。-baidu 1point3acres
因为,这只是一道划分某种能力(刷题的自制力?智力?我不知道)的门槛而已,是某些大公司的无奈之举。这是入门级别人员招聘的筛选方式,而更高级别的程序员我觉得用这种方法就不妥了:
.google и
我个人或许站在反方,认为通过这道测试并不代表一个人技术水平有多高,对于工作有多大的热情,对特殊领域有多深的认识,
本人周围有少数的同学,他们的技术并不怎么样,或许敲过的代码恐怕不到万行,半路出家,不懂得什么面向对象,写的代码不忍猝读,但是他们确实通过某种方式(可能通过刷题,可能靠朋友帮忙,可能颇为侥幸)通过了这道门槛。而公司,显而易见,招到的人才发现根本和预期不符。这不得不说是这种方法的缺陷。
我觉得技术面试应当是开放的,展示被面试者知识水平的平台。面试乃至可以脱离这些程式化的问题,完全自由交谈——一个程序员可以将问题扩展到什么程度和自己肚子里的存货是成正比的。同样回答一个面向对象的特征,如果我是面试官,我不想听到那个俯拾皆是的答案,我想听听被面试者对面向对象的哲学理解,对语言的局限性的理解,局限性如何促成了设计模式?诸如此类。如果是做系统层,我想听听面试者如数家珍地描述内核的设计细节,等等。. check 1point3acres for more.
身边一些朋友,他们很有技术上的热情,技术水平也过硬,但是不愿意刷题,宁可花点时间在自己的个人项目上。这些朋友遇到这类公司就不被待见了。私以为这算是公司的一大损失。
. 1point 3acres
最后以鲁迅先生的一句话作为结尾:“哪有什么天才,无非是将他人刷leetcode的时间用在开源项目上”。还有一句:“我有两个女朋友,一个是手,另一个也是手” |
|