校园招聘季,你真的准备好了吗?

    2天紧张而忙碌的校园招聘终于结束了,现在也能静下心来,总结下这两天的感受。虽然担任技术面试官好几年,但是感觉每年都有所不同,但又似乎一样。面对一群211,985的优秀毕业生们,感觉大家越来越牛,但又觉得大家好像问题依旧。

    我所在的公司是国内知名的通信公司,主要招聘通信软件开发人员,我的任务主要就是软件技术面试,看大家是否已经具备了不错的软件功底,或者有很强的可塑性。但是每年面试中,总是能够发现一些问题,现在我就站在一名软件技术面试官的角度,说说我的想法,希望对即将毕业的同学有所帮助。

    第一,诚信:软件面试的第一步上机考试,考试分数的高低对技面整体结果影响还是较大的。于是,每年都有部分同学希望通过作弊来,来获取一个技面资格或者高分。但是,作为面试官,都是10+年工作经验,而且都是公司选出来的高手,你真觉得他们很容易就糊弄过去。诚信是一个底线,一旦面试官发现或者确认你存在这个问题,哪怕你非常优秀,那你也将失去机会。在今天的面试过程中,有位女同学,985学校,研究生,成绩排第2/180,学生干部,各种奖学金拿到手软。但是为了3道题目全对,其中一道题由同学帮助其完成。现场增加一个功能题目,能顺利写出代码,可以看出来也是经常写代码,只是写的更多也许是matlap,对部分C++库函数不是很熟悉。我当时非常纠结,让其通过还是拒绝,是否是我过于严格,把公司未来的总裁给拒绝,我有点怀疑我自己的标准。对于这名学生,我相信他有能力获得不错的offer,但是她今天确实因为他的错误选择失去了一次机会。在这两天的面试过程中,每天都能遇到2,3位同学考试作弊,要么参考网上答案,要么同学帮忙。面试官一旦确认有诚信问题,你就将再无机会。诚信是任何公司最看重的道德品质,很多时候比你的能力更加重要。

    第二,技面官都看重哪些软件能力:也许不同的技面官,不同的公司,都有自己的标准,又或者不同软件类别(通用软件,底层软件,数据库软件等)看重能力也不尽相同,但我下面提的这些通用软件知识,你要具备,只会给你加分不少:

  1. 编码能力:实现功能的能力,是否可以按时保质完成。
  2. 语言能力:学了C或者C++,对于基本语法是否能掌握,对于更深的内容,是否了解,比如C++的内存模型等。深入的东西不掌握其实并也没有关系,但是如果你了解一些,而且可以画出来,会给你加分不少。
  3. 编码风格:函数,变量,类的命名,划分是否合理,还是一个几百行的函数解决一个题目。
  4. 编码经验:是否经常写代码,当然,经常写代码,上面三个能力都会增加。
  5. 数据结构:常见的那些数据结构,这是最基础的能力,包括:list,stack,hash等。如果你还知道不同的排序算法的原理,且自己实现过,那就更好了。
  6. 设计模式:这个不是必须的,但是如果你知道几个设计模式,并实现过,能够画出UML类图,面试官想不加分都不行。学习这个,这个真花不了多少时间,前提是你写过很多代码了。
  7. 软件周边能力:非学校学习的软件知识,比如你自学python,而且用python来做一些小工具啥的,或者爬个数据啥的,对你来说也会加分不少。
  8. 最关键的Show Me Your Code:任何“你问我答”都没有代码来的直观,如果你把写的代码都放github上,那么请向面试官展示。你commit次数,代码风格,代码经验,都可以完美的展示出来。

    第三,如何水平软件提升:不少同学面试时,经常会说,我的导师做的项目与软件关系不太,我们是做理论研究了。我通常也会追问一个问题,那你为什么要来面软件开发岗位呢,而且开发内容与你的研究方向八竿子打不着。当然,其实大家都能理解,大家做软件业也就是找个工作,混口饭吃,对于真正喜欢软件开发的人来说,他有太多的练习方法,但是对于更多同学,其实没有太大兴趣,但又准备来当程序员,我的建议是:

  1. 刷题,当前网络上有很多刷题OJ网站,比如牛客网。通过做不同难度的题目,来提升编码能力,代码写多了,很多能力自然就提升了,万发子弹练精兵。
  2. 做项目,做自己喜欢的项目,在这次面试中,我遇到1个同学,喜欢做游戏,比如坦克大战,贪吃蛇等,通过一个个独立的小游戏来练手。而且还可以自己做,自己玩,还能展示给同学们看,非常不错。还有一个同学写了一个blog网站,网站代码放github上。以前还遇到一个同学,喜欢做APP,现场就在手机演示,讲解遇到的问题以及如何解决,然后再把自己github上的代码展示给我看。其实我在十几年前年读大三的时候,也是通过做小游戏来练手。练手就做自己喜欢东西,只要可以写代码,你的能力自然就会提升。如果只听导师安排,随遇而安,那你就只是普通毕业生而已,而我们要的是TOP 10最优秀的学生。
  3. 练习时间请越早越好。9月开始面试了,8月才开始刷题。软件能力,靠临时抱佛脚,有用,但是真心不大。请为自己的未来至少提前一年。其实大家是相对竞争关系,你的竞争对象就是一起毕业的全国所有毕业生。大部分同学,我相信都只是听从安排而已,如果你有危机感,如果你想走到大家的前面,请至少提前1到2年重点开始练习编程。我们要的是既要懂理论,但也要动手能力强的学生。

    啰嗦的这些,其实我自己很清楚,对大部分同学来说,基本没用。毕竟没到找工作时间点,又有几个人能够想到2年后到底怎么回事呢?但是如果你不想随波逐流,你想脱颖而出,你想把控自己的生活方向与命运,请提前2到3年制定学习计划,并持之以恒的实施,“吃的苦中苦,方为人上人”。

posted @ 2017-09-26 23:30  南方树人  阅读(107)  评论(0)    收藏  举报