最近几年市场竞争极其激烈,大家因为公司或者自己的原因,不论什么level的程序员们都开始纷纷去考虑勾兑猎头跳槽投递简历应聘面试等等关乎自己工作事业等重大问题的忙碌上面了。
选择什么公司看自己基本的要求,普遍做法是去这个公司能够成长或者是能给给你想要的薪水。在目前的市场竞争下,公司的实力是很重要的考量因素。不一定要是大公司,但是公司要有实力。
我一般推荐选择跟自己行业类似或者是工作性质类似的公司,这样你的所学都不会白费。当然也有人完全换行业或者换角色,比如你以前做技术,现在你转成做产品经理,这也无可厚非,只要你觉得自己能够做的不错并且有发展。
一般推荐的公司是大公司或者是某个你看起来比较有发展的公司。大公司普遍都流程制度完善,平台现有庞大,你能够进去做不错的产品,然后在整个过程中迅速成长起来。另外有发展的公司,那么你主要在乎的就是公司的将来了,如果你确认公司将来不错,也可以进去大干一场。
如果你看好了某个公司,一般就是内部推荐、猎头推荐、自己投递简历等几种方式,整个效果和优先级也是按照我描述的,内推效果最好,并且能够有的放矢,猎头推荐周期比较漫长,并且猎头会给你做很多评估和包装,周期会偏长。自己投递,看各个公司,有些有平台,有些没有,所以很容易简历石沉大海,所以具体公司具体投递方式不同。
说所有面试是公平公正的这件事是假的,人类都是动物,自然会存在个人喜好,所以一般好的优秀的公司,为了规避面试官的个人问题,会通过流程来解决,比如多轮面试、交叉面试、多人面试等方式来尽量减少某个面试官私人感受或者情绪影响面试结果的情况。
流程的本质就是为了规避人性本身的弱点和问题。
虽然如此,流程可以解决问题,但是,国内大部分公司(包括某些知名IT或互联网公司)都不是有很好的面试流程的,大部分都会被面试官的主观意识所影响。所以,你要时刻记住,这个世界没有绝对的平等!
好吧,既然你可能技术能力不错,但是你遇到的面试官把你pass掉,你也要心甘情愿,没办法,谁叫你碰到不对胃口的?! 为了规避这种情况,我简单说说一些面试过程中的问题。
面试准备
一般面试前我建议针对职位和公司,有一个针对性的技术学习做功课,或者网上看看面试题之类的,增加自己的成功率,有备无患嘛。而且其实你在面试前学习,会让你学习的效率提高好多,知识摄入量也不错,比平常漫不经心的学习效果更好,有压力有动力嘛。
外在
就是着装之类的,对于技术人员来说,跟一些对外或者是沟通很频繁的类职位不同,穿着打扮自然就好了,西服皮鞋领带之类搞的太假没必要(如果你是中高级职位,比如技术总监之类的还是要注意下),因为你凭借的是技术和综合能力,外表不是太主要,虽然如此,但是最好不要脏兮兮,或者很拖沓的感觉,或者满嘴口臭,会让面试官感觉不太愉快(废话,所有人面对一个特别脏的人都不会愉快),可能会减低你的印象分,虽然这些占的比重我估计非常小,但是如果把自己弄的干净利落,让你显的很聪明干练,别人也会增加几分好感。
环境和距离
大部分公司面试场所不一,一般就是集中在会议室,有的可能是在开放空间,有的是在透明玻璃的会议室,校招类的一般在宾馆或者学校会议室自习室之类的。
一般社交距离是45cm是比较合适的,面试过程中,主动权基本都在面试官手上,所以你配合就好了,不要太把自己当回事,别人可能会反感你这个行为。一般面试两人距离大于45cm左右比较合适,因为我们每个人都有一个心理安全距离,如果两人太近,会觉得很压抑,两人都不舒服,要是还有口臭之类的,反而因为距离太近更尴尬。但是不能太远,可能说话都听不清楚,影响了面试效果,具体自己掌握一下。还有就是如果两人是正面对这做会感觉审判一般,会比较压抑,比较好的做法是两人侧面L角坐,这样不会彼此压抑,也方便交流。(本规则适合大部分面试,包括非技术职位)
如果是有些校园招聘,一般是在宾馆房间面试,普遍合理的面试官的做法是面试过程中敞开房间门,特别是针对异性面试者,这个做法尤其重要,体现尊重,提供一个有安全感的面试环境。如果你是一个女生参加校园招聘,在宾馆面试,合理的做法是你进入面试房间可以把门敞开,这样是比较适宜的。
沟通方式
一般说话语气平稳,不卑不亢,情绪不用变化太大,吐字清晰,能够表述清楚你的意思的时候,不用滔滔不绝说很多,核心点多聊一些,如果不知道对方想要听什么,可以多问几句。
面试流程
面试流程各个公司不一样,技术来说大体肯定就是一来先做笔试题,然后在面试(面谈)的过程。另外一种就是一过来就是面谈,没有笔试环节,看各个公司的流程和习惯。
很多人认为自己是高端人才,如果有公司给他做笔试题,觉得自己受侮辱了一样,甚至我还见过拂袖而去的,其实我觉得大家都是出来跳槽找工作,大家在地位上没有什么不平等,让你做题也不是鄙视你技术不好,只是先通过简单的笔试大致了解你的技术层次,这个无口厚非。说简单点,就是不用太把自己当回事,你出来找工作嘛,重要的是找到个不错的单位,如果你对自己技术自信,那你就痛快的把笔试题做完来反抗。不用太在意这种层面的东西,当然了,也有界限,比如说招聘的是个高级职位,如果还做笔试题,就多少瞧不起人了,因为越往上走以后,可能很多技术细节不会太记得,在笔试中容易吃亏。
技术面试不同的技术应该问的问题都不相同,比如你PHP、Java、C++、数据库 每个技术点不同,出的面试题自然不同,最好你在找工作的时候就选择跟你个人擅长技术比较符合的职位。
技术面试的流程是一面简单问题(基础知识、数据结构算法、本职位所需基本知识),二面复杂问题(复杂知识、架构、技术层次等),三面普遍就不问技术,一般是人品啊性格啊或者是一些智力题,或者有些就到了HR谈待遇阶段。
面试问题
一般面试官问你的题目就两种,一种是开放式问题,一种封闭是问题,比如说:c语言中static关键字有那些用途?这就是一个封闭式的问题,就是有明确结果的。比如问你:如何优化一个网站的性能?这种就是一个开放式问题,你可以任何角度或者维度去分析这个问题。
一般问你封闭式的问题,主要是考察你对技术点,技术细节的记忆背诵能力,一般如果遇到开放式问题,普遍就是想考察你的综合能力或者是对问题能够在哪些层次去描述。在面对开放式问题的时候,有时候你不确定面试官是想听哪方面的内容,你可以追问一句,把开放式问题的范围缩小,并且能够有效的掌握面试官问这个问题背后的动机。
比如:如何优化一个网站的性能?这个问题,你可以追问一句:是描述我优化过的一个案例还是描述一个大致的过程?这样能够更精确了解面试官想通过这道题目考查你的实战能力还是系统知识组织能力。
封闭问题回答就是知道就描述清晰就行了,不用啰嗦说很多没用的,如果不知道就明确表示不知道就好了。开放式问题,回答方式和策略就很多,一般有我上面说的先缩小范围,然后你大致描述主要答案,然后对你比较熟练的部分可以深入描述,增强面试官对你的认可。
一般情况来说,技术面试可以简单实在一些,比如有些问题知道的就逻辑清晰的表述清楚,如果完全不知道的,就说不知道,不要唧唧歪歪说一堆完全无关的东西,反而让别人觉得你不懂装懂,反而对你印象差,还不入干脆利落点。
面试问题没有统一规则,每个不同技术,或者不同业务应用环境的公司,出的技术题完全不同,有的简单有的难,不过很多基本的知识都差不多,这个就是考察你技术能力。
谈待遇是个非常敏感的话题,大部分公司的hr都不是省油的灯,都是经过久经考验过来的。而薪水决定权来说,每个公司又不一样,比如有些是你的领导决定你薪水,有些是公司HR按照公司同级别人员待遇来谈,每个公司模式不同。
一般薪水来说,普遍按照IT行业业内惯例是上升10%-50%不等,大部分主流保持在 20%-30%的薪水上浮情况,当然也有个别翻倍或者更多之类的,这个因人因公司而异。现在的普遍情况是,上家公司是BAT之类的一般涨薪水30%左右,一般公司也就是20%。
谈薪水你首先需要想好自己的预期,有时候狮子大开口也会会搞砸,但是你默默无语的也容易拿低薪水受伤害。互联网公司很多HR的主要职能就是薪水砍价,因为这是他们的工作,所以不要惊讶被砍了薪水。
那你又疑惑,既然她们会砍我的薪水,我是不是开高一些呢?但是实际每个公司情况不同,比如有些公司你开好高,最后吓的都不敢再联系你了,还有一种是你开的太高,公司直接就不要你,不跟你谈薪水了。所以普遍做法是你先了解业内行情,还有就是你对自我薪水的已给预期,这样谈好以后就不会互相后悔耽误时间了。
谈薪水一般是你说现在薪水多少,然后期望薪水多少,大概是酱紫的,可能中间hr会按照各种评估指标来决定你薪水,比如普遍的业内浮动清水惯例、你的学历情况、你从事的岗位、同等岗位在公司的基础价格等作为综合考虑,有时候不一定是狮子大开口就是好,因人和情况不同单独去讨论处理。
薪水这种关乎自己价值评估和生活质量的重大问题,需要谨慎思考的去跟HR谈。
在一个地方呆久了,难免成为温室中的花朵,都不了解市场的需求是什么了?因此,建议每个开发人员,每半年或者一年就出去面试一次,了解市场的需求,找到自己的不足,时刻保持职业竞争力!当遇到公司的变动的时候,才能有备无患,从容应对。