程序猿招聘面试有别于一般职位的面试。如果你在艳羡程序猿十几万美元年收入的前提下,你却不知道程序员面试时,要经历过的多重艰难困苦与压力。今日,让我们来总结一下程序员面试时最常见27道难题。
HR Phone Screen
Phone Screen,一般是递交个人简历后,程序员面试逐渐的第一步,由企业HR承担。目的是为了了解一下考生的环境,为下一步tech interview打下基础。
疑难问题如下所示:
1. 为什么你对本企业的这个岗位有兴趣?
这一问HR关键想调查你有没有搞好“课程”,事前科学研究接触过企业。
2. 你有没有使用过我们公司常见的计算机语言?
如果对这类特殊语言表达并没有太多的工作经验,那么就坦白说,不然即使过去了手机关,也通不过以后的coding关。但是你也需要告知HR你会的言语,并且表示有实力学习新的言语。
程序员面试中最常见27个问题,拿走不谢!
3. 你有没有做过什么项目?
言简意赅。立即简约地形容你参与过的一个项目与在里边扮演什么角色。
4. 你有没有领导干部别人的经验?
这一题的答案不单单是技术的领导能力。假如你在校园里有过志愿服务活动领导工作经验,都能够说。 尽可能的把你之前的领导干部经验与你需要办理的岗位结合起来。
5. 为何你要离开现今企业?
你可以坦率地说出你的想法,但回答不必只是紧紧围绕在钱和权益上。你可以从职场文化、艺术创意实践活动,处理实际问题的满意率等几大视角来回应这题。
留意,跟HR的面试,并不一定你系统地讨论一些技术的难题与经验。必须做到言简意赅,不能让HR睡过去了。
Onsite Interview
如果你通过了HR的phone screen、或者以后的technical phone interview后,你会进到程序员面试的后一个环节。也就是一个4-5轮Onsite Interiew。面试官是从项目经历、个人行为、文化艺术、技术性、coding等几大视角来多方位掌握是不是你他们想的程序猿。
Experiential Questions
6. 在给团队人员reveiw code时,大家觉得最主要的是哪些?
这题的答案没有明确对错,目的在于检测你专业知识,及其你一直在面试时能否表述好code review的全过程。回应视角能够紧紧围绕:
- Functionality
- Readability
- Maintainability
- Security
- Simplicity
- Regulatory requirements
- Resource optimization
7. 描述一下你敲代码的全过程。
面试官想要知道你一直在敲代码时,是不是有一个清楚的操作流程,以确保你的工作状态是有组织,而非乱七八糟的。
8. 你做complex algorithms的优选语言是什么?
你可以坦白说,但需要得出2个回答,以说明自己“才华横溢”和“不钻牛角尖”。你可以说 “XYZ是我的第一挑选,但ABC也是一个很好的挑选。” 随后跟他们说为何。
9. 怎样设计一个可以扩大经营的APP?
这一面试问题检测的是你的知识与思想过程。
10. 你做过最令人满意、最值得称赞的项目是什么?
这是你展现自己的时时刻刻,告知面试官你的coding整体实力,并叙述一个你最引以为豪新项目。一定讲出原因,为何大家觉得这样的项目使你自豪 (例如它满足一种要求这些)。
11. 叙述一个你做过失败的一个项目。
你可以清晰地表明为何这样的项目最后没有成功。你们可以说你之后花费时间剖析了这样的项目,而且归纳了难题,从不成功中获得了工作经验。并且在下一次工程中,并没有再次发生。
Cultural / Behavioral Questions
12. 你现在所在的公司,有什么吸引你的地方吗?
在面试时,千万别说,“并没有,我讨厌现今企业”。能选说一说现阶段公司与所申请公司一同的优势。假如那是你的第一份工作,你可以谈一谈在教学或在实习期间喜欢什么东西。
13. 叙述你最理想的公司企业文化。
在开展onsite面试以前,搞好你的research,先了解这家公司。保证说出的理想化文化艺术,跟这个企业的程序猿文化艺术类似。
14. 你的同事是怎么描述你?
你可以根据这种情况来向面试官展现你社交观念,你可以说根据和同事的沟通合作,你了解了在自己别人眼中模样。与此同时,你可以用这种情况来说明你是有自我认识的。你清楚自己的长处和短处,以及你会给精英团队做出什么贡献。诚信回应,不要过分自我调侃。
Technical Questions
这算得上是程序员面试中最重要的一个阶段之一。这一类的面试问题,会针对不同考生的不一样知识架构考核。
程序员面试中最常见27个问题,拿走不谢!
疑难问题举例说明:
15. mutex 和 semaphore 有什么不同?
16. 什么叫多线程编程?
17. Local Variable和Global Variable有什么不同?
18. 哈希表如何运行?
19. 给出一个生活现状中哈希表的事例,并叙述一个哈希表为什么是一个尴尬的算法设计挑选。
20. 假定你有一个单核的C规范应用软件,它持续奔溃,但从不在同一个地方奔溃。大家觉得可能造成它奔溃是因为什么?
21. queue和stack之间有什么不同?
22. 什么是regression test?
Coding Questions
这一阶段这是所有程序员面试中最艰难的一关。我们不仅必须在髙压的步骤中展现你专业知识成效,并且你也要在不熟悉的地方(白版里的手写代码)和限制时间下工作中。每一个侯选人会碰到的实际问题各有不同,但以下属于一些常考的经典题目:
23. Linked lists(删除重复,翻转单链表,明确它是否存在环)
24. 时间与空间复杂度分析
25. Tree:基本上结构,赋值及使用优化算法。了解如何做到平衡二叉树。
26. Stack(用两个栈完成一个序列)
27. 二维数组和字符串数组(翻转字符串数组,permutations)
面试的时候,保证你持续向面试官表述你思索全过程(就算你被困住了)。 试着与面试官合作,并且可以在面对挫折时坚定地提出问题。由于这样可以说明你要在团队里求助、便于将工作优良地继续下去。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。