本文汇总了
近年来 IT 技术类职位的高频面试题
,含括个人背景问题、文化问题、经验问题、技术问题、算法问题等。同时
给予了准备和回答的tips。
tips
:你的回答要
从侧面体现出你对这家公司做了功课
,很重视这次面试。但是
同时你的情绪也不要太过
,不要奉承或者过分热情。
你可以找出几点说,比如:公司文化与你的自身价值观的契合,并表达出你想来这家公司工作的真诚希望。
2.你用过我们公司会使用的某个
编程语言/技术吗?
tips
:
诚实回答
。如果你对提到的东西没有太多的接触,如实告知。因为如果你谎称自己使用过这一编程语言/技术,在技术面中你就可能会遇见相关问题,到时候如果你不会就糟糕了;在这种情况下你可以说一下自己熟悉的语言并说明自己的学习能力不错。
记住:公司很看重侯选人的学习态度和学习能力。
tips
:
回答要简洁
。千万不要漫谈,因为这样很容易让面试官觉得你的叙述冗长无聊,所以你需要简洁地描述你目前工作中所涉及到的较为成功的项目。
如果你之前没有工作经历,还是要
如实回答
,这时你就可以讲一些你在学校或实习做过的成功的项目。
tips
:
不要觉得这个问题问的仅限于技术工作的管理
。如果你曾带过一个团队,或是你曾在一次志愿活动中担当过领导者的角色,就算这个活动是在学校里参加的,也要讲出来。
而且,
你还要说明:即使担当着领导者的角色,你还是参与了成员做的一切活动。
因为团队协作不管是对工作效率还是团队凝聚力都是非常重要的。
tips
:这个问题是对以上问题的延伸,回答时你要
具体说明
你参加过的团队和项目的内容。
tips
:回答要
坦诚
,但不要只说钱和福利这两个因素,虽然面试官可能也知道这些是重要因素。
说一些
公司文化对你的吸引
、新工作可能给你带来的
满足感
以及顺利完成新工作中的工作任务后可能会获得的
成就感
等。
tips
:告诉面试官公司的
哪点最吸引你
,以此展现出你对公司的了解以及你想进入公司的诚意。
但是需要注意,
情绪不要太过
,以免让人觉得不真实。
tips
:公司希望自己的员工是能做到
平衡好生活和工作
的人。所以在回答这个问题时,
说出几件你在生活中很享受的事
,但是千万不要说:除了上班时间我呆在办公室写代码外,回家之后,我就玩游戏。
你可以给出自己几种不同的爱好,比如阅读、工艺或DIY;或者是一些社会活动、团队活动等,比如,假如你是曲棍球俱乐部或者当地徒步旅行的成员,你就可以向面试官展现你兴趣的多样性。因为这
从侧面向面试官展现了你的性格、你的创造力、你独立思考的能力以及你的团队合作能力和解决问题的能力
。
而且面试官会从这道题的答案
评测你是否适合他们的团队
,所以,千万不要说“我没有爱好”。
tips
:
千万不要回答不喜欢现在这份工作
。而是找到现任公司做得好的几点,比如:公司注重促进员工生活和工作的平衡、公司有像家一样的氛围等。再比如,你在公司可以做出一些东西来解决实际问题或是满足客户需求,这让你很有成就感。
如果你没有工作经验,
可以谈论你在学习过程中或是实习过程中喜欢的点
。
tips
:这个问题
一定要提前做功课
!如果你应聘的这家公司的氛围是轻松有趣的,然后你回答,喜欢安静且有严格的纪律的公司,那就很尴尬了。
所以一定要提前做好功课,
确保你说的理想氛围契合这家公司的文化
。
tips
:这个问题要
根据你应聘的公司的企业文化回答
。比如,你可以说轻松的环境、合作的工作氛围等对你影响很大并说明原因。
tips
:
坦诚回答,不要过度自谦。
这个问题可以展现你的社交意识,也可以看出你是否有足够的洞察力认识到别人对你的看法。
同时这个问题也能
展示出你的自我认识
,你是否了解自己的优缺点,以及你能给团队带来什么。
tips
:回答这个问题一定要
清晰、详细
。数据现在在工作中扮演着越来越重要的角色,通过这个问题,面试官想了解你是否有一定的
分析能力
。所以你需要具有分析客户展现给你的数据、得出结论、然后基于分析做出决定的能力。
你可以
按以下步骤描述
:收到数据、你基于此数据做出了什么决定、这个决定是否得到正面的反馈。
1.对于日常工作(任务)的记录,
你喜欢用什么工具?
tips
:
诚实回答,不需要说出一个多么高大上的东西
。如果你没有使用Trello boards、Asana或其他一些管理app,你说用纸和笔记录也是完全没问题的。
因为这道题主要是看你是否擅于管理追踪自己的task,以免工作中出错。但是
一定不要说:“我不用工具,我用脑子记的。”
tips
:
不要局限自己的想法
。这道题是用来测试你的知识面、你是否能清晰的表达自己的想法以及你的视野是否狭隘的。
所以
不要只说一点
,因为这个问题的答案绝不止一点,你可以从下面几个方面简单回答:
tips
:清晰的表达这个过程。面试前
提前过一遍这个过程
,回想一下,一开始,当你做一个任务时,做的第一件事是什么?拿一支笔和纸,把它划分成多个小task?在日历上列出ddl?
在这道题中,面试官想看到,你是否能对自己的编程过程有一个
清晰的思路以及你的组织语言能力
。如果说不出来,可能会让面试官认为你在工作工程中是无序的、没有计划的。
4.你写代码的时候,
一般会考虑哪些事情来尽量避免错误?
tips
:展现一个
合理有逻辑
的回答。回答这个问题的重点是,不要让面试官觉得你在写代码之前是不经过思考就随意写的。
tips
:如实回答,但是
最好给出至少两种语言
。这样能展现出你不是仅仅局限在一个领域。
回答示例:xxx是我的第一选择,但是xxx也是一种很好的选择,并说明原因。
tips
:这道题是用来测试你的
知识和逻辑思路
的。回答时要说出你会考虑哪些因素来确保避免性能问题。
注意:
回答前要清楚面试官是在谈论扩大规模、缩放规模、还是两者兼有?
(原文:Is the interviewer talking about scaling up, scaling out, or both?)
7.在你的职业生涯中
最让你骄傲的项目是什么?为什么?
tips
:这是一个让你
展现自己
的机会。这个项目不一定要非常高大上,可以是简单的用一种新的编程语言写了个app或者在团队项目中解决了一个困扰很多用户的问题。
记住:
不要过于自夸
,表达出你对自己获得的成就感到自信和骄傲即可。在回答你骄傲的原因时,说出最后得到的正面成果,比如:因为它满足了一个客户的真实需求,让我感到很有成就感。
tips
:这个问题考查
自我认知和自我表达能力
。从这个问题,面试官希望看到你
敢于从错误中吸取教训
。
所以回答这个问题时要告诉面试官为什么这个项目失败了,以及你是怎么花时间去剖析这个项目的,指出哪里出了错。然后表达出在这之后,每次做项目你都会特别注意那个问题。
技术问题是用来
考查面试者在压力下思考和动手的能力
的,所以即使你觉得自己对概念问题很自信,还是要复习。
你在面试前可以做做网上的quiz,找个搭档一起复习,因为面试时会有时间压力和氛围压力,而对于概念问题,
越熟悉出错率才会越低
。
以下是Uber面试常见的技术问题: