Ⅰ 程序員面試問題及答案
程序員面試問題及答案
程序員是從事程序開發、維護的專業人員。我整理的程序員面試問題及答案,希望大家喜歡!
1、兩柱香問題
題目:有兩柱不均勻的香,每柱香燃燒完需要1個小時,問:怎樣用兩柱香切出一個15分鍾的時間段?這個題的重點就是怎麼切。
解答:將甲香的一頭點著,將乙香的兩頭點著,當乙香燃燒完時,說明已經過了半個小時,同時也說明甲香也正好燃燒了一半,此時,將甲香的另一頭點著,從此時起到甲香完全燒完,正好15分鍾。
2、燈管問題
在房裡有三盞燈,房外有三個開關,在房外看不見房內的情況,你只能進門一次,你用什麼方法來區分那個開關控制那一盞燈?
解答:打開一盞燈10分鍾,關掉,打開第二盞,進去看看哪盞亮,摸摸哪盞熱,熱的是第一個打開的開關開的,亮的是第二個開關開的',另一個就是第三個。
3、兩位盲人問題
他們都各自買了兩對黑襪和兩對白襪,八對襪了的布質、大小完全相同,而每對襪了都有一張商標紙連著。兩位盲人不小心將八對襪了混在一起。 他們每人怎樣才能取回黑襪和白襪各兩對呢?
答案:每一對分開,一人拿一隻,因為襪子不分左右腳的;
4、果凍問題
你有一桶果凍,其中有黃色,綠色,紅色三種,閉上眼睛,同時抓取兩個果凍。抓取多少個就可以確定你肯定有兩個同一顏色的果凍?
答案:2次4個!
5、喝啤酒問題
假如每3個空啤酒瓶可以換一瓶啤酒,某人買了10瓶啤酒,那麼他最多可以喝到多少瓶啤酒?
答案:喝完10瓶後用9個空瓶換來3瓶啤酒(喝完後有4個空瓶)喝完這三瓶又可以換到1瓶啤酒(喝完後有2個空瓶),這時他有2個空酒瓶,如果他能向老闆先借一個空酒瓶,就湊夠了3個空瓶可以換到一瓶啤酒,把這瓶喝完後將空瓶還給老闆就可以了。
所以他最多可以喝10+3+1+1=15瓶
6、三人住旅館
有三個人去住旅館,住三間房,每一間房$10元,於是他們一共付給老闆$30,第二天,老闆覺得三間房只需要$25元就夠了於是叫小弟退回$5給三位客人,誰知小弟貪心,只退回每人$1,自己偷偷拿了$2,這樣一來便等於那三位客人每人各花了九元,於是三個人一共花了$27,再加上小弟獨吞了不$2,總共是$29。可是當初他們三個人一共付出$30那麼還有$1呢?
答案:他們所消費的27元里已經包括小弟的2元了,再加退還的3元=30元。這種題一定不要亂了陣腳,根據一條思路做:這30元現在的分布是:老闆拿25元,伙計拿2元,三人各拿1元,正好!
7、三筐蘋果問題
有三筐水果,一筐裝的全是蘋果,第二筐裝的全是橘子,第三筐是橘子與蘋果混在一起。筐上的標簽都是騙人的,(就是說筐上的標簽都是錯的)你的任務是拿出其中一筐,從裡面只拿一隻水果,然後正確寫出三筐水果的標簽。
答案:從標著「混合」標簽的筐里拿一隻水果,就可以知道另外兩筐裝的是什麼水果了。
分析:從混合的拿出一個來,如果是蘋果,而貼蘋果的筐里有可能是橘子和混合,如果是混合,說明貼橘子的筐里是橘子,不成立(因為前提說了,每個標簽都是錯的)。所以貼蘋果的筐里是橘子,則貼橘子的筐里是混合。
8、汽車加油問題
一輛載油500升的汽車從A開往1000公里外的B,已知汽車每公里耗油量為1升,A處有無窮多的油,其他任何地點都沒有油,但該車可以在任何地點存放油以備中轉,問從A到B最少需要多少油
解答:嚴格證明該模型最優比較麻煩,但確實可證,大膽猜想是解題關鍵。題目可歸結為求數列an=500/(2n 1) n=0,1,2,3......的和Sn什麼時候大於等於1000,解得n>6當n=6時,S6=977.57,所以第一個中轉點離起始位置距離為1000-977.57=22.43公里.所以第一次中轉之前共耗油22.43*(2*7 1)=336.50升此後每次中轉耗油500升,所以總耗油量為7*500 336.50=3836.50升。
9、兩個人猜數問題
教授選出兩個從2到9的數,把它們的和告訴學生甲,把它們的積告訴學生乙,讓他們輪流猜這兩個數, 甲說:「我猜不出」, 乙說:「我猜不出」, 甲說:「我猜到了」, 乙說:「我也猜到了」, 問這兩個數是多少?
解答:3和4。設兩個數為n1,n2,n1> =n2,甲聽到的數為n=n1 n2,乙聽到的數為m=n1*n2,證明n1=3,n2=4是唯一解。證明:要證以上命題為真,不妨先證n=7
1)必要性:
i) n> 5 是顯然的,因為n <4不可能,n=4或者n=5甲都不可能回答不知道
ii) n> 6 因為如果n=6的話,那麼甲雖然不知道(不確定2 4還是3 3)但是無論是2,4還是3,3乙都不可能說不知道(m=8或者m=9的話乙說不知道是沒有道理的)
iii) n <8 因為如果n> =8的話,就可以將n分解成 n=4 x 和 n=6 (x-2),那麼m可以是4x也可以是6(x-2)而4x=6(x-2)的必要條件是x=6即n=10,那樣n又可以分解成8 2,所以總之當n> =8時,n至少可以分解成兩種不同的合數之和,這樣乙說不知道的時候,甲就沒有理由馬上說知道。以上證明了必要性。
2)充分性
當n=7時,n可以分解成2 5或3 4
顯然2 5不符合題意,捨去,容易判斷出3 4符合題意,m=12,證畢
於是得到n=7 m=12 n1=3 n2=4是唯一解。
10、猴子吃香蕉問題
一個小猴子邊上有100 根香蕉,它要走過50 米才能到家,每次它最多搬50 根香蕉,每走1 米就要吃掉一根,請問它最多能把多少根香蕉搬到家裡。
解答:設 小猴從0 走到50, 到A 點時候他可以直接抱香蕉回家了, 可是到A 點時候他至少消耗了3A 的香蕉( 到A, 回0, 到A), 一個限制就是小猴只能抱50 只香蕉, 那麼在A 點小猴最多49 只香蕉.100-3A=49, 所以A=17. 這樣折騰完到家的時候香蕉剩100-3A-(50-A)=50-2A=16.
Ⅱ 程序員面試的時候考官一般問什麼問題(比較流行的)
給你提供點參考信息,希望能幫助到你:
1、使用相同的工具和時間限制模擬面試訓練
Google和微軟都會讓應聘者在白板上手工解答編程問題,但通常大部分的應聘者都是習慣於在電腦上利用編程工具系統編寫程序。因此面試的時候,某些應聘者離開了熟悉的電腦游標,站在白板前感覺手足無措不知該如何起行。又或者他們不習慣在編程之時旁邊有人觀看,這會讓他們感到緊張而無法正常思考。
在現實生活中,如果你想要橫渡英吉利海峽,自然不能總是在室內游泳池練習。你必須投身於大海在波濤之中訓練,在准備面試的時候也是如此。
在面試開始之前你最好向招聘單位詢問面試形式和面試問題。如果招聘單位讓你在某個房間考試且僅提供沒有匯編程序的編輯器,那麼就應該在家中按照這種情景進行練習。如果招聘公司單位讓你在白板上回答問題並會安排考官在旁監督,那麼你就要找一位軟體工程師來扮演考官配合你練習。即使找來的考官經驗不如你也沒有關系,他們依然能幫助你消除在他人面前出錯所帶來的緊張感,這樣可以讓你適應有人在旁邊盯著看的面試氛圍。
如果你恰巧認識我並希望由我來幫你聯系,那我的條件就是必須請我吃飯:如果你已經工作了就吃日本壽司大餐;如果你還是學生,那麼吃比薩餅也可以。
2、在面試過程中不要對細小錯誤耿耿於懷
我曾不止一次的在面試過程中碰到這種情況:當應聘者知道編程問題後,他馬上就想到了最佳的方案、確定了邊界條件,然後開始編寫程序。但在編寫過程中,應聘者犯了諸如首先檢查是不是操作順序錯誤或忘記設定某變數等無關大局的小錯誤,當我指出其錯誤之後,應聘者立刻變得十分緊張,這種焦慮情緒影響了他在後面環節的正常發揮。
其實這種恐懼心理完全不必要。一名優秀的程序員在編程過程中出現錯誤也是很正常的,就像是小提琴手在演奏高難度的巴赫交響樂時也會偶爾失誤。音樂會的聽眾可能會覺察到這些錯誤,但是聽眾絕對不會因為這種細小失誤就把出色的小提琴手看作是門外漢。
即便應聘者徹底搞砸了某個編程問題,面試考官也可能會提出不同的問題並會容忍應聘者在某個問題上的失誤。再退一步說,就算某次面試徹底失敗,你也有機會在其它面試上補救。
我的一位同事(一個項目的技術負責人)最近面試了一個人,在開始面試時他覺得面試者的交流方式存在問題,因此開始表現的相當不友好。但經過了整個面試過程後,面試者證明了自身的能力,而我的那位同事也成了那位面試者最堅定的支持者。在過去的一年中,我從未見過這位同事如此強烈的支持哪位面試者。
所以,因此就算面試進展不順,也務必堅持到底不要放棄。
Ⅲ 程序員個性面試
程序員個性面試
程序員個性面試,面試都是龍爭虎鬥的,人外有人天外有天,把自己有優秀的一面在面試官面前展示出來,關鍵是要做好自己的本職工作,如果遇到不合理的面試要求要學會拒絕,程序員個性面試,你學會了嗎?
考官好,我是計算機專業的面試者xxx,我此次應聘的職位是IT行業的軟體工程師,這份工作不僅與我的專業對口,同時也是我的特長與興趣所在。現在我就從以下三個方面介紹自己:
1、學習能力:我有較強的科研能力,能熟練的進行Windows2000和LINUX操作,並能使用VB,DELPHI等語言編程。能運用網頁三劍客Photoshop軟體進行相關工作。
2、實踐能力:我的專長是軟體開發,我希望能從事這方面的工作經驗,並且我曾經發過多個系統,如人事檔案管理系統,工資管理系統等等。
3、交際能力:我的性格沉穩,能坐得住,對IT行業的工作,具有非常好的適應能力,而且為人謙和,具有很強的組織和協調能力 ,富有的事業心和責任感使我能夠面對任何困難和挑戰。
從以上的簡單自我介紹,我希望公司能給我一個展示自己能力的機會,讓我我可以學以致用,同時我也很欣賞XX公司的企業文化與工作環境。我願意成為企業一員,為企業的發展貢獻自己的一份力量。 我的職業生涯目標是,做一個既懂技術,又懂業務的復合型人才。
您好!我是一名即將於xxxx年畢業的xx大學xx學院學生,所學專業是計算機。大學四年來,我學習刻苦,成績優異,曾多次獲得獎學金。在師友的嚴格教益和個人努力下,我具備了扎實的基礎知識。在軟體方面,系統掌握了C語言,數據結構,資料庫原理,匯編語言,軟體工程等,並對面向對象的DELPHI和VC等Windows編程有一定了解。課外我還自學了VBVF編程,ASP動態網頁及SQL Server等網路資料庫編程語言。現已能獨立編寫專業的資料庫管理系統。在硬體方面,通過參與單片機設計,組裝收音機,網路工程的`規劃與管理及組建等實踐活動,我掌握了計算機的工作原理及計算機網路原理技術。
自入校以來,我充分利用業余時間廣泛的參加社會實踐活動。在我校信息學院計算機實驗室工作的兩年裡,不但使我的專業技能得到了升華,也使我的管理和組織才能得以發揮和進一步的鍛煉,得到了領導和老師的肯定和表揚。而且,曾經在歐亞科技等一些公司的打工經歷使我具有一定的營銷經驗和社會經歷,且業績斐然。除此之外,在校期間,我還做過家教、社會調查等社會實踐活動,積累了豐富的實踐經驗。
若有幸加盟,我可以致力於貴公司的軟體開發或根據公司的需要隨時致力於某方面的工作和學習。「順兮,逆兮,無阻我飛揚」是我的座右銘;「如臨深淵,如履薄冰」是我的工作態度;「真誠,守信」是我的最大特點;開闊的胸襟使我獲得許多朋友。聰明的頭腦,創造的思維,開拓進取的堅韌,加上純熟的專業技能,相信我是您的最佳選擇。
你好!我叫xx,我是一名即將畢業本科學生,我的專業特長是:能熟練地運用編程工具Eclipse開發應用軟體,熟悉C,Java,SQL,Oracle,JSP,SSH等,SQLServer20xx的操作。熟悉dreamweaver等工具編排和快速製作網頁。對Internet有一定的使用經驗和理解。
對於軟體測試技術,軟體質量保證以及軟體項目管理有一定的了解。我力求上進、吃苦耐勞,勤奮工作,我通過積極參與社會實踐活動,鍛煉了我組織、管理和交際的能力,培養了我全面的綜合素質。這一切賦予了我作為當代青年所必備的能力、膽識和責任心,也磨練了我吃苦耐勞的精神和了解了為人處世的道理。我會盡我所能為公司服務,把公司的事當作自己的事處理。我希望在新的崗位中發揮我的創造性、積極性,用我所學,為您所用。我相信沒有最好,只有更好,在您的信任和培養下我堅信我會做得更好!