IT旅途——程序员面试经验分享
面試是職場的永恒話題,如何在職場面試中脫穎而出,獲得心儀職位?這里搜集了關(guān)于面試經(jīng)驗(yàn)的熱文,其中匯集了阿里巴巴、百度、微軟幾個知名公司的面試題以及部分答題方法、技巧、面試的心得體會,供讀者參考。?
[1] 教你如何迅速秒殺掉:99%的海量數(shù)據(jù)處理面試題?
本文分成兩部分。第一部分、從set/map談到hashtable/hash_map/hash_set,簡要介紹下set/map/multiset/multimap,及hash_set/hash_map/hash_multiset/hash_multimap之區(qū)別(萬丈高樓平地起,基礎(chǔ)最重要),而本文第二部分,則針對上述那6種方法模式結(jié)合對應(yīng)的海量數(shù)據(jù)處理面試題分別具體闡述。
[2] 百度最新面試題集錦?
最新的面試題集有時也代表公司近來的研發(fā)方向甚至科研趨勢,這里,博主收集了一些百度最新的面試題集,其中有較為有趣的試題,
比如:?
螞蟻爬桿問題:?
有一根27厘米長的細(xì)木桿,在第3厘米,7厘米,11厘米,17厘米,23厘米這五個位置上各有一只螞蟻,木桿很細(xì),不能同時通過兩只螞蟻,開始時,螞蟻的頭朝向左還是右是任意的,他們只會朝前走或掉頭,但不會后退,當(dāng)兩只螞蟻相遇后,螞蟻會同時掉頭朝反方向走,假設(shè)螞蟻們每秒鐘可以走1厘米的距離。求所有螞蟻都離開木桿的最小時間和最大時間。?
答案:?
? 兩只螞蟻相遇后,各自掉頭朝相反方向走。如果我們不考慮每個螞蟻的具體身份,這和 兩只螞蟻相遇后,打個招呼繼續(xù)向前走沒有什么區(qū)別。?
? 所有螞蟻都離開木桿的最小時間為?
? max(min(3,27-3),min(7,27-7), min(11,27-11), min(17,27-17),min(23,27-23))=11?
? 所有螞蟻都離開木桿的最大時間為?
? max(max(3,27-3),max(7,27-7), max(11,27-11), max(17,27-17),max(23,27-23))=24
三個警察和三個囚徒的過河問題:?
三個警察和三個囚徒共同旅行。一條河擋住了去路,河邊有一條船,但是每次只能載2人。存在如下的危險:無論在河的哪邊,當(dāng)囚徒人數(shù)多于警察的人數(shù)時,將有警察被囚徒殺死。問題:請問如何確定渡河方案,才能保證6人安全無損的過河。?
答案:?
? 第一次:兩囚徒同過,回一囚徒?
? 第二次:兩囚徒同過,回一囚徒?
? 第三次:兩警察同過,回一囚徒一警察(此時對岸還剩下一囚徒一警察,是安全狀態(tài))?
? 第四次:兩警察同過,回一囚徒(此時對岸有3個警察,是安全狀態(tài))
[3] 阿里巴巴的面試
博主在文中指出,進(jìn)入技術(shù)面試之前,先要做一套相應(yīng)的試題,這里面涉及到平常不怎么注意的問題:
一是沒有定義訪問范圍的構(gòu)造函數(shù),前面未加public、protected或private限制等,默認(rèn)protected,編譯會報錯;
?
[4]蘋果面試8大難題及答案
蘋果這樣的公司通常會在面試過程中向求職者拋出一些邏輯的問題來考研面試者,所以,如果你對進(jìn)入蘋果感興趣,或者只是對邏輯問題感興趣,這些面試難題值得你仔細(xì)研究。
比如:?
"邏輯學(xué)家們圍成一圈坐著,他們的額頭上面畫有數(shù)字……”又來一個邏輯學(xué)家圍成一圈的問題,這次是這樣的,三個擁有完美邏輯推理能力的人圍成一圈坐在一個房間里,每個人的額頭上都畫著一個大于0的數(shù)字,三個人的數(shù)字各不相同,每個人都看得見其他兩個人的數(shù)字,看不見自己的。?
這三個數(shù)字的情況是,其中一個數(shù)字是其他兩個數(shù)字的和,已知的情況還有,其中一個邏輯學(xué)家的數(shù)字是20,一個是30。游戲組織者從這三個邏輯學(xué)家后面走過,并問三個人各自額頭上的數(shù)字是什么。但第一輪每個邏輯學(xué)家都回答他們無法推測自己的數(shù)字是什么。游戲組織者只好進(jìn)行第二輪的發(fā)問,這是為什么?你能據(jù)此猜出三個邏輯學(xué)家的數(shù)字嗎?
[5]12個有趣的C語言面試題
12個C語言面試題,涉及指針、進(jìn)程、運(yùn)算、結(jié)構(gòu)體、函數(shù)、內(nèi)存等內(nèi)容,比如:?
內(nèi)存泄露:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | 1.? #include<stdio.h> 2.?? 3.?? void? func( void ) 4.? { 5.?????? printf ( "\n Cleanup function called \n" ); 6.?????? return ; 7.? } 8.?? 9.?? int? main( void ) 10. { 11.????? int? i = 0; 12.? 13.????? atexit (func); 14.? 15.????? for (;i<0xffffff;i++); 16.? 17.???? _exit(0); 18. } |
這是因?yàn)開exit()函數(shù)的使用,該函數(shù)并沒有調(diào)用atexit()等函數(shù)清理。如果使用atexit()就應(yīng)當(dāng)使用exit()或者“return”與之相配合。
[6]Java程序員面試中的多線程問題
這篇文章收集了 Java 線程方面一些典型的問題,
比如:?
為什么需要 run ()和 start ()方法,我們可以只用 run ()方法來完成任務(wù)嗎??
我們需要 run ()&start ()這兩個方法是因?yàn)?JVM 創(chuàng)建一個單獨(dú)的線程不同于普通方法的調(diào)用,所以這項(xiàng)工作由線程的 start 方法來完成,start 由本地方法實(shí)現(xiàn),需要顯示地被調(diào)用,使用這倆個方法的另外一個好處是任何一個對象都可以作為線程運(yùn)行,只要實(shí)現(xiàn)了 Runnable 接口,這就避免因繼承了 Thread 類而造成的 Java 的多繼承問題。?????????????????????
[7]設(shè)計(jì)模式大集錦 程序員面試全攻略
無論你是參與Java面試還是C#面試,設(shè)計(jì)模式和軟件設(shè)計(jì)問題在程序員面試中是必不可少的一部分。本文總結(jié)了在各種面試過程中經(jīng)常被提及的一些設(shè)計(jì)問題。文中分為兩部分,一類為初學(xué)者,另一類專為中高級技術(shù)人員準(zhǔn)備。
[8]如何在面試時寫出高質(zhì)量的代碼
如何在面試時能寫出高質(zhì)量的代碼,是很多程序員關(guān)心的問題。作者總結(jié)自己多年面試他人以及被他人面試的經(jīng)驗(yàn),發(fā)現(xiàn)應(yīng)聘者可以從代碼的規(guī)范性、完整性和魯棒性三個方面提高代碼的質(zhì)量。
[9]編程技術(shù)面試的五大要點(diǎn)
編程面試是程序員面試過程中最為重要的一個環(huán)節(jié),其中主要關(guān)注應(yīng)聘者五種素質(zhì):
(1)扎實(shí)的基礎(chǔ)知識
(2)能寫高質(zhì)量的代碼
(3)分析問題時思路清晰
(4)能優(yōu)化時間效率和空間效率
(5)具備包括學(xué)習(xí)能力、溝通能力、發(fā)散思維能力等在內(nèi)的綜合能力。
[10] 談?wù)剬τ诩夹g(shù)面試的心得體驗(yàn)
博主在文中談到,一個公司的技術(shù)面試需要有良好的經(jīng)驗(yàn)傳承,不光光只是留來一些題庫;也不光光是一句要相互尊重,你代表公司的形象;更重要的如何去主導(dǎo)一場面試,全面、準(zhǔn)確的了解對方的能力。一般情況下,軟件公司招人總會對這三個方面的能力做一下考核,一是編程語言,二是數(shù)據(jù)結(jié)構(gòu)與算法,三是系統(tǒng)設(shè)計(jì)。
?
總結(jié)
以上是生活随笔為你收集整理的IT旅途——程序员面试经验分享的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一个初级程序员学习新技术的策略
- 下一篇: Linux命令之whereis