[得罪人贴] 招聘程序员有感

2015-10-16 12:09:25 +08:00
 isno
我有一段时间的招聘经历, 沟通过的程序员没有几十个,也有十几个!

项目都属于 WEB 性质,招聘的工种没有局限于某个语言,简历最多的是 php 程序员,高低深浅都有,招聘到后期, 我发现可以用一句话来总结大部分 php 程序员:太爱某个框架, title 由 php 程序员改为 xx 框架使用能手比较合适, 沟通中谈框架非常来劲, laravel 非常优雅, yii 如何, xx 怎么样, 问到 int 几个字节, 犹犹豫豫的回 8 个?(32位系统1个字节几个位, 原话这么问的,回答不上来的很多啊)

不是我鄙视 php 程序员, 我本身也有很长的 php 开发经历(不装逼,技术一般), 正常的程序员不应该是 谈数据结构,避坑经验么?

偏激点,但对语言来说,这种弱类型帮你高容错的语言渐渐的有点难以接受, float+ Int 或者 int + string 这种做法,在业务线必须要报错出来
17920 次点击
所在节点    程序员
196 条回复
zhangdawei
2015-10-16 16:10:14 +08:00
炸了好多鱼出来,
这题考刚毕业的,和搞嵌入式的还行,考工作好几年的,不合适。
工作久了,尤其是业务相关的,问这种细节题,真想不起来。

类似经历:
我之前面过中兴系统工程师, JD 写的模糊,我就去了,直接问了 BSP , linux 网络驱动什么的,我就蒙圈了,虽然我既能写单片机也能写 android app ,这 linux 确实没搞过。
isno
2015-10-16 16:13:41 +08:00
@ffwalle
技术聊深了我也不懂,发个帖子就是唠叨一下, 我问个 int 几个字节,如果能联想到因为装逼,鄙视别人,我也是没别的话好说!
menc
2015-10-16 16:18:07 +08:00
“再补充下,在我看来,数据结构是计算机学科最基础的知识,对于任何种类的程序员,这些是最起码的要掌握的! ”

我对你说的没有异议,只是,
1.一个字节多少位的问法是一点问题没有的,不像你说的那样有问题
2.问一个 int 有多少位逻辑上是没有问题的,但是, php 和 C 都没有指定一个 int 究竟多少字节,多少位,这个看平台实现
3.以上知识,都属于计算机组成的知识,和数据结构毫无半点关系
4.我对你的说法非常认同,但是我对你有没有资格说这个话持保留态度。

另,
php 有 PHP_INT_SIZE 和 PHP_INT_MAX 来表示 int 字长和 int 最大值,是可变的,所以对于 php 程序员,你的问题应当是不成立的。

再另
语言苦心积虑让人摆脱二进制的烦恼,为什么你还要苦苦追求人家 想要摆脱的东西?
sun2920989
2015-10-16 16:20:07 +08:00
@menc V2 首个感谢 给你了 (我一向很抠门的 签到到现在一个金币都没有........)有理有据使人信服
shakoon
2015-10-16 16:26:01 +08:00
说明了这一行业半路出家的人实在太多,普遍没有根基
zhujinlong
2015-10-16 16:28:36 +08:00
一个 int 占几个字节,取决目标平台的 ABI
robinlovemaggie
2015-10-16 16:28:53 +08:00
@menc 赞同 2 , The C Programming language 里有这么一句“ Each compiler is free to choose appropriate sizes for its own hardware, subject only to the restriction that shorts and ints are at least 16bits, longs are at least 32bits, and short is no longer than int, which is no longer than long.” C 语言之父都没定死啊,就好比你不能再开放试题里寻找固定答案。
womaomao
2015-10-16 16:34:06 +08:00
@fxxkgw 是啊,python 太简洁了, 想往 python 方向转, 能说下转型经历吗?
nellace
2015-10-16 16:40:31 +08:00
我觉得面试还是问一下当时自己学起来用起来比较吃力,遇到坑比较多的地方,这些地方能反映出应试者的经验,解决问题和学习能力我觉得在工作中还是最重要的,有一些不容易记住但是记一下又不需要大量时间的,就真心跳过去吧
ericyl
2015-10-16 16:41:01 +08:00
看到这,我还是默默的决定先不跳槽了,万一碰到问 int 有几位,我又答不上来岂不是泪崩了。不说了,重看基础去...
isno
2015-10-16 16:45:23 +08:00
@menc 你也看到了, “在我看来“ 这句话代表个人想法, 与资格没有关系, 但如果我作为招聘筛选方,是绝对有资格要求求职者知道 int 几个字节

面试谈 字节问题,求职者能说出 32 位 int4 个字节,一个字节 8 位, 我个人就认为有一定的基础知识,面试谁无聊的会谈到 PHP_MAX_INT, C 的 limit.h !

最后一个扯皮的话:现代语言的发展已经已经不是为了摆脱二进制,二进制也绝对不可能被摆脱!我作为面试方,只是要求一个普通 phper ,给你十几 K ,没要求你加班,只要求你技术上基本的计算机知识要理解,能做东西,条件就属于符合。深入的东西我不会问,问深了我也不懂!

另外我这个帖子是因为一部分 php 程序员,基本的计算机知识都不知道,很多人也认为不必知道而感叹, 然并卵,后面又被升级到了 装逼 这一次层次
m8syYID5eaas8hF7
2015-10-16 16:47:56 +08:00
@gamingcat1234 完全不同意你这个观点。我们部门 leader 说过,如果你工作两三年以后再去面试,当面试官还是问你这些基础知识的话,你就可以走了,这是对技术的一种侮辱。这时候大多聊的都是思路,和解决问题的能力。至于 Int 占几个字节,用的实在是太少太少了。
zhangdawei
2015-10-16 16:50:59 +08:00
@ericyl hahahah
m8syYID5eaas8hF7
2015-10-16 16:54:20 +08:00
@isno 其实大家意思很明显。
这个确实是你的个人想法。但是你的个人想法不一定合适。
工程师 是利用现有工具,将问题完美解决的一群人。
死记硬背的东西,你觉着会考察出“工程师”的水平来吗
visonme
2015-10-16 16:54:32 +08:00
我很赞成楼主的观点。

按我理解,楼主不知道是不是想表达现在人太过分依赖框架了而失去了原生语言的编程能力。觉得自己会熟练几个框架就觉得自己就是高手,大师级人物,就应该拿高薪了。

其实在我一段 JS 招聘中也有跟楼主相同的经历,应试者会熟练各种 js 框架但是让用原生 js 写一段应用却很难。

最让人不能接受的就是熟悉框架却对框架后面发生的事情一无所知。

至于数据结构,算法这些东西其实无处不在,很开发人员觉察不到他们的存在,我想是因为你用了别人封装的东西,如果自己写原生其实会发现这些东西时刻都在使用的
sun2920989
2015-10-16 16:54:44 +08:00
既然楼主也说了自己是面试官有权利要求面试者具备任何素质 只能说楼主开心就好 不回复了你们继续讨论 o(∩_∩)o
baconrad
2015-10-16 16:55:54 +08:00
前陣子招聘了幾位廚師,
有的喜歡中式、有的喜歡西式,談起來非常來勁,
一問到「水稻從插秧到收割需要多久的時間?」
居然猶猶豫豫的回我:「一年?」

不是我鄙視廚師,
我本身也有很長的下廚經歷(不裝逼,口感一般),
正常的廚師不應該是談採購驗收,食品安全嗎?

偏激點,但對食物來說,
這種連食材來源都不清不楚的狀況漸漸的令人難以接受,
沒殺過鴨卻說會做烤鴨的這種做法,
在進廚房前必須要把他趕出來。
gamingcat1234
2015-10-16 17:00:40 +08:00
各位不要咬文嚼字了, int 在不同平台,长度可能不同,这一点本身也很基础。我如果是面试官,这种题我是希望回答者能自己指出这一点的。况且楼主明确提示了 32 位系统,这还答不上来,该怎么说呢。

@LINEX
如果我去面试,有人问我这个,我确实觉得是被侮辱了,不过那是在我答的出来的情况下。如果我答不出来,那才是彻底的被羞辱了。不知道 int 的容量,你怎么知道业务中的某个值能不能放在 int 中呢,等出 bug 了再来改么?这种事和语言是无关的,和你有什么思路也是无关的。


@sun2920989
c 语言下 int 最大值是定义在 limits.h 里的,在 32 位系统下,大多数情况下 limits.h 看起来是这样的:
#define SHRT_MIN (-32768) /* minimum (signed) short value */
#define SHRT_MAX 32767 /* maximum (signed) short value */
#define USHRT_MAX 0xffff /* maximum unsigned short value */
#define INT_MIN (-2147483647 - 1) /* minimum (signed) int value */
#define INT_MAX 2147483647 /* maximum (signed) int value */
msvc, gcc 都如此。当然,我不能排除你用的某编译器在 32 位系统下, int 也是 16 位的。不过我觉得你恐怕没想到这一步。
另外,作为 php 程序员,也不应该看到 32 位 int ,却联想到 32767 。
PHP_INT_MAX (integer)
The largest integer supported in this build of PHP. Usually int(2147483647). Available since PHP 5.0.5
PHP_INT_MIN (integer)
The smallest integer supported in this build of PHP. Usually int(-2147483648) in 32 bit systems and int(-9223372036854775808) in 64 bit systems. Available since PHP 7.0.0. Usually, PHP_INT_MIN === ~PHP_INT_MAX.
m8syYID5eaas8hF7
2015-10-16 17:01:15 +08:00
@visonme 可是, int 在 32 位下占几位,压根就没有涉及到数据结构和算法的东西啊,这只不过是死记硬背啊
menc
2015-10-16 17:02:25 +08:00
@isno 说句不适当的话,五十笑百,仅此而已,也不说了,既然做了面试官,就选择你想要的人吧,不过恕直言,你也不是很属于你觉得应该具备基本素质的那种程序员

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

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

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

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

© 2021 V2EX