程式設計師必備面試技巧

  很多很有才華的程式設計師在面試的時候總是掉鏈子,這大概是因為他們把大多數時間都用來搞技術開發,而忽略了學習面試技巧的重要性。然而,這何嘗不是一種悲劇。有效的面試技巧能讓你成功得到工作,即使你對那個領域也並不是非常熟悉。下面是小編為大家整理的,希望對大家有用。

  一、準備評估個人價值

  很多人沒有拿到滿意的薪水都是因為沒有準確評估的自己的價值,入職了偶然打聽到同事的工資,或者朋友聚會了解對方的工資,才發現自己低了一大截,本來非常滿意的工作崗位瞬間成了雞肋,所以一定要評估好自己的價值。

  1、首先要給自己定位,初級開發,中級開發,高階開發或者架構師,自己有一個準確的評估才能準確判斷職位是否適合自己;

  2、其次摸底行情,諮詢最近換過工作的朋友,他們的工資有一定的參考價值,一些招聘網站上的職位也會有工資區間,都可以做參考;

  3、最後給自己定價,建議定在職位工資區間的高段,萬一實現了呢。確定完價格之後,把自己的價值點列一下,為什麼自己值這樣的工資,這樣才能和人資溝通的時候去展示或者描述這些價值點,說服人資認可自己的定位,做到有理有據,這樣他們才能盡力去爭取。

  二、涉及到編碼問題的時候,溝通是關鍵

  一個在工作時需要幫助卻能和人正確溝通的求職者比那些能輕鬆解決問題的求職者甚至更好。

  瞭解這是哪種問題。有兩種型別的問題:

  編碼。面試官希望你能針對問題寫出簡潔高效的程式碼。

  閒聊。面試官希望能和你聊一聊。話題通常是***1***高水平的系統設計***“如何克隆Twitter?”***或***2***瑣事***“Javascript中的hoisting是什麼意思?”***。有時候這些瑣事中也會引入“實際”問題,例如,“如何迅速排序整數列?好的,如果不是整數,是其他型別的呢……”。

  如果你開始編寫程式碼,並且面試官並不想多說廢話,只想儘快過渡到“實際”問題,那麼如果你羅哩叭嗦太多的話,她可能會覺得厭煩。不妨直接問,“是不是為這個問題寫程式碼?”

  三、讓人感覺你有團隊精神

  面試官想知道和你一起工作是什麼感覺,會有什麼問題,所以要讓他們看到你的團隊合作性。使用“我們”來代替“我”,例如,“如果那個時候我們做廣度優先搜尋的話,就能及時/準時得到解決方案。”如果讓你選擇在紙上還是在白板上編碼的話,選白板。這樣,你就可以接近面試官,直接面對他提出的問題***而不是和她在桌子兩邊遙遙相望***。

  四、寫下你的思路想法

  憑空地想很容易自我矛盾。把你的想法寫下來,然後再去考慮細節。

  呼叫幫助函式,繼續前進。如果你不能或多或少地馬上想出如何實現演算法,那就跳過它。寫一個命名合理的呼叫函式,例如:“this will do X”,然後繼續下一步驟。如果幫助函式非常微不足道,你甚至可以將它忽略。

  不要擔心語法。不妨一笑而過。如果你非要考慮語法,那就還原到英語。只要向面試官說明稍後會回來整理即可。

  預備足夠的空間。你可能後面會想要在程式碼行之間新增程式碼或筆記。從白板的頂部開始寫,並在每一行之間留一條空白。

  五、掌握程式碼除錯技巧

  眾所周知,在移動網際網路時代,基於市場和需求的變化,專案週期的變化也會很快。有時一個月的工作計劃,會縮短到2個星期。面對巨大的專案壓力,程式設計師的程式碼質量會有所下降。

  這時除錯技巧就尤為重要。一行程式碼的輸入輸出要清楚,一個函式的輸入輸出要明確而具體。高階程式設計師會在函式的開始和結束輸出Log,把所有的引數和返回值列印到日誌系統,便於追蹤。在解決問題的過程中,使用開發工具一行一行進行除錯,實時觀看引數的變化。

  高階程式設計師清楚的知道他寫的每一行程式碼在專案中的作用和意義。

  六、小心“陷阱”問題

  你為什麼換工作? 說說你最大的優點和缺點。 最近一次你是如何解決和同事之間發生的技術分歧的? 在回答問題之前,你最好明白麵試官問這些問題的目的,掌握如何回答這類問題的技巧。

  就先說說第一個問題吧“你為什麼換工作?” 在大多數情況下,面試官想知道的是你是否是一個愛說三道四、慣於誹謗抨擊僱主的人。所以千萬不要上當。

  七、能否告訴我,你的工資調整紀錄?

  提示:在這個問題中,面試人員只是想知道是否你一直原職不變,或者說是否你不斷得到晉升的機會。所以,儘量避擴音供薪資具體數額,除非他們要求。

  參考答案:三年來,我一直在ABC公司工作,曾得到兩次職務提升。ABC公司每年薪資調整的幅度不是太大,但由於我的工作總是十分優秀,每年的薪資調整都接近調整的最高水平。我目前的工資已比我開始工作的第一年提高近40%。