我遍览群书,发现关于程序员的面试技巧,好的建议其实并很少。程序员
咱们也发现,不少颇有才华的程序员在面试的时候老是掉链子,这大概是由于他们把大多数时间都用来搞技术开发,而忽略了学习面试技巧的重要性。面试
这未尝不是一种悲剧。有效的面试技巧能让你成功获得工做,即便你对那个领域也并非很是熟悉。算法
1. 给本身写一份很是专业的简历编程
个人建议是,若是你想增长本身的入选机会,那最好仍是花点钱制做一份专业的简历。相较于你未来可能获得的巨大收获,这真的只是一个小小的投资。app
2. 研究面试官学习
当我联系程序员来面试的时候,我老是会事先发电子邮件给他,并附上个人名字和博客地址。可是让我惊讶的是,当我给他面试的时候,他居然对我仍是一无所知。视频
再举个正面的例子,我在面试时也碰到过这类开发人员,甚至能对我之前写的一篇博客或者作的教学视频上面的内容侃侃而谈。面试技巧
你说我会推荐哪一个?开发
面试官也是人,也会有人性的弱点和特色。Dale Carnegie 曾说过,要让别人对你感兴趣,最简单的方法就是你先表达出对对方的兴趣。博客
无论这种方法是否有欠公正,可是若是你想面试成功,那么我建议你事先最好先好好研究一下你应聘的这家公司和面试官(若是知道的话)。
当今社会的信息是如此的发达,咱们彻底能够在 Facebook、Twitter、微博、博客上找到任何人的资料。即便你只是大体浏览一番,也会让你受益良多。
3. 得到内部推荐
知道找工做最简单的方法是什么吗?那就是得到内部推荐。
这不但能够增长面试机会,还能提高 40% 的录用概率。
前阵子,我找到了一家心仪的公司。而后直接投简历?NONO,猜猜我是怎么作的吧?
首先我找到一名和我有共同想法和意见的开发人员,而后开始关注他的博客。
接着我在他的博客中留言、发表建议,而且表现出对他的工做和公司很是感兴趣的想法。最后我成功拿到了这个宝贵的内部推荐资格。
不少程序员会说,“但是,某某某公司里面的人我一个也不认识啊”。若是你想就此放弃,那当我什么也没说,若是你愿意试试,我敢打赌,你总能想出一种方法达到你的目的。
不过这有个秘诀,那就是首先你得在网上建立本身的“名片”——让别人有了解你的机会,因此 do it now 吧。
4. 学会解决算法问题
这是每个开发人员都应该具有的重要技能,并且真要掌握起来也并不是那么难。
在不少面试中,都会有这样的问题,要求你在白板或者电脑上解决编程问题,可是许多程序员,即便是那些很是优秀的程序员,都会一会儿大脑一片空白,彻底理不出思路来。
若是你能花时间学会如何解决这种类型的面试问题,那么下次再碰到这种场景,就不会这么紧张了。
咱们会紧张其实和怯场无关,主要是由于咱们不熟悉这些问题,也没有自信能解决这种问题。
在这方面创建起自信以后,你就不再会紧张了。
5. 活力洋溢地回答问题
只用一个字或者一句话,照本宣科平平无奇地回答问题,或许在技术上是正确的,可是你忘了应该借此机会好好展现本身的激情——这才是一个开发人员能带给团队的最大正能量。
举个例子说,若是我问你什么是多态性,我不是要你按照课本中的定义重复给我听,我但愿你能就这个主题阐述一下,而后咱们能够更深刻地聊一聊。
6. 当心“陷阱”问题
你为何换工做?
说说你最大的优势和缺点。
最近一次你是如何解决和同事之间发生的技术分歧的?
在回答问题以前,你最好明白面试官问这些问题的目的,掌握如何回答这类问题的技巧。
就先说说第一个问题吧“你为何换工做?”
在大多数状况下,面试官想知道的是你是不是一个爱说三道4、惯于诽谤抨击雇主的人。因此千万不要上当。
7. 永远不要撒谎
最糟糕的事就是在面试的时候撒谎。
知之为知之,不知为不知,若是你确实不知道,千万不要自做聪明来编造问题的答案。
相反,你应该诚实地说,你不知道或者你并非 100% 确定,可是你愿意尝试一下,而后再讲讲本身的想法。讲完以后也能够问面试官正确答案是什么,以显示你对此很是感兴趣。
实话告诉你,大多数面试官问的问题都是他们知道的问题,否则若是你滥竽充数给你经过的话就会显得他们像个傻瓜。因此千万不要抱着侥幸心理,一旦发现你在撒谎,面试官立刻就会质疑你的人品。
8. 不要太诚实
不少程序员会过多地透露本身的信息,不要觉得诚实和彻底透明就是最好的政策,却不知过犹不及。
第 7 条所说的不可撒谎诚然不错,可是咱们也不必将本身全部生活的细节和全部缺点都告诉给面试官。
有个性是好的,可是若是暴露了性格缺陷就坏事了。
试想一下,要是你说本身喜欢赌博或者沉迷于魔兽世界,我敢打赌,面试官确定会从新审视你。因此在说本身信息的时候必定要慎重,由于这不但会暴露你的缺陷,还会显得你缺少应有的判断力。
9. 掌握计算机科学的基础知识
是的,不少程序员在面试的时候,甚至义正词严地说,他们不知道链表和堆栈,由于他们没有受到正规教育或者早就还给老师了。
我也认可咱们在工做的时候是用不到那些深层次的计算机科学概念的,可是做为一个专业的软件开发人员,你至少应该知道一些基本知识。
举个例子说吧,你请电工来从新给你家的房子布线,可是这电工一点也不知道任何电气工程的基本知识,你还请他干不?同理,咱们也是如此。
10. 关于经验
这是最后一点,但并不是最不重要的,不少开发人员,特别是刚进入这一行的新手,每每缺少相关的经验,也不知道如何增长所谓的工做经验。
这有点像是鸡和蛋哪一个先出现的问题。
那么又该如何增长经验呢?
关键是要用创造性的方式。有不少方法均可以得到工做经验,可是却没必要真正去一家公司上班。
给你点提示:
这些方式均可以做为工做经验写到简历中去,只要本身有想法,不愁没经验。
结束语
但愿这些技巧能对各位有所裨益。若有不一样想法,也请不吝赐教。