IT 求職高頻面試題大匯總
本文匯總了近年來 IT 技術類職位的高頻面試題,含括個人背景問題、文化問題、經驗問題、技術問題、演算法問題等。同時給予了準備和回答的tips。
個人背景問題
1.為什麼想來我們公司?
tips:你的回答要從側面體現出你對這家公司做了功課,很重視這次面試。但是同時你的情緒也不要太過,不要奉承或者過分熱情。
你可以找出幾點說,比如:公司文化與你的自身價值觀的契合,並表達出你想來這家公司工作的真誠希望。
2.你用過我們公司會使用的某個編程語言/技術嗎?
tips:誠實回答。如果你對提到的東西沒有太多的接觸,如實告知。因為如果你謊稱自己使用過這一編程語言/技術,在技術面中你就可能會遇見相關問題,到時候如果你不會就糟糕了;在這種情況下你可以說一下自己熟悉的語言並說明自己的學習能力不錯。
記住:公司很看重侯選人的學習態度和學習能力。
3.你在過去的工作中曾做過什麼項目?
tips:回答要簡潔。千萬不要漫談,因為這樣很容易讓面試官覺得你的敘述冗長無聊,所以你需要簡潔地描述你目前工作中所涉及到的較為成功的項目。
如果你之前沒有工作經歷,還是要如實回答,這時你就可以講一些你在學校或實習做過的成功的項目。
4.你有管理經驗嗎?
tips:不要覺得這個問題問的僅限於技術工作的管理。如果你曾帶過一個團隊,或是你曾在一次志願活動中擔當過領導者的角色,就算這個活動是在學校里參加的,也要講出來。
而且,你還要說明:即使擔當著領導者的角色,你還是參與了成員做的一切活動。因為團隊協作不管是對工作效率還是團隊凝聚力都是非常重要的。
5.你的團隊有多大,你做過什麼項目?
tips:這個問題是對以上問題的延伸,回答時你要具體說明你參加過的團隊和項目的內容。
6.為什麼選擇現任僱主?
tips:回答要坦誠,但不要只說錢和福利這兩個因素,雖然面試官可能也知道這些是重要因素。
說一些公司文化對你的吸引、新工作可能給你帶來的滿足感以及順利完成新工作中的工作任務後可能會獲得的成就感等。
文化適應問題
1.加入我們的團隊,哪些點會讓你激動?
tips:告訴面試官公司的哪點最吸引你,以此展現出你對公司的了解以及你想進入公司的誠意。
但是需要注意,情緒不要太過,以免讓人覺得不真實。
2.工作之餘,你有什麼興趣愛好?
tips:公司希望自己的員工是能做到平衡好生活和工作的人。所以在回答這個問題時,說出幾件你在生活中很享受的事,但是千萬不要說:除了上班時間我呆在辦公室寫代碼外,回家之後,我就玩遊戲。
你可以給出自己幾種不同的愛好,比如閱讀、工藝或DIY;或者是一些社會活動、團隊活動等,比如,假如你是曲棍球俱樂部或者當地徒步旅行的成員,你就可以向面試官展現你興趣的多樣性。因為這從側面向面試官展現了你的性格、你的創造力、你獨立思考的能力以及你的團隊合作能力和解決問題的能力。
而且面試官會從這道題的答案評測你是否適合他們的團隊,所以,千萬不要說「我沒有愛好」。
3.你喜歡你現在的工作和工作環境的
哪些方面?
tips:千萬不要回答不喜歡現在這份工作。而是找到現任公司做得好的幾點,比如:公司注重促進員工生活和工作的平衡、公司有像家一樣的氛圍等。再比如,你在公司可以做出一些東西來解決實際問題或是滿足客戶需求,這讓你很有成就感。
如果你沒有工作經驗,可以談論你在學習過程中或是實習過程中喜歡的點。
4.描述你理想的公司文化
tips:這個問題一定要提前做功課!如果你應聘的這家公司的氛圍是輕鬆有趣的,然後你回答,喜歡安靜且有嚴格的紀律的公司,那就很尷尬了。
所以一定要提前做好功課,確保你說的理想氛圍契合這家公司的文化。
5.你覺的工作環境的哪個部分
對你有很大的影響?
tips:這個問題要根據你應聘的公司的企業文化回答。比如,你可以說輕鬆的環境、合作的工作氛圍等對你影響很大並說明原因。
6.你的工作夥伴認為你在團隊中
充當什麼角色?
tips:坦誠回答,不要過度自謙。這個問題可以展現你的社交意識,也可以看出你是否有足夠的洞察力認識到別人對你的看法。
同時這個問題也能展示出你的自我認識,你是否了解自己的優缺點,以及你能給團隊帶來什麼。
7.說一個你基於客戶數據做的決定。
tips:回答這個問題一定要清晰、詳細。數據現在在工作中扮演著越來越重要的角色,通過這個問題,面試官想了解你是否有一定的分析能力。所以你需要具有分析客戶展現給你的數據、得出結論、然後基於分析做出決定的能力。
你可以按以下步驟描述:收到數據、你基於此數據做出了什麼決定、這個決定是否得到正面的反饋。
經驗類問題
1.對於日常工作(任務)的記錄,你喜歡用什麼工具?
tips:誠實回答,不需要說出一個多麼高大上的東西。如果你沒有使用Trello boards、Asana或其他一些管理app,你說用紙和筆記錄也是完全沒問題的。
因為這道題主要是看你是否擅於管理追蹤自己的task,以免工作中出錯。但是一定不要說:「我不用工具,我用腦子記的。」
2.當檢查另一個團隊的代碼時,最重要的是什麼?
tips:不要局限自己的想法。這道題是用來測試你的知識面、你是否能清晰的表達自己的想法以及你的視野是否狹隘的。
所以不要只說一點,因為這個問題的答案絕不止一點,你可以從下面幾個方面簡單回答:
- 功能
- 可讀性
- 可維護性
- 安全性
- 簡潔性
- 監管要求
- 資源優化
3.描述你從始至終的編程過程
tips:清晰的表達這個過程。面試前提前過一遍這個過程,回想一下,一開始,當你做一個任務時,做的第一件事是什麼?拿一支筆和紙,把它劃分成多個小task?在日曆上列出ddl?
在這道題中,面試官想看到,你是否能對自己的編程過程有一個清晰的思路以及你的組織語言能力。如果說不出來,可能會讓面試官認為你在工作工程中是無序的、沒有計劃的。
4.你寫代碼的時候,
一般會考慮哪些事情來盡量避免錯誤?
tips:展現一個合理有邏輯的回答。回答這個問題的重點是,不要讓面試官覺得你在寫代碼之前是不經過思考就隨意寫的。
5.對於複雜的演算法,你一般用哪種語言?
tips:如實回答,但是最好給出至少兩種語言。這樣能展現出你不是僅僅局限在一個領域。
回答示例:xxx是我的第一選擇,但是xxx也是一種很好的選擇,並說明原因。
6.你是如何設計可拓展應用的?
tips:這道題是用來測試你的知識和邏輯思路的。回答時要說出你會考慮哪些因素來確保避免性能問題。
注意:回答前要清楚面試官是在談論擴大規模、縮放規模、還是兩者兼有?(原文:Is the interviewer talking about scaling up, scaling out, or both?)
7.在你的職業生涯中
最讓你驕傲的項目是什麼?為什麼?
tips:這是一個讓你展現自己的機會。這個項目不一定要非常高大上,可以是簡單的用一種新的編程語言寫了個app或者在團隊項目中解決了一個困擾很多用戶的問題。
記住:不要過於自誇,表達出你對自己獲得的成就感到自信和驕傲即可。在回答你驕傲的原因時,說出最後得到的正面成果,比如:因為它滿足了一個客戶的真實需求,讓我感到很有成就感。
8.描述一個失敗的項目經歷。
發生了什麼?
tips:這個問題考查自我認知和自我表達能力。從這個問題,面試官希望看到你敢於從錯誤中吸取教訓。
所以回答這個問題時要告訴面試官為什麼這個項目失敗了,以及你是怎麼花時間去剖析這個項目的,指出哪裡出了錯。然後表達出在這之後,每次做項目你都會特別注意那個問題。
概念性技術問題
技術問題是用來考查面試者在壓力下思考和動手的能力的,所以即使你覺得自己對概念問題很自信,還是要複習。
你在面試前可以做做網上的quiz,找個搭檔一起複習,因為面試時會有時間壓力和氛圍壓力,而對於概念問題,越熟悉出錯率才會越低。
以下是Uber面試常見的技術問題:1.互斥體和信號量之間的區別是什麼?
2.什麼是多線程編程?
3.局部變數和全局變數的區別是什麼?
4.你有一個單線程C標準應用程序不斷的崩,但從來不是在同一個地方,可能的原因是什麼?
5.隊列和堆棧之間的區別是什麼?
6.回歸測試是什麼?
演算法問題
這部分是面試中最難的,因為編程不僅是在高壓環境下進行,而且是以一種不熟悉的方式,比如白板手寫進行的,而且會有時間限制。
所以要想通過編程問題面試,一定要提前多刷幾遍lintcode上的演算法題。在面試時,遇到的編程問題會是各種各樣的,以下是一些可能遇到的典型題:
1.鏈表(刪除重複,反轉,確定它是否環形的)
2.Big-O複雜度分析:它是什麼?如何使用它?
3.樹:基本構造、遍歷和操作演算法。
要知道如何實現平衡二叉樹。
4.棧(實現一個有兩個堆棧的隊列)
5.數組和字元串(反向字元串,置換)
《演算法面試高頻題班》總結了近年來Google, Facebook, Amazon, 等IT 企業的演算法面試高頻題,幫你分類匯總,分析應對套路,並提供解題模板。
推薦閱讀: