从进入百度后到现在,一直在参与公司和部门的面试工作,包括校招、社招。最开始做面试的时候,一直
苦恼该如何来确认面试者的技术水平,java的内容就那么一点,网上到处流传着各大互联网各种各样的面试笔试题,各培训机构甚至有专门的针对面试的培训,凡此种种都加大了面试官筛选的难度。
为了提高面试的效率,便自己整了一套题,由易到难进行排序,以便区分不同的层次。然而面试时间长了
之后,发现摆在最前面的一道题,却鲜有人能够给出完全正确的答案。下面我们来看看这道题:
写道 Java中整数的范围是多少,使用二进制或者指数表示? ? ? ?有一部分人能回答出整数是4个字节(对于回答其他答案的,我就不吐槽了),但是就是写不出二进制表
示,此时,我一般会进一步提示性的给个问题:
写道 一个字节是多少位? ? ? ? 这个问题,基本上大部分人也都能回答出来。可是,继续回到上一个问题,依然给不出答案。
?
?
? ? ? ?有那么几个人,给出的答案是-(2的32次)到2的32次,我一般也会提醒的问到:
写道 整数的二进制的第一位是做什么用的? ? ? ?当然,大部分人也都知道这个是符号位,回到原题,依然不能给出正确的答案。
?
? ? ? ?有人记得要减1,但是减到指数上去了,提示问为什么要在指数减一,不知所以。
?
? ? ? ?提示性的问:
写道 正负3的二进制如何表示? ? ?那些口口声声说int是32位的人,却只写出8位或者16位长度的二进制,反问他为何是8或者16,也是不知所以,当然也不知道错误。
?
?
面试到如今,大概也面了几十人了,只通过了不到3个人。刚开始的时候,心里会发虚,总觉得自己搞
的面试题是不是太古怪了,后来遇到一些优秀的人,这些题对于他们来说都是小儿科,尤其是做校招的时候,基本大部分的人都能正确回答出这个问题,不管是做c、c++还是java。做社招的时候,一般的套路都是java基础、项目经验、开源等,基本不会问算法。而做校招的时候,没有项目经验,但是语言基础是必备的,排序算法手写,更深入的动态规划、贪心等策略,都会有涉及,而操作系统的一些基本原理更是必不可少,大概能有7-8成的人能通过面试。
从多年前第一次面试别人开始,从来没有人告诉我该如何面试,慢慢到今天,也从来没有系统的看过面
试相关的理论,一直迷茫,不知道该以什么标准来选择一个技术人。而直到有一天,现在的老大说,“你觉得你愿意与之共事就行”,才豁然开朗。我希望和什么样的人共事呢,我想至少要达到以下几点:
1. 热爱技术,愿意刨根问底
2. 知其然也知其所以然
3.踏实
?
如此而已。
?
?
?