看完offer這本書,總覺得看完還不夠,今天打算花點時間來整理一下思路。首先回顧一下面試的部分。
面試大體分成三部分:行為面試,技術面試,提問環節。
一、行為面試
行為面試通常為面試開始的15-20分鐘。重點考察專案經歷。如果有自我介紹的話,那麼用30秒到1分鐘的時間介紹自己的主要學習、工作經歷即可。接下來面試官可能會照著簡歷去詳細了解他感興趣的專案。我們準備簡歷時最好遵循所謂的star(star)原則,去描述每個專案經歷。
situation: 簡單的專案背景,比如專案的規模,軟體的功能、目標使用者。
task: 自己完成的任務,這個要詳細寫,要讓別人對自己的工作一目了然。在用詞上注意區分「參與」與「負責」。
action: 為了完成任務做了哪些工作,是怎麼做的。
result: 這方面的資訊可以寫具體些,最好能用數字說明。
除此之外,面試過程中我們還應該提前準備一些常見的問題:
1. 你在該專案中碰到的最大的問題是什麼,怎麼解決得
2. 從這個專案中你學到了什麼
3. 會和其他團隊成員相處有衝突嗎?怎麼解決的?
二、技術面試
技術面試會佔據40-50分鐘,是面試的重頭戲,對面試結果取決定性作用。總體來說考察應聘者5個方面的素質。
1.紮實的基礎知識。主要有三個方面體現:程式語言、資料結構和演算法。語言就不多少了。資料結構要求對鍊錶的插入刪除,二叉樹的各種遍歷方法的迴圈和遞迴演算法爛熟於心,此外還有熟練掌握陣列、堆、佇列、雜湊表等資料結構。演算法的話,熟悉的二分查詢、排序演算法。比較高階的要求還要求掌握貪心和動態規劃演算法。
2. 高質量**。邊界條件、特殊輸入的考察。最好在寫**之前想好各種測試用例。
3. 清晰的思路。作者一再強調,「沒有清晰的思路,寫出來的**也是漏洞百出」。幫助我們形成清晰思路有幾個方法:畫圖(鍊錶、樹等複雜資料結構)、舉例和將複雜問題分解成若干簡單的小問題,再一一解決(動態規劃)
4. 優化效率的能力。我的感覺是充分利用各個資料結構之間的優缺點。
5. 優秀的綜合能力。知識遷移能力,也就是所謂的學習能力,思維發散能力、建模能力等。
三、提問環節
面試的三個環節 (摘自《劍指offer》)
面試的三個環節 行為面試 面試官參照簡歷了解應聘者的過往經驗 技術面試,這一環節很有可能會要求應聘者現場寫 應聘者提問 問幾個自己最感興趣的問題 行為面試 1.應聘者的專案經驗 situation 簡短的專案背景,比如項日的規模,開發的軟體的功能 日標使用者等。task 自己完成的任務。這個要寫詳細...
《劍指offer》的又三個面試題
1.調整陣列使奇數全部都位於偶數前面。題目 輸入乙個整數陣列,實現乙個函式,來調整該陣列中數字的順序使得陣列中所有的奇數字於陣列的前半部分,所有偶數字於陣列的後半部分。define crt secure no warnings 1 include includevoid jump arr int a...
劍指offer 面試題(三)
package com.haxianhe.test 題目 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中時候含有該整數。public class jzoffer3 else if array ro...