❶ 你要面試一個程序員,應該問他什麼問題
首先面試程序員分有沒有經驗
面試沒有經驗的程序員就隨便問問點ssm,ssh五大框架問題,多線程什麼的,再問問是否會點前端技術
有經驗就看看他的簡歷,問他簡歷項目上的問題,可以圍繞著簡歷上的項目問,通過他的回答涉及到的技術點之類的,拓展出去問其他的
❷ 程序員技術面試中,當面試官問「你還有什麼問題」,應該怎麼回答
應聘程序員,在技術面試的時候,結束時面試官通常會問一個問題:你還有什麼問題嗎?眾所周知,面對這個問題不能直接說沒問題了,因為這是你掰回一句或者加深認可的好機會。但是下面這4個問題在技術面試時最好不要問:
1、「我能拿多少工資?」
注意你參加的是技術面試,盡量不要問跟技術不相關的東西,這在技術面試的過程中是一個減分項。一般面試官如果對你有興趣會主動地詢問你的理想薪資。
2、「五險一金有沒有?交通補助有沒有?」
這個問題一般不建議去問,這些問題在技術面試後人事會主動告訴你或者自己主動去詢問人事都可以的,但是在技術面試官面前,問這些跟他本職工作沒有關系的問題會讓面試官覺得不耐煩。
3、「公司經常加班嗎?」
作為開發人員加班的情況肯定是會有的,只是經不經常可能得看公司的實際情況。在面試時問這個問題你可能只是想了解一下公司的加班情況,但卻會讓面試官質疑你的抗壓能力,給面試留下不好的印象。
4、「您覺得我今天能面上嗎?」
有些小夥伴可能急於求職,所以會有些迫切地問這個問題。如果面試官覺得你有希望肯定會給你一些信號,如果面試官不看好你,問這個問題可能讓雙方都比較尷尬。
上面說了4個不該問的問題, 那在面試官問「你還有什麼問題嗎?」時應該問一些什麼問題?
再次點題,在技術面試最好提跟技術相關或跟本職工作相關的的問題。第一,可以問一下關於產品的問題,比如一下產品用的什麼技術,想回去了解一下,或者關於一些新的技術比如大數據、spring boot公司是怎麼用的。這些問題既能讓面試官有興趣回答,又能展現你的知識面。
❸ 程序員面試的時候考官一般問什麼問題(比較流行的)
給你提供點參考信息,希望能幫助到你:
1、使用相同的工具和時間限制模擬面試訓練
Google和微軟都會讓應聘者在白板上手工解答編程問題,但通常大部分的應聘者都是習慣於在電腦上利用編程工具系統編寫程序。因此面試的時候,某些應聘者離開了熟悉的電腦游標,站在白板前感覺手足無措不知該如何起行。又或者他們不習慣在編程之時旁邊有人觀看,這會讓他們感到緊張而無法正常思考。
在現實生活中,如果你想要橫渡英吉利海峽,自然不能總是在室內游泳池練習。你必須投身於大海在波濤之中訓練,在准備面試的時候也是如此。
在面試開始之前你最好向招聘單位詢問面試形式和面試問題。如果招聘單位讓你在某個房間考試且僅提供沒有匯編程序的編輯器,那麼就應該在家中按照這種情景進行練習。如果招聘公司單位讓你在白板上回答問題並會安排考官在旁監督,那麼你就要找一位軟體工程師來扮演考官配合你練習。即使找來的考官經驗不如你也沒有關系,他們依然能幫助你消除在他人面前出錯所帶來的緊張感,這樣可以讓你適應有人在旁邊盯著看的面試氛圍。
如果你恰巧認識我並希望由我來幫你聯系,那我的條件就是必須請我吃飯:如果你已經工作了就吃日本壽司大餐;如果你還是學生,那麼吃比薩餅也可以。
2、在面試過程中不要對細小錯誤耿耿於懷
我曾不止一次的在面試過程中碰到這種情況:當應聘者知道編程問題後,他馬上就想到了最佳的方案、確定了邊界條件,然後開始編寫程序。但在編寫過程中,應聘者犯了諸如首先檢查是不是操作順序錯誤或忘記設定某變數等無關大局的小錯誤,當我指出其錯誤之後,應聘者立刻變得十分緊張,這種焦慮情緒影響了他在後面環節的正常發揮。
其實這種恐懼心理完全不必要。一名優秀的程序員在編程過程中出現錯誤也是很正常的,就像是小提琴手在演奏高難度的巴赫交響樂時也會偶爾失誤。音樂會的聽眾可能會覺察到這些錯誤,但是聽眾絕對不會因為這種細小失誤就把出色的小提琴手看作是門外漢。
即便應聘者徹底搞砸了某個編程問題,面試考官也可能會提出不同的問題並會容忍應聘者在某個問題上的失誤。再退一步說,就算某次面試徹底失敗,你也有機會在其它面試上補救。
我的一位同事(一個項目的技術負責人)最近面試了一個人,在開始面試時他覺得面試者的交流方式存在問題,因此開始表現的相當不友好。但經過了整個面試過程後,面試者證明了自身的能力,而我的那位同事也成了那位面試者最堅定的支持者。在過去的一年中,我從未見過這位同事如此強烈的支持哪位面試者。
所以,因此就算面試進展不順,也務必堅持到底不要放棄。
❹ 面試一年經驗的程序員,會問哪些問題
在當今的互聯網大軍中,不少人順應時代潮流,選擇了PHP開發作為自己的發展方向,進行PHP培訓。技術很重要,面試技巧也很重要,講一下:Java程序員面試失敗的5大原因。
一、說得太少
尤其是那些開放式的問題,如「請介紹下你自己」或「請講一下你曾經解決過的復雜問題」。面試官會通過你對這些技術和非技術問題的回答來評估你的激情。他們也會通過模擬團隊氛圍和與你的交流互動來判斷你的經驗和能力。
所以,僅僅只用兩三句話來回答不但不能顯示出你對這個專業的興趣,還會讓整個面試過程顯得非常無聊。如果你不能很好地說明你的經驗、成就和技能可以給企業帶來的價值,那麼你的競爭力毫無疑問就高不起來。所以,你需要對一些最常見的開放式問答作充分的准備,學會推銷自己。
二、說得太多
不斷地說,不斷地說,卻並沒有什麼實質性的內容。換句話說,就是廢話連篇,言之無物。如果你不能簡潔的解釋問題,那麼面試官就會懷疑你在工作時的表現是不是也會像你的談話一樣拖泥帶水?可以先問問面試官,確定是否真的需要詳細解釋。
解釋也是一門藝術,關鍵是確定重點,如果需要的話再深入到細節。當聊到業務的時候,就應該從業務的角度看問題,不要涉及任何技術術語。學會用簡潔明了的方式解釋問題。如果你能時刻把握主旨,那麼這一點也不是問題。
三、回答不出一些必知的基本技術問題
面試不是技術競賽,不是看誰答對的問題多,但是有一些「必須知道」的核心Java和Web基礎知識,你不能不知。例如,對於Java開發人員
1)不知道「==」和equals()之間的區別。
2)不知道equals()和hashCode()方法被隱式調用時的約定。
3)不知道OO的概念和設計原則。
4)不能很好地處理多線程。
5)不知道如何在HTTP客戶端與伺服器端之間保持狀態。
6)不能解釋曾投入精力過的應用程序的高層體系結構。
7)不知道SQL。
四、既寫不好簡單的代碼,又回答不出如何解決棘手的問題
作為一個開發人員,你應該根據自己的經驗水平,來針對給定的問題和情況編寫代碼。特別是如果碰到一個比較棘手的問題,那麼即使你還沒有解決方案,也應該將你的思路講給面試官聽。當然這在面試時會讓人特別緊張,尤其是在還有時間限制的情況下,但是你也必須保持冷靜,至少應該說明你將如何試著去解決問題的方法。
五、糟糕的禮儀和態度
遲到,不適宜的著裝,抖手抖腳,沒有眼神接觸,過於緊張,沒有提問,顯示不出對這份職業的興趣,「我什麼都知道」的高傲態度,貶低你的現在和以前的僱主,遇到技術問題時煩躁不安或者垂頭喪氣,為自己找理由而不是虛心接受錯誤,與面試官發生爭執,不好的肢體語言,隨波逐流而沒有自己的看法,過於呆板,撒謊,嗓門太大,無法成為良好的傾聽者,等等。
提示:面試官要找的不是技術明星,而是實實在在具備了合適的技術技能、軟技能、端正的態度以及能為企業獲取利益、全面的專業人才。因此,不妨先研究下想要應聘的機構,深入了解其工作規范以調整回答問題時的方向和重點。將每一場面試都當作免費的培訓課程,積極調整心態,不但能達到一個雙贏的局面,還可以減少緊張的情緒,從而獲得更好的表現。這樣即使你並沒有得到那份工作,也可以由此學到點什麼,獲得進步。
❺ 產品經理面試一般都會問什麼問題
1) 問一些你以前的工作情況;
這應該屬於面試中的基本問題了,不管你應聘哪家公司這個問題都會被問到,而且往往是第一個。一來是了解一下你以前的工作情況,第二也為接下來的提問做好鋪墊。當然以前的工作經歷簡歷中都有寫,所以面試官大多都是針對簡歷中的某些項目來問一些他所關心的問題,例如在某個產品中你起到的作用、你的具體職責,對於某些功能點設計的出發點是什麼等等。每個面試官都會有自己的特點和關心的著重點,所以關心的問題也會有所不同。
在這個環節中也可能會問到你以前工作都用過什麼工具,寫過什麼文檔,工作流程是怎麼樣的這些問題。要說做產品工作使用的最專業的軟體就應該算是Axure了,但是工作久了以後誰都明白,工具並不重要,何況這些工具一學就會。即便不會用Axure直接在紙上畫出來也可以,而如果你的Axure用的再好,但是產品本身不好,那也等於白搭,關鍵的還是在於表達能力。當然了,我個人還是秉持著高保真原型的原則,因為畢竟這樣的話在你工作中會省去很多麻煩事,節省溝通成本。
2) 談一下你對某個產品的看法;
我在以前的博文中曾提到過,相比較做技術工作的人來說,做產品工作的更傾向於軟能力,而這種軟能力體現在個人的產品思想上,更或者說做產品的思維或理念。所以在面試的過程中很多面試官都會問你對某個產品的看法。「某個產品」有可能是應聘公司所做的產品,或者是你做過的產品。因為一個人很難在短時間內有自己的判斷(特別是對於工作經驗不足的產品人員),所以有的公司也會讓你說一下你對自己最常用的產品的看法,一來考驗你的產品感覺,第二也是看你個人的觀察能力。更有甚者會拿出電腦打開一個網站,讓你針對某一個頁面或功能談一下自己的看法。這個環節中會考察產品人員的產品分析或競品分析的能力。
產品人的邏輯思維很重要,有的面試官會在面試中先拋出一個問題,接下來伴隨著一系列「為什麼」、「理由是什麼」,這樣一種循序漸進的提問方式。既考驗了求職者的邏輯思維性,也考驗了求職者的產品能力,不過對求職者而言,這樣的面試方式壓力可能會比較大。另外,談起產品未來的發展,產品人的發散思維很重要,例如搜索引擎產品,談及它的未來,可能你就要圍繞著搜索引擎的用戶需求這個層面去思考,怎樣才能讓用戶更方便的在搜索引擎中得到結果等。這考察的是一個產品人的思路。
3) 詳細的問到一些產品中的規則;
前面說到有些公司會問你用過的最熟悉的產品是什麼,除了有可能讓你談一下對這個產品未來的發展趨勢的一些看法外,還有可能讓你說一下某個功能的規則,例如新浪微博搜索人物時的排序規則。產品人員在使用一款產品的時候除了本身作為用戶外,還有一層意義就是本著自身的專業性,發現別人家產品內在的意義,除了最外層的看之外還要更深層次的懂。在產品經理的能力中有一條就是學習能力,所以很多公司會在這個問題上考驗你的觀察能力和學習能力。
4) 產品自身層面的一些問題;
做產品除了本身的產品設計能力外,還有一點就是產品的思想。同一種產品不同的產品做出來後產品形態都會不同,特別是對於一些有獨特產品特質的公司來說,如果招聘一個雖然產品能力很強,但是做產品思想跟公司不一致,那麼在以後的工作中大家的合作就會出現問題,降低彼此的工作效率。這種問題看似並不嚴重,但是在實際情況中卻不是很容易解決。當然並不是說不可能解決,只是說找個符合公司產品氣質的人,就不會存在那些不必要的問題了。
在這一方面,很多公司會問你,你認為做產品最重要的素質是什麼,你如何看待用戶需求等等。類似於這樣的問題其實沒有標准答案,每個人都會有自己的看法,而就是這樣的問題會突顯出一個的產品經理自己的思想體系。產品是公司戰略的體現,產品領導人的觀點跟公司戰略發展不吻合的話,那麼這將關繫到產品未來的關鍵性死亡。所以對於把握產品方向的產品經理來說,面試的公司就會著重考慮這個問題。也許大家做出來的產品形態會有不同,但彼此的思路必須要是一致的。
5) 怎麼與同事溝通;
產品經理很重要的一項工作內容就是與人溝通,因為在一個產品從創意到誕生的過程中,產品經理要實時跟進和監督,保證開發計劃和產品質量,這就需要與各個部門的人進行溝通。很多人都說做產品的苦逼,痛苦之處在於一個產品的成功上線需要多方面的配合,產品經理需要去協調各個部門的資源配置。因此在面試的過程中面試官會問你一些問題來考察你的溝通能力,典型的問題例如當你與同事在某個產品問題上發生了爭執怎麼辦,當技術部的同事要砍掉你的功能模塊或者說認為你所設計的某個功能不重要這時候你怎麼去說服技術的同事等。關於溝通問題,我個人感覺一方面跟個人的性格有關,另一方面也要看溝通技巧,而這些技巧要靠在長期的工作中磨練。產品經理在與其他部門溝通的過程中要努力建立起自己的信任度。當然這需要一個長期的積累過程,特別是當你到了一家新的公司。
有時候一個產品經理去面一家公司之所以失敗了,並不是因為產品能力問題。面試官通常都是富有經驗的產品人,在工作中形成了自己的一套判斷事物的標准,所以說每個人對產品經理的考核標准也會有所不同。人無完人,很多時候是要看你的缺點是否是他在乎的,你的優點是否是他特別賞識的。而且在產品方面的很多事情並無是非之分,之所以失敗或許也是因為面試官和求職者的價值觀不同。我最近有個感觸,做產品經理的人貌似都有點傲氣,特別是當你做出成功產品之後,而這種傲氣往往會使自己過度自信而不接地氣。
最後說一下,因為我自己做產品的年限並不是很長,所以面試的產品崗位級別也不是很高,接觸到的問題也不會太深,所以以上問題或許比較適合初級的產品人員。如果是更高級的產品人員的話,可能還會遇到很多產品管理和產品戰略方面的問題。我知道在行業里,很多公司都喜歡找有相關經驗的產品人,的確有經驗確實是優勢,因為同一個發展方向的產品所需要做的功能有很大的相似性,有經驗的話做起產品來會更得心應手一些,既提高了工作效率也降低了犯錯誤的概率。但就跟技術語言似的,當你學會了一種C語言後,再去學習PHP也會更容易一些。雖然產品是不同的,但是方式方法是想通的,也確實有一些跨領域的產品經理做的特別好的。話雖如此,但仍然要承認有些行業的產品經理確實是需要具備這個行業的知識背景,例如金融和健康行業,但是當一個產品經理有非常好的的產品思想意識和學習能力的話,他們在跨領域的產品中也可以做的很好,最關鍵的還是要看個人的學習能力。
❻ 作為一名程序員,你真的理解需求嗎
作為一個程序員,最重要的職責就是: 按時保質保量地完成需求開發。
像開發新業務這樣的復雜需求, PM (Proct Manager,產品經理) 一般會寫出詳細的 PRD (Proct Requirement Document,產品需求文檔) ,甚至可能會製作高保真原型。
而像調換兩個按鈕順序這樣的簡單需求,PM有可能只會口頭通知一下,最多在JIRA之類的項目管理平台上創建一條只有標題的ISSUE。
如果是有和用戶交互的需求,負責設計的部門或人員一般會提供設計圖。專業一點的話還會幫你把圖都裁好,並准備不同屏幕解析度下使用的多個尺寸版本。
當然,如果你在一個剛剛成立的創業公司,很有可能是創始人在白板前(或者是飯桌上)講了半個小時,然後就問你:「需要多長時間把它做出來?」
不管提出需求的是PM還是創始人,他們的腦海中一定為這個需求設想好了一個自洽的邏輯和形態。PRD也好,口頭宣講也罷,都是在描述這個邏輯和形態。他們提出需求,就是希望程序員能夠最大程度地還原他們的設想。
說起來簡單,做起來難。 我們可以通過一個小實驗來揭示這一點。
首先,你需要找一張長方形的紙。如果你在辦公室,那就找一張A4紙;如果你在家,那就找一張紙巾。然後按照下面的步驟進行操作:
你的作品是什麼樣子?中間開洞了嗎?邊上呢?角上呢?如果再做一次,你能完成同樣的作品嗎?
你可以拿著同樣的紙去找你的家人、同事或朋友,請他們來完成同樣的操作。在你不施加影響的前提下,他們完成的作品極有可能和你截然不同。
為什麼會這樣呢?
如果你仔細觀察他們操作的過程,就會發現:
由於每次對折都會可能產生兩種不同結果,在撕第一個角時紙的朝向有四種可能性,旋轉180度時有兩種可能。所以僅僅兩個撕角的位置,就至少有 2 x 2 x 4 x 2 = 32 種不同的可能性。
就這樣,我們還沒有考慮撕角的大小、角度的區別,還有極少數人是會沿對角線對折的……
上面撕紙的需求,其實是我自己拿了張紙隨意擺弄,然後記錄下來的操作流程。我照著這個流程,可以十分輕松地做出完全相同的作品。但是如果讓別人來做,結果就完全不一樣。其原因就是,我在完成作品的過程中,不光是按照流程進行操作,還隱含了自己的一些小習慣,卻並沒有把這些細節記錄下來。
如果把所有細節都完整地記錄下來的話,需求應該是這樣的:
同樣,PM在寫PRD時,很有可能會漏掉一些自己認為應該是「常識」,無需再進一步說明的內容。比如「把一張紙對折」,我們很容易想當然地認為,應該是沿著長邊對折,但事實上並非所有人都是這么理解「對折」的。
由於每個人的成長經歷不同,其認知結構之間必然存在差異,因此對同一概念未必持有相同的理解。 你所認為的「常識」,我可能並不知道,或者擁有和你截然不同的理解。所以程序員在看PRD時,一定要把自己對需求的理解復述出來,跟PM確定是不是這么回事。否則就容易出現開發中、提測甚至上線後發現邏輯性錯誤,需要緊急修復甚至返工的情況。
此外, 很多問題在設想階段是發現不了的,只有到了具體實施時才會暴露出來。 PRD不可能真正做到完備,也不能保證沒有錯誤和遺漏。比如一個表單需求,很可能在做的過程中發現某個非法數據case是PRD里沒考慮到的,這時的用戶交互怎麼做?文案怎麼定?這都要和PM溝通來解決,而不能自己拍腦門決定。
PRD只是需求的一個快照性描述文檔,並不是需求本身。 程序員應該對需求負責,而不是對文檔負責。 只有和PM保持溝通,不斷地細化需求,才能讓需求真正落地。當發現PRD里有不合理或者有疑問的地方時,一定要提出來讓PM進行解釋。千萬別視若無睹,甚至乾脆將錯就錯,等著看PM笑話。
如果我們拿到了一份圖文並茂、十分詳盡的PRD,是不是應該馬上照著文檔開工呢?那可不一定。
一位優秀的程序員,應該在開工之前把下面這些問題想清楚:
程序員有責任對需求方案進行review,並協助PM改進設計。 要知道,PM一般不會從技術角度對需求進行考慮,所以往往提出的並非最優方案。有時只要做一點點調整,技術實現的難度就會大大降低,卻不影響目標的達成效果。
比如某個業務需要用到日期選擇器組件,PM為此專門設計了一個,而你知道系統中某個功能頁面里有現成可用的同類組件。這時就應該和PM溝通是否可以直接復用,或者在原有組件的基礎上進行功能擴展。這樣既節省了開發資源,又保持了用戶體驗的一致。
程序員要對整個產品的可用性負責,全面評估需求可能導致的不良影響,謹慎對待有破壞性的需求。 PM由於不了解系統的底層實現和實際數據的組織方式,所以很可能無法全面地評估需求的影響面。如果程序員忽視在這方面的思考,只是機械地按部就班地執行方案,就很可能導致嚴重的線上事故。
比如要對某數據進行批量修改,在做的過程中時發現該數據有多個業務正在使用。這時就應該必須停下來和PM溝通,因為PM可能只了解自己負責的那一塊業務,不知道修改可能會對其他業務產生影響。此類需求要和相關各方溝通協商,確認修改沒有不良影響後才能繼續。
程序員要有魄力去拒絕那些明顯不靠譜的需求。 有的時候,PM提出需求的動機不是為用戶創造更多的價值或提升用戶體驗,而是為了沖績效完成自己的KPI。為此拆東牆補西牆,從兄弟業務手裡搶流量入口;甚至殺雞取卵,以嚴重破壞用戶體驗的方式拉量。遇到這種事,程序員一定要堅持自己的原則,守住自己的底線。