有一個(gè)朋友是做計(jì)算機(jī)程序員的,工資收入是非?捎^,但是在面試計(jì)算機(jī)等級(jí)二級(jí)程序員的時(shí)候需要做一些面試題,這就需要真本事了,所以在通過(guò)了解之后,一位面試成功的朋友說(shuō),感覺(jué)面試題百變不離其宗;無(wú)非就是兩方面的,技術(shù)和人力,當(dāng)然兩個(gè)方面多很主要的,先談技術(shù)吧。
技術(shù)方面:一般是分筆試,和項(xiàng)目講解,有的還會(huì)有機(jī)試
我在面試中遇到只遇到一次機(jī)試是在太極軟件公司
一般是面試有3方面的,編程基礎(chǔ),SQL, 框架, 設(shè)計(jì)模式,(還有英語(yǔ),腦筋急轉(zhuǎn)
彎的題,企業(yè)文化,個(gè)人規(guī)劃等等)
編程基礎(chǔ)一般考以下幾個(gè)方面
1 面向?qū)ο蠡咎卣?
繼承,封裝,多態(tài)
. 繼承:繼承是一種聯(lián)結(jié)類的層次模型,并且允許和鼓勵(lì)類的重用,它提供了一種明確表述共性的方法。對(duì)象的一個(gè)新類可以從現(xiàn)有的類中派生,這個(gè)過(guò)程稱為類繼 承。新類繼承了原始類的特性,新類稱為原始類的派生類(子類),而原始類稱為新類的基類(父類)。派生類可以從它的基類那里繼承方法和實(shí)例變量,并且類可 以修改或增加新的方法使之更適合特殊的需要。
. 封裝:封裝是把過(guò)程和數(shù)據(jù)包圍起來(lái),對(duì)數(shù)據(jù)的訪問(wèn)只能通過(guò)已定義的界面。面向?qū)ο笥?jì)算始于這個(gè)基本概念,即現(xiàn)實(shí)世界可以被描繪成一系列完全自治、封裝的對(duì)象,這些對(duì)象通過(guò)一個(gè)受保護(hù)的接口訪問(wèn)其他對(duì)象。
. 多態(tài)性:多態(tài)性是指允許不同類的對(duì)象對(duì)同一消息作出響應(yīng)。多態(tài)性包括參數(shù)化多態(tài)性和包含多態(tài)性。多態(tài)性語(yǔ)言具有靈活、抽象、行為共享、代碼共享的優(yōu)勢(shì),很好的解決了應(yīng)用程序函數(shù)同名問(wèn)題,具體表現(xiàn)為方法的重寫(xiě),重載
2 接口,抽象類的區(qū)別?abstractclass和integerface有什么區(qū)別?
抽 象類:特征 是聲明方法的存在而不去實(shí)現(xiàn)它,它用于要?jiǎng)?chuàng)建一個(gè)體現(xiàn)某些行為的類,并為該類 聲明方法,但不能在該類中實(shí)現(xiàn)該類的情況,不能創(chuàng)建abstract類的實(shí)例,然而可以創(chuàng)建一個(gè)類的變量,其類是一個(gè)抽象類,并讓它指向具體子類的一個(gè)實(shí) 例,不能 有抽象構(gòu)造函數(shù)或抽象構(gòu)造方法。abstract類的子類為他們父類中的所有抽象方法提供實(shí)現(xiàn),否則,它們也是抽象類,取而代之,在子類中實(shí)現(xiàn)該方法,知 道其行為
的其它類中可以實(shí)現(xiàn)這些方法。
接口:是抽象類的變體,在接口中所有的方法都是抽象的,多繼承性可以通過(guò)這樣的接口而來(lái)獲得, 接口中的所有方法都是抽象的,沒(méi)有一個(gè)有程序體,接口只可以定義staticfinal成員變量,接口的實(shí)現(xiàn)于子類相似,出來(lái)該實(shí)現(xiàn)類,不能沖接口中繼承 行為,當(dāng)然實(shí)現(xiàn)特殊接口時(shí),他定義所有的這種接口的方法,然后,它可以在 實(shí)現(xiàn)了該接口的類的任何對(duì)象上調(diào)用接口的方法,由于有抽象類,它允許使用接口 名作為引用變量的類型,通常的動(dòng)態(tài)的編輯將生效,引用可以轉(zhuǎn)換接口類型:
3 Overload和Override的區(qū)別?(方法方法重寫(xiě)和方法重載的區(qū)別)
Overloaded的方法是否可以改變返回值的類型:方法的重寫(xiě)Overriding和重載Overloading是Java多態(tài)性的不同表現(xiàn)。重寫(xiě) Overriding是父類與子類之間多態(tài)性的一種表現(xiàn),重載Overloading是一個(gè)類中多態(tài) 性的一種表現(xiàn)。如果在子類中定義某方法與其父類有相同的名稱和參數(shù),我們說(shuō)該方法被重寫(xiě) (Overriding)。子類的對(duì)象使用這個(gè)方法時(shí),將調(diào)用子類中的定義,對(duì) 它而言,父類中的定義如同被“屏蔽”了。如果在一個(gè)類中定義了多個(gè)同名的方法 ,它們或有不同的參數(shù)個(gè)數(shù)或有不同的參數(shù)類型,則稱為方法的重載(Overloading) 。Overloaded的方法是可以改變返回值的類型。
4 String是最基本的數(shù)據(jù)類型嗎,基本數(shù)據(jù)類型有幾種?
基本數(shù)據(jù)類型包括byte、int、char、long、float、double、boolean和short。要搞清楚各自存儲(chǔ)范圍
java.lang.String類是final類型的,因此不可以繼承這個(gè)類、不能修改這個(gè)類。為了提高效率節(jié)省空間,我們應(yīng)該用StringBuffer類,
5 int 和 Integer 有什么區(qū)別?(主要搞清楚原始類型,包裝類區(qū)別)
Java 提供兩種不同的類型:引用類型和原始類型(或內(nèi)置類型)。Int是java的原始數(shù)據(jù)類型,Integer是java為int提供的封裝類。Java為每個(gè)原始類型提供了封裝類。
原始類型封裝類booleanBoolean charCharacter byteByte shortShort intInteger longLong floatFloat doubleDouble
引 用類型和原始類型的行為完全不同,并且它們具有不同的語(yǔ)義。引用類型和原始類型具有不同的特征和用法,它們包括:大小和速度問(wèn)題,這種類型以哪種類型的數(shù) 據(jù)結(jié)構(gòu)存儲(chǔ),當(dāng)引用類型和原始類型用作某個(gè)類的實(shí)例數(shù)據(jù)時(shí)所指定的缺省值。對(duì)象引用實(shí)例變量的缺省值為 null,而原始類型實(shí)例變量的缺省值與它們的類型有關(guān)
6 String 和StringBuffer的區(qū)別
JAVA平臺(tái)提供了兩個(gè)類:String和StringBuffer,它們可以儲(chǔ)存和操作字符串,即包含多個(gè)字符的字符數(shù)據(jù)。這個(gè)String類提供了數(shù) 值不可改變的字符串。String 是final修飾的,而這個(gè)StringBuffer類提供的字符串進(jìn)行修改。當(dāng)你知道字符數(shù)據(jù)要改變的時(shí)候你就可以使用StringBuffer。典型 地,你可以使用StringBuffers來(lái)動(dòng)態(tài)構(gòu)造字符數(shù)據(jù)。可以使用toString()轉(zhuǎn)換成String的實(shí)例
在計(jì)算機(jī)培訓(xùn)欄目中還有計(jì)算機(jī)等級(jí)考試一級(jí)和三級(jí)的考試輔導(dǎo)資料,想獲得更多的資料,請(qǐng)點(diǎn)擊唯學(xué)網(wǎng)計(jì)算機(jī)等級(jí)考試培訓(xùn)欄目,?忌茼樌ㄟ^(guò)考試。