java面試必備基礎(chǔ)知識(shí)篇 java面試提問:什么是OOP?
java面試提問:什么是OOP?面向?qū)ο缶幊?OOP)是一種計(jì)算機(jī)編程架構(gòu)。面向?qū)ο蟪绦蛟O(shè)計(jì)的一個(gè)基本原則是,計(jì)算機(jī)程序是由一個(gè)單獨(dú)的單元或?qū)ο蠼M成的,它可以作為一個(gè)子程序。面向?qū)ο髮?shí)現(xiàn)了軟件工程的三
java面試提問:什么是OOP?
面向?qū)ο缶幊?OOP)是一種計(jì)算機(jī)編程架構(gòu)。面向?qū)ο蟪绦蛟O(shè)計(jì)的一個(gè)基本原則是,計(jì)算機(jī)程序是由一個(gè)單獨(dú)的單元或?qū)ο蠼M成的,它可以作為一個(gè)子程序。面向?qū)ο髮?shí)現(xiàn)了軟件工程的三個(gè)主要目標(biāo):可重用性、靈活性和可擴(kuò)展性。為了實(shí)現(xiàn)整個(gè)操作,每個(gè)對(duì)象都可以接收信息、處理數(shù)據(jù)和向其他對(duì)象發(fā)送信息。OOP主要有以下概念和組件:
組件-在運(yùn)行的計(jì)算機(jī)程序中,數(shù)據(jù)和功能一起形成的單元。組件是面向?qū)ο蟪绦蛑心K和結(jié)構(gòu)的基礎(chǔ)。
抽象——程序有能力忽略正在處理的信息的某些方面,也就是有能力關(guān)注信息的主要方面。
封裝——也稱為信息封裝:確保組件不會(huì)以不可預(yù)知的改變其他組件的內(nèi)部狀態(tài);只有那些提供內(nèi)部狀態(tài)更改方法的組件才能訪問它們的內(nèi)部狀態(tài)。每種類型的組件都提供了與其他組件通信的接口,并指定了其他組件的調(diào)用方法。
多態(tài)性——組件引用和類集涉及許多其他不同類型的組件,引用組件產(chǎn)生的結(jié)果取決于實(shí)際的調(diào)用類型。
繼承——允許在現(xiàn)有組件的基礎(chǔ)上創(chuàng)建子類,這統(tǒng)一并增強(qiáng)了多態(tài)性和封裝。通常情況下,組件按類分組,新的類可以定義為現(xiàn)有類的擴(kuò)展,這樣就可以將類組織成樹或網(wǎng)狀結(jié)構(gòu),這反映了動(dòng)作的通用性。
基于組件的編程在腳本語(yǔ)言中變得特別流行,因?yàn)樗哂谐橄笮浴⒎庋b性、可重用性和易用性。Python和Ruby是新興的語(yǔ)言,開發(fā)時(shí)完全采用了OOP的思想,流行的Perl腳本語(yǔ)言從版本5開始也逐漸加入了新的面向?qū)ο蟮墓δ芙M件。替換 "真實(shí)的帶有組件的實(shí)體成為了JavaScript(ECMAScript)流行的原因。已經(jīng)證明,組件的適當(dāng)組合可以取代互聯(lián)網(wǎng)上HTML和XML的文檔對(duì)象模型(DOM)。
Java程序員如何清楚的認(rèn)知自己的Java基礎(chǔ)知識(shí)?
去大廠面試,基本就知道了。找工作的時(shí)候經(jīng)??糐ava基礎(chǔ),必問。
可以參考一些基于Java的面試問題博客,還是很有幫助的。
這是一個(gè)通用問題,沒有標(biāo)準(zhǔn)答案。作為一個(gè)JavaEE開發(fā)者,至少你可以了解如何使用Spring、Struts、Hibernate、MyBati、Servlet、HTML、JSP、restful和mq。作為大數(shù)據(jù)驅(qū)動(dòng)者發(fā)送方至少要了解并使用Hadoop、Zookeeper、HBase、Spark。作為一個(gè)架構(gòu)開發(fā)人員,你至少應(yīng)該知道緩存、分發(fā)、jvm參數(shù)優(yōu)化、gc減負(fù)、各種數(shù)據(jù)結(jié)構(gòu)用法、設(shè)計(jì)模式、壓力測(cè)試,最好知道一些OS層面的限制。作為運(yùn)維工作者,你至少要懂安全防御,各種容器中間件的部署,OS層面的東西,最好懂密碼學(xué)。
有了這么多東西,它 很難說地基在哪里。
1.直接去公司面試。
2.在網(wǎng)上找一些面試題做。
3.加入一些技術(shù)小組,看看小組里的問題。
4.頭條有很多相關(guān)問題,請(qǐng)一一回復(fù)。