程序員面試寶典
面試是通過書面、面談或線上交流(視頻、電話)的形式來考察一個人的工作能力與綜合素質(zhì),通過面試可以初步判斷應(yīng)聘者是否可以融入自己的團隊。是一種經(jīng)過組織者精心策劃的招聘活動。在特定場景下,以面試官對應(yīng)聘者的交談與觀察為主要手段,由表及里測評應(yīng)聘者的知識、能力、經(jīng)驗和綜合素質(zhì)等有關(guān)素質(zhì)的考試活動。面試是公司挑選職工的一種重要方法。
Java程序員面試寶典
面試例題1:對象與實例有什么區(qū)別?
解析:在Java的內(nèi)存分配中,對象和實例是不同的,前者分配在內(nèi)存堆里,后者分配在堆棧里,至于為什么要這樣分,參考一下其他的資料。對象是不變的東西,它是對客觀事物的抽象,實例是對操作對象的引用,你不能直接操作對象。
答案:對象和實例從宏觀的角度看,區(qū)別是:對象是同類事物的一種抽象表現(xiàn)形式,而實例是對象的具體化,一個對象可以實例化很多實例,對象就是一個模型,實例是照著這個模型生產(chǎn)的最終產(chǎn)品。實際上就是這樣,一個對象可以實例化N個實例。就像根據(jù)一個模型可以制造多個實際的產(chǎn)品一樣。
從內(nèi)存分配的角度來看,對象是保存在堆中的,而實例是存儲在棧中的,實例其實只是對象的一個引用,也就是指向?qū)ο蟮闹羔槨?
面試例題2:Java中所有的類都繼承了java.lang.Object類,而在C++中沒有像java.lang.Object這樣的類,這是為什么呢?都是面向?qū)ο,Java這樣做有什么好處呢?
解析:Java采用的是單根結(jié)構(gòu),所有的類都繼承了java.lang.Object類。對于Java這種純面向?qū)ο蟮恼Z言來說,這種設(shè)計具有很好的靈活性,比如對垃圾收集來說很有利,所有的類都具有java.lang.Object類具有的方法等。C++沒有更多這樣的方法,大概是為了向后兼容。向C兼容,滿足它設(shè)計上最大的靈活性。
答案:C++的特點是指針,一個指針可以指向任何的對象、結(jié)構(gòu)、基本類型、函數(shù)。
程序員面試寶典-筆試環(huán)節(jié)
筆試是程序員面試3個過程中最重要的一個環(huán)節(jié),也是最難以提升的一個環(huán)節(jié)。不論你有多么大的才干,多么廣博的知識,如果未能通過筆試,則無緣下面的進程。下面是一個表,描述了各種IT公司筆試所考題目的類型。
公 司 名 稱 公 司 類 型 筆 試 內(nèi) 容
Trend 網(wǎng)絡(luò)公司 C++ 或Java,網(wǎng)絡(luò),數(shù)據(jù)庫,設(shè)計模式,智力測試,英語閱讀
SAP 軟件咨詢,ERP,CRM C++,概率問題,設(shè)計模式,智力測試
Advantech 硬件,自動化公司 C++(尤其是指針問題),嵌入式編程
Synopsys 電子類公司 C++(尤其是指針問題),數(shù)據(jù)結(jié)構(gòu)
NEC 綜合軟件公司 C,數(shù)據(jù)結(jié)構(gòu)
金山 綜合軟件公司 C++或PHP,數(shù)據(jù)庫,數(shù)據(jù)結(jié)構(gòu),設(shè)計模式
華為 通信公司 C++或Java,數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)庫
中興 通信公司 C++或Java,數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)庫
VIA 硬件公司 C++(尤其是指針問題),嵌入式編程
華為3COM 網(wǎng)絡(luò)公司 C++,網(wǎng)絡(luò)
SPSS 數(shù)據(jù)統(tǒng)計軟件公司 C++(尤其是繼承、多態(tài)問題),數(shù)據(jù)結(jié)構(gòu)
Sybase 數(shù)據(jù)庫公司 C++,Linux,UNIX
Motorola 網(wǎng)絡(luò)公司 C++,網(wǎng)絡(luò)
IBM 綜合軟件公司 C++或Java
Oracle 數(shù)據(jù)庫公司 Java,數(shù)據(jù)庫
程序員筆試環(huán)節(jié)面試寶典
筆試是程序員面試3個過程中最重要的一個環(huán)節(jié),也是最難以提升的一個環(huán)節(jié)。不論你有多么大的才干,多么廣博的知識,如果未能通過筆試,則無緣下面的進程。下面是一個表,描述了各種IT公司筆試所考題目的類型。
公 司 名 稱
公 司 類 型
筆 試 內(nèi) 容
Trend
網(wǎng)絡(luò)公司
C++ 或Java,網(wǎng)絡(luò),數(shù)據(jù)庫,設(shè)計模式,智力測試,英語閱讀
SAP
軟件咨詢,ERP,CRM
C++,概率問題,設(shè)計模式,智力測試
Advantech
硬件,自動化公司
C++(尤其是指針問題),嵌入式編程
Synopsys
電子類公司
C++(尤其是指針問題),數(shù)據(jù)結(jié)構(gòu)
NEC
綜合軟件公司
C,數(shù)據(jù)結(jié)構(gòu)
金山
綜合軟件公司
C++或PHP,數(shù)據(jù)庫,數(shù)據(jù)結(jié)構(gòu),設(shè)計模式
華為
通信公司
C++或Java,數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)庫
中興
通信公司
C++或Java,數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)庫
VIA
硬件公司
C++(尤其是指針問題),嵌入式編程
華為3COM
網(wǎng)絡(luò)公司
C++,網(wǎng)絡(luò)
SPSS
數(shù)據(jù)統(tǒng)計軟件公司
C++(尤其是繼承、多態(tài)問題),數(shù)據(jù)結(jié)構(gòu)
Sybase
數(shù)據(jù)庫公司
C++,Linux,UNIX
Motorola
網(wǎng)絡(luò)公司
C++,網(wǎng)絡(luò)
IBM
綜合軟件公司
C++或Java
Oracle
數(shù)據(jù)庫公司
Java,數(shù)據(jù)庫
HP
程序員面試寶典
對于即將成為程序員的應(yīng)屆生,首先需要考慮的是如何選擇一個適合自己職業(yè)起步的公司,以及根據(jù)自己感興趣的技術(shù)確立自己將來的職業(yè)方向。對于已經(jīng)身為程序員的跳槽人員,則需要考慮繼續(xù)走技術(shù)方向還是轉(zhuǎn)型到管理、銷售等方面。在求職面試過程中需要什么流程以及需要注意什么細節(jié)?
針對初級C/C++工程師職位
所謂的初級C/C++工程師,也就是剛剛踏入C/C++開發(fā)領(lǐng)域的初學者,或者說是有過很短經(jīng)歷的C/C++開發(fā)者。針對這個職位,下面將會介紹這個職位所需要掌握的知識體系。
面向?qū)ο蟮闹R: C++是一個面向?qū)ο蟮拈_發(fā)語言,因此熟悉面向?qū)ο髮W習C++很有必要。讀者要了解:什么是對象、什么是類、什么是封裝、什么是多態(tài)、什么是繼承、什么是抽象類、什么是接口等。讀者不但要了解概念,還需要知道這些概念是如何體現(xiàn)的。例如,類和對象有什么區(qū)別?類是如何封裝的?
C/C++語法:如果讀者已經(jīng)有了開發(fā)經(jīng)驗,那對于學習C/C++語法來講比較容易。如果你有C++等面向?qū)ο笳Z言的開發(fā)經(jīng)驗,那么只需簡單的翻看介紹C/C++的相關(guān)書籍。如果你是新手,那么就好好研究一本有關(guān)C/C++初級教程之類的書。學習了C/C++語法,加上面向?qū)ο蟮闹R,相信讀者可以寫出來比較好的C/C++代碼。如果再抽出時間熟悉一下C/C++編程規(guī)范,那么代碼的水平就會比較正規(guī)了。
數(shù)據(jù)庫知識:作為一名初級C++開發(fā)工程師,必須要清楚如何使用數(shù)據(jù)庫進行一些簡單的開發(fā)工作,這是一些應(yīng)用軟件開發(fā)的基礎(chǔ)。
程序員面試筆試寶典
英文面試與中文面試有很多相似之處,但由于英文語言自身的特殊性以及中英文化的差異性,使得常規(guī)的應(yīng)對中文面試的方法與策略無法完全滿足在英文面試中的實際需求,還需要針對英文面試的特點制定一些應(yīng)對措施。
除了需要掌握一些常見的面試技巧以外,因為英文面試的特殊性,在英文面試中,還需要重點注意以下一些特別事項:
(1) 描述口語化
針對面試官的提問,在用英語回答的時候,求職者不要為了說英語而說英語,不要大量使用事先準備好的花哨詞匯及句式,而真正針對面試官所提問題的、與工作有關(guān)的個人見解卻很少,內(nèi)容空泛,邏輯混亂。最后可能得到一句英語不錯的夸獎,除此之外,什么都沒有了,自然也不會被錄用。所以,作為求職者,要明白一個道理,用簡單直白的語言表現(xiàn)最具魅力的自我,才是英文面試的最高境界。有些人習慣于堆砌華麗詞藻,明明可以簡單描述的內(nèi)容,非要用多種從句加以限定,恨不得在面試中用大氣磅礴的英文演講征服面試官,其實又犯了舍本逐末的錯誤,所以描述要口語化。
口語的特點在于結(jié)構(gòu)的不完整性和與說話場合的緊密依存性,口語中多使用“and”、“but”之類的連接詞,并且需要多使用單一的動詞結(jié)構(gòu),而少用復雜的并列句或從句。同時,在英語回答問題時,切忌語速過快,有些求職者以為只要在外國面試官前把英文說溜即可,越溜越能說明自己水平高,其他的無所謂,于是語速特別快。其實這是不對的,如果語速太快,老外根本就聽不懂這種趕火車似的中式英文,英文面試的目的雖然也是問了考察英語口頭表達能力,但不是炫英語口語,而是讓國外面試官了解你,甚至對你感興趣,最重要的是展示你的綜合素質(zhì),絕非單單的語言能力,表達清晰是首位,流利是第二位。而且,語速過快也容易給人不自信、不穩(wěn)重的錯覺。
程序員面試寶典-面試注意事項
面談的時候,要與面試官保持目光接觸,顯示出你的友好、真誠、自信和果斷。如果你不與對方保持目光接觸,或者習慣性地瞟著左上角或者右上角的話,會傳達給對方你對目前話題表現(xiàn)冷淡、緊張、說謊或者缺乏安全感的感覺。
如果對方問到的某個問題你不是很熟悉,有一段沉默的話,請不要尷尬和緊張。面試過程中允許沉默,你完全可以用這段時間來思考。可以用呼吸調(diào)整自己的狀態(tài)。如果過于緊張,可以直接告訴對方。表達出自己的.緊張情緒,能夠起到很好的舒緩作用。而且緊張本來也是正常的表現(xiàn)。
在面試過程中,應(yīng)聘者也保有自己的權(quán)利。比如面試時間過長,從上午一直拖到下午,而你未進午餐就被要求開始下午的面試的話,你完全可以要求進餐后再開始。面試是一個雙方信息溝通及達成合作目的的會談,是一個雙方彼此考量和認知的過程。不要忽略自己應(yīng)有的權(quán)利。
面談后,如果對方覺得你技術(shù)、溝通、態(tài)度各方面都不錯,也許會增加一個素質(zhì)測評確認一下對你的判斷。
素質(zhì)測評一般考查性格、能力、職業(yè)等方面,以判斷你的價值觀是否與企業(yè)相符。我們不需要去猜測這些題目到底要考查些什么,憑著你的第一感覺填寫就可以了。在幾十道甚至上百道題目中,都有幾道題是從不同角度考查一個方向的,憑猜測答題反而會前后有悖。
當然,要先看清楚題目,搞清楚是選擇一個最適合你自己的,還是描述得最不恰當?shù)。在通過面試之后,如果有多家公司和職位的Offer可以選擇的話,我們可以將公司的行業(yè)排名、公司性質(zhì)、人員規(guī)模、發(fā)展前景、企業(yè)文化、培訓機制,結(jié)合自身的生活水平、職業(yè)生涯發(fā)展規(guī)劃來進行排列,選出最適合自己的公司和職位。
程序員面試寶典:應(yīng)聘不同級別職位的技巧
應(yīng)聘初級職位,會針對你的編程能力和以往的項目經(jīng)驗進行重點的考查。如果面試官針對你做的某個項目反復提問,那么你就需要注意了,要么面試官在這個方面特別精通,要么就是未來的職位需要用到這方面的技術(shù)。我們應(yīng)該抱著一種誠懇的態(tài)度來回答,對熟悉的技術(shù)點可以詳細闡述,對于不熟悉的部分可以誠實地告訴面試官,千萬不要不懂裝懂。不過,我們同意可以引導與面試官的談話,把他盡量引導到我們所擅長的.領(lǐng)域。
應(yīng)聘中級職位,不但會考查代碼編寫,而且會對軟件架構(gòu)或相關(guān)行業(yè)知識方面進行考查。代碼編寫方面,主要以考查某種編程技巧來判斷你對代碼的駕馭能力。比如某國際知名軟件公司經(jīng)常會讓面試者編寫malloc或atoi函數(shù)。越是簡單的函數(shù)越能考驗應(yīng)聘者的編碼能力。你不但要實現(xiàn)功能,而且還要對可能出現(xiàn)的錯誤編寫防御性代碼,這些經(jīng)驗都需要在實際編程過程中積累。
應(yīng)聘高級職位,應(yīng)聘者肯定對技術(shù)或某個行業(yè)有相當程度的了解,這時主要是看你與職位的契合程度、企業(yè)文化的配比性(即將人力資源及成本配比作為服務(wù)體系的重要組成部分,將公司企業(yè)文化中核心理念及價值觀作為客戶服務(wù)的重要媒介)及整體感覺。應(yīng)聘管理職位的話,考查的更多是管理技巧、溝通技巧和性格因素。架構(gòu)師一般會考查行業(yè)背景與軟件架構(gòu)方面的知識,比如UML或建模工具的使用等;技術(shù)專家的職位則會針對相關(guān)技術(shù)進行深度考查,而不會再考查一般性的編碼能力。
程序員面試寶典-電話面試
電話面試主要是對簡歷上一些模糊信息的確認、之前經(jīng)歷的驗證、針對應(yīng)聘職位簡單技術(shù)問題的提問,以及英文方面的考查。
由于模式的限制,電話面試時間不會很長。在這個環(huán)節(jié)中,一定要表現(xiàn)得自信、禮貌、認真、嚴肅,這樣會在聲音上給對方一個良好的印象。如果聲音慵懶,語氣生硬,除非是技術(shù)題目及英文方面表現(xiàn)得足夠好,否則很難予以平衡。
在回答電話面試的問題時,不要過于緊張,要留心對方的問題,這些問題也許在當面的面試中還會再出現(xiàn)。如果對方在電話面試中要求你做英文的`自我介紹,或者干脆用英文和你對話,那在電話面試結(jié)束后一定要好好準備英文面試的內(nèi)容。
筆者曾經(jīng)參加過Thoughtworks、Sybase、SAP、麒麟原創(chuàng)等公司的電話面試。外企一般都會要求你做一個英文自我介紹和一些小問題,總的來說不會太過涉及技術(shù)方面,因為用英語來描述技術(shù)對國人而言還是有一定困難的。國企會問到技術(shù)問題,我就曾被問到如何在C++中調(diào)用C程序、索引的分類等技術(shù)問題,回答基本上要靠平時的積累和對知識的掌控能力。
.net程序員面試寶典
1.String str=new String("a")和String str = "a"有什么區(qū)別?
String str = "a"; 這個只是一個引用,內(nèi)存中如果有“a"的話,str就指向它,如果沒有才創(chuàng)建如后還用到"a"這個字符串的話并且是這樣用: String str1 = "a"; String str2 = "a"; String str2 = "a"; 這4個變量都共享一個字符串"a" 而String str = new String("a");是根據(jù)"a"這個String對象再次構(gòu)造一個String對象,將新構(gòu)造出來的String對象的引用賦給str
2.判斷字符串變量str是否為空的一下三種方法哪個性能更優(yōu)
a、str=="";b、str==String.Empty;c、str.Length==0;?答案是c;
3.string與String的區(qū)別
string、int是C#定義的類型,而String、Int32是.net類型即是CTS類型; string 是 .NET 框架中 System.String 的別名。string在編譯的時候會轉(zhuǎn)化為String類