java程序員面試寶典
JAVA程序員廣義上是指一群以JAVA為謀生手段的軟件開發(fā)人員。狹義的說,是指擁有SUN公司JAVA認(rèn)證的程序員。面試是通過書面、面談或線上交流(視頻、電話)的形式來考察一個(gè)人的工作能力與綜合素質(zhì),通過面試可以初步判斷應(yīng)聘者是否可以融入自己的團(tuán)隊(duì)。是一種經(jīng)過組織者精心策劃的招聘活動(dòng)。
Java程序員面試寶典
面試?yán)}1:對(duì)象與實(shí)例有什么區(qū)別?
解析:在Java的內(nèi)存分配中,對(duì)象和實(shí)例是不同的,前者分配在內(nèi)存堆里,后者分配在堆棧里,至于為什么要這樣分,參考一下其他的資料。對(duì)象是不變的東西,它是對(duì)客觀事物的抽象,實(shí)例是對(duì)操作對(duì)象的引用,你不能直接操作對(duì)象。
答案:對(duì)象和實(shí)例從宏觀的角度看,區(qū)別是:對(duì)象是同類事物的一種抽象表現(xiàn)形式,而實(shí)例是對(duì)象的具體化,一個(gè)對(duì)象可以實(shí)例化很多實(shí)例,對(duì)象就是一個(gè)模型,實(shí)例是照著這個(gè)模型生產(chǎn)的最終產(chǎn)品。實(shí)際上就是這樣,一個(gè)對(duì)象可以實(shí)例化N個(gè)實(shí)例。就像根據(jù)一個(gè)模型可以制造多個(gè)實(shí)際的產(chǎn)品一樣。
從內(nèi)存分配的角度來看,對(duì)象是保存在堆中的,而實(shí)例是存儲(chǔ)在棧中的,實(shí)例其實(shí)只是對(duì)象的一個(gè)引用,也就是指向?qū)ο蟮闹羔槨?
面試?yán)}2:Java中所有的類都繼承了java.lang.Object類,而在C++中沒有像java.lang.Object這樣的類,這是為什么呢?都是面向?qū)ο,Java這樣做有什么好處呢?
解析:Java采用的是單根結(jié)構(gòu),所有的類都繼承了java.lang.Object類。對(duì)于Java這種純面向?qū)ο蟮恼Z(yǔ)言來說,這種設(shè)計(jì)具有很好的靈活性,比如對(duì)垃圾收集來說很有利,所有的類都具有java.lang.Object類具有的方法等。C++沒有更多這樣的方法,大概是為了向后兼容。向C兼容,滿足它設(shè)計(jì)上最大的靈活性。
答案:C++的特點(diǎn)是指針,一個(gè)指針可以指向任何的對(duì)象、結(jié)構(gòu)、基本類型、函數(shù)。