靠谱的程序员太少了

 

最近几个月,面试了不少的程序员,更好听的名字叫做软件工程师,甚至高级软件工程师。

我一般会针对面试者的特长,问一些相关的问题。有说擅长算法的,图像处理的,图形学的,数学的,C++的,Java,Perl 的,Shell 的,Linux内核的……

到目前为止,面试的人不算太多,但少说也过100了,基本上,语言方面和其它特长兼有的,一个也还没碰到过。

靠谱的C++程序员,所谓的靠谱,其实也就是:

  1. 了解 STL 的常用组件,能正确使用 STL
  2. 知道 type_traits ,以及如何使用 type_traits
  3. 对虚函数、重载、虚表有一定了解
  4. 能正确认识C++的异常
  5. 了解 Pure C 和 C++ 的 C 子集中比较常见的、明显的区别

基本上,就这 5 点,能有两点比较突出的,也就那么两三个人,而这两三个人里面,C++差不多就是他们唯一的特长了。

 

Java 上,我问的问题比较少,远不如 C++ 多,并且更简单,也就是:

  1. int/long 的二进制位数,jvm 是否在不同平台 int/long 的二进制位数是否相同
  2. 对于 StringBuilder,每次追加一个字符,当其长度长到 n 时,时间复杂度是多少
  3. 能否把一个 String 对象,添加到一个 List<Integer> 中
  4. Comparable 和 Comparator 有何区别,如何把非 Comparable 的对象作为 TreeMap 的 Key
  5. GC 的基本原理(大部分人的回答是调节 gc 参数)

目前还没碰到一个人能回答第 4 个问题!呜呼!

 

算法+Coding:

  1. 90%以上的人不知道 make_heap 的时间复杂度,知道的人,也都是背的答案。
  2. 完全无 bug 的 binary_search ,只有 3% 。
  3. std::lower_bound 类似功能的函数,目前还没一个人写得出来。
  4. 从一组 IP range –> value 的数据中查找单个 IP,允许使用 C++ stl 或 java 基础类,还没一个能给出解决办法。
  5. QuickSort 的最好情况,和 MergeSort 的最好情况,哪个的 KeyCompare 次数更少,目前只有一个人答出。

如果在这些之外,还熟悉 perl, bash, python 等脚本语言的,更是凤毛麟角。

 

要知道,这些职位可都是年薪20w以上的!

欢迎同道之士加盟,可以站内联系我,有内部推荐机会。
作者:
该日志由 csdn-whinah 于2011年04月02日发表在杂谈分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
转载请注明: 靠谱的程序员太少了
标签:
【上一篇】
【下一篇】

您可能感兴趣的文章:

21 个回复

  1. handsomez说道:

    楼主可以内推哪里的工作职位?主要工作是广告系统和搜索?

  2. whinah说道:

    回复 handsomez:Yes, 主要是广告系统和搜索,也有其它职位,具体看个人特长和兴趣

  3. islet8说道:

    首先20w年薪并不是很高,其次这个价位的软工,应该是雇来依靠他们的经验和判断力解决问题的,楼主这些面试题更像是大学里考试用的,并不能真正选拔出能出成果的人

  4. whinah说道:

    回复 islet8:我们要的是靠谱的程序员,不是混子

  5. handsomez说道:

    回复 whinah:工作地点在哪里?

  6. Could说道:

    回复 islet8:
    严重同意,这些东西就是背多分,看看书就可以了。

  7. whinah说道:

    回复 Could:很多人就是被这些浮躁的气氛误导的。是不是背出来的,现场推导一下就知道了;写一下代码,看有没有 bug,什么样的 bug,经过提示能不能改正,二分查找还写出3个以上bug,还是到别处混吧

  8. Could说道:

    回复 whinah:什么时候需要自己写二分查找呢?有多少人能够在不查任何资料的情况下完全正确地写二分查找呢?估计你们全公司都没几个吧?
    你这个是给学生考试的题目,不是给项目招人才。如果你以这个来判断别人是否合格,那个人确实需要到别的地方去干,因为不值得在你这里干。

  9. Tsien说道:

    回复 whinah:为啥给博主站内短信咨询工作信息,也不搭理我 [e07]

  10. wuhongliangv说道:

    题目是很好,不过问的要灵活,毕竟不是每个人都是准备好的,回答不出来不表示不懂,有时候好久不碰了。反正让我做题目我肯定不行,我所有的面试都是靠一张嘴,哈哈[e03]

  11. zhaojs说道:

    题目是不错, 项目里都会遇到, 不是专门做搜索算法, 很少都用上, 做面试题能查资料用电脑的话, 不算苛刻. 估计被混混搞烦了, 所以带点牢骚吧. 但是情有可原啊, 现在钻研C/C++的新人越来越少, C/C++的投入产出曲线太不合理了. Java要好很多.

  12. fangguanya说道:

    从楼主 所列出的 条目看,没有一点能体现出 应聘者能力.
    每一个人所有已经掌握的技能,都只是即将被抛弃的而已,不必过度拘泥于其中.

  13. lonelyrains说道:

    去年应聘过某广告搜索,明明知道怎么从海量ip里找出前100的,但是需要用bash,递归搜索文件,用笔写出来。说大概的方法还被鄙视。不是不知道怎么用,只是当场笔写,没记住那么多命令。唉…有时候不明白到底考的是思想还是把面试人当机器。

  14. babam说道:

    尝试回答一下,算法题里面的第4题.
    估计这个是为了做ip定向。
    这样假设这些ip段间是没有重合的。
    ip 段 直接转换为两个32位的数字,max和min
    这样的话就简单了,按照min排序,丢到vector里面。
    需要查找的ip也转换为32位的int ,
    直接用stl里面的lower_bound 查找看一下应该就ok了。
    判断 min<ip<max的结果。

  15. ax614说道:

    很多时候,都是看学校背景,相关项目经验,文章里的只是一小部分

  16. kingfighter_han说道:

    那你Perl都是问些什么样的问题呢?

  17. whinah说道:

    [reply]kingfighter_han[/reply]
    请参考: Perl Pocket Reference

  18. isolatequeen说道:

    [reply]lonelyrains[/reply]
    我来说个用Perl做的思路,用Regexp::Common::Net 匹配IP,到一个散列,所有的IP地址做为key,值初始化为1,然后匹配的一个IP,就对相应的值加1,最后排序。

发表评论

您必须 登录 后才能发表评论。