找工作—程序员
做过无数笔试题,做过无数面试题,基本上没遇到过很重视语言细节的。语言本身方面,可能会问问虚函数和多态,重载,作用域,存储方式,字节对齐,一般问的不多,或者根本不问。相反,对待你不懂XX语言上,往往表现的相当宽容,我面试时坦言自己只会一点C,对方也表示没有关系, 而我目标职位没有一个跟C是有点关系的。
比较重要的是,基本数据结构和算法,大规模数据处理技巧,进程,线程,网络等系统问题,智力题,项目经验等。排序,链表操作,二叉树,也是经常会考到的东西,以笔试时居多,面试一般更重思路和随机应变 。hash,trie tree,分治,动态规划,几乎是每个公司招聘时都会用到的,这块回答的好,可以弥补其余部分的缺憾。
设计模式有时也会考,如能答的好,也是大大增加筹码的。父子进程的关系,资源的共用,进程线程模型的区别,也经常会问,这类OS相关的,基础还是很重要的,特别是OS中的算法。
数据库方面也会考,主要是基本功,一些优化思想,基本不会让你写SQL语句,可能会让你自己设计一个数据库,讲思想。
网络方面会问问OSI模型中的一些问题,主要包括设计思想和作用,但是很少问及细节,如TCP头的哪个字节表示什么。
智力题则五花八门,各种各样的都有,一般是考察发散思维和逻辑推理能力,也有考察思维严密性和严谨性的。
当你讲述项目经验的时候,即使是十分微小的项目,对方也会非常感兴趣,那是考察你解决问题思路和动手能力的。面向社会人士的面试,会考察很多经验,例如谈谈某个技术上需要注意的问题,容易遇到的问题,谈谈解决某一类问题的思路。他们没那么在乎你的发展潜力,对当前的状态和能否快速展开工作,还是比应届生要重视的,不太会容忍长时间的学习过程。所以会问及一些项目中会用到的东西,甚至本来应该查手册的东西,看看你是不是经常用这个东西, 对工具的掌握要相对熟练一些,考察的会更细致些。无论是哪种情况,语言都不是公司招聘时最重点考察的东西,有些公司的招聘中,甚至连10%的因子都占不到。还有一个有趣的现象,就是薪水越高的职位,越不重视语言,却很重视思维,基本功和项目经验。