久久综合色一综合色88欧美|久久er热在这里只有精品66|国产福利一区二区不卡|日本精品动漫二区三区

    1. <address id="l3apk"><var id="l3apk"><source id="l3apk"></source></var></address>

      java軟件開(kāi)發(fā)工程師面試題

      時(shí)間:2022-11-24 07:10:07 面試技巧 我要投稿

      java軟件開(kāi)發(fā)工程師面試題

        Java軟件開(kāi)發(fā)工程師在面試前最好做好個(gè)人準(zhǔn)備,提前了解面試題很有必要,以下是陽(yáng)光網(wǎng)小編幫你們整理的java軟件開(kāi)發(fā)工程師面試題,一起來(lái)學(xué)習(xí)啦。

      java軟件開(kāi)發(fā)工程師面試題

        java軟件開(kāi)發(fā)工程師面試題(一)

        1.存儲(chǔ)過(guò)程和函數(shù)的區(qū)別

        從參數(shù)的返回其情況來(lái)看:

        如果返回多個(gè)參數(shù)值最好使用存儲(chǔ)過(guò)程,如果只有一個(gè)返回參數(shù)值的話可以使用函數(shù)。 從調(diào)用情況來(lái)看:

        如果在SQL語(yǔ)句(DML或者select)中調(diào)用的話一定是存儲(chǔ)函數(shù)或者是存儲(chǔ)的分裝函數(shù)不可以是存儲(chǔ)過(guò)程,但是調(diào)用存儲(chǔ)函數(shù)的時(shí)候還有很多限制以及函數(shù)的純度等級(jí)問(wèn)題,如果實(shí)在過(guò)程化語(yǔ)句中調(diào)用的虎牙,就要看你是實(shí)現(xiàn)什么樣的功能。函數(shù)一般情況先是用來(lái)計(jì)算并返回一個(gè)計(jì)算結(jié)果而存儲(chǔ)過(guò)程一般是一用來(lái)完成特定的數(shù)據(jù)操作(比如修改、插入數(shù)據(jù)庫(kù)表或執(zhí)行某些dml語(yǔ)句),所有雖然他們的語(yǔ)法上很相似但用戶在使用他們的時(shí)候所需要完成的功能大部分情況下是不同的。

        2.試述數(shù)據(jù)庫(kù)完整保護(hù)的主要任務(wù)和措施

        數(shù)據(jù)庫(kù)的完整性保護(hù)也就是數(shù)據(jù)庫(kù)中正確性的維護(hù)。數(shù)據(jù)庫(kù)的完整性包括三個(gè)內(nèi)容:實(shí)體完整性規(guī)則、參照物完整性規(guī)則和用戶定義完整性規(guī)則。前兩個(gè)使用DBMS自動(dòng)處理。

        實(shí)體完整性規(guī)則:是說(shuō)針對(duì)基表中的關(guān)鍵字屬性不能為空值,是數(shù)據(jù)庫(kù)完整性的基本要求,主關(guān)鍵字和元組的唯一性對(duì)應(yīng)。

        參照物完整性規(guī)則:是不允許引用不存在的元組:即基表中的外關(guān)鍵字要么為空,要么關(guān)聯(lián)基表中必然存在元組。

        用戶定義完整性規(guī)則:針對(duì)具體的數(shù)據(jù)環(huán)境由用戶具體設(shè)置的`規(guī)則,它反映了具體應(yīng)用中的語(yǔ)義要求。一個(gè)完整性規(guī)則一般有下面三個(gè)部分組成:完整性約束條件設(shè)置,完整性約束條件的檢驗(yàn)以及完整性約束條件的處理。后兩部分在數(shù)據(jù)庫(kù)中一般由相應(yīng)的模塊處理。另外觸發(fā)器也可以做完整性的保護(hù),但觸發(fā)器大量用于主動(dòng)性領(lǐng)域。

        3.請(qǐng)說(shuō)明SQLServer中的delete from tablea & truncate table tablea的區(qū)別。

        兩者都可以用來(lái)刪除表中的所有記錄。區(qū)別在于:truncate是DDL操作,它移動(dòng)HWK,是HWK值為0,不需要rollback segment ,而Delete是DML操作需要rollback segment 且話費(fèi)較長(zhǎng)時(shí)間。

        4.Oracle安裝完成后,如何使用命令行啟動(dòng)和關(guān)閉數(shù)據(jù)庫(kù)?

        打開(kāi):STARTUP [RESTRICT] [PFILE=filename] [OPEN [RECOVER][database] ]| MOUNT |NOMOUNT

        STARTUP OPEN:STARTUP :缺省的參數(shù)是OPEN,打開(kāi)數(shù)據(jù)庫(kù),允許數(shù)據(jù)庫(kù)的訪問(wèn)。當(dāng)前實(shí)力的控制文件中描述的所有文件都已打開(kāi)。

        STARTUP MOUNT:MOUNT數(shù)據(jù)庫(kù),僅僅給DBA進(jìn)行管理操作,不允許數(shù)據(jù)庫(kù)用戶的訪問(wèn)。僅僅只是當(dāng)前實(shí)例的控制文件打開(kāi),數(shù)據(jù)文件未打開(kāi)。

        STARTU NOMOUNT :僅僅通過(guò)初始化文件,分配出SGA區(qū),啟動(dòng)數(shù)據(jù)庫(kù)后臺(tái)進(jìn)程,沒(méi)有打開(kāi)控制文件和數(shù)據(jù)文件。不能訪問(wèn)任何數(shù)據(jù)庫(kù)。

        STARTUP PFILE=filename :以filename為初始化文件啟動(dòng)數(shù)據(jù)庫(kù)。不是采用缺省初始化文件。

        STARTUP FORCE:中止當(dāng)前數(shù)據(jù)庫(kù)的運(yùn)行,并開(kāi)始重新正常的啟動(dòng)數(shù)據(jù)庫(kù)。

        STARTUP RESTRICT:只允許具有RESTRICTED SESSION權(quán)限的用戶訪問(wèn)數(shù)據(jù)庫(kù)。

        STARTUP RECOVER:數(shù)據(jù)庫(kù)啟動(dòng),并開(kāi)始介質(zhì)恢復(fù)。

        關(guān)閉:shutdown有四個(gè)參數(shù):NOMAL、TRANSACTIONAL、IMMEDIATE、ABORT。缺省不帶任何參數(shù)時(shí)表示NORMAL。

        SHUTDOWN NORMA:不允許新的連接、等待會(huì)話結(jié)束、等待事務(wù)結(jié)束、做一個(gè)檢查點(diǎn)并關(guān)閉數(shù)據(jù)文件。啟動(dòng)時(shí)不需要實(shí)例恢復(fù)。

        SHUTDOWN TRANSACTIONAL:不允許新的連接、不等待會(huì)話結(jié)束、等待事務(wù)結(jié)束做一個(gè)檢查點(diǎn)并關(guān)閉數(shù)據(jù)文件。啟動(dòng)時(shí)不需要實(shí)例恢復(fù)。

        SHUTDOWN IMMEDIATE:不允許新的連接,不等待會(huì)話結(jié)束、不等待事務(wù)結(jié)束、做一個(gè)檢查點(diǎn)并關(guān)閉數(shù)據(jù)文件。沒(méi)有結(jié)束的事務(wù)是自動(dòng)rollback的。啟動(dòng)時(shí)不需要實(shí)例恢復(fù)。

        SHUTDOWN ABORT:不允許新的連接、不等待會(huì)話結(jié)束、不等待事務(wù)結(jié)束、不做檢查點(diǎn)并且沒(méi)有關(guān)閉數(shù)據(jù)文件。啟動(dòng)時(shí)自動(dòng)進(jìn)行實(shí)例恢復(fù)。

        另外,對(duì)于NORMAL、TRANSACTIONAL、IMMEDIATE,DE Buffer Cache的內(nèi)容寫(xiě)入了數(shù)據(jù)文件,沒(méi)有提交的事務(wù)被回滾,所有的資源被釋放,數(shù)據(jù)庫(kù)被干凈的關(guān)閉。對(duì)于ABORT,DB Buffer Cache的內(nèi)容沒(méi)有被寫(xiě)入數(shù)據(jù)文件,沒(méi)有提交的事務(wù)也沒(méi)有回滾。數(shù)據(jù)庫(kù)沒(méi)有dismount和關(guān)閉,數(shù)據(jù)文件也沒(méi)有關(guān)閉。當(dāng)數(shù)據(jù)庫(kù)啟東市,需要通過(guò)redo log恢復(fù)數(shù)據(jù),通過(guò)回滾段對(duì)事物回滾,對(duì)資源進(jìn)行釋放。

        java軟件開(kāi)發(fā)工程師面試題(二)

        1.類(lèi)有哪三種基本特性?各特性的優(yōu)點(diǎn)?

        類(lèi)具有封裝性、繼承性、和多態(tài)性。

        封裝性:類(lèi)的封裝性為類(lèi)的成員提供公有、缺省、保護(hù)和私有等多級(jí)訪問(wèn)權(quán)限,目的是隱藏類(lèi)中的私有變量和類(lèi)中的方法的實(shí)現(xiàn)細(xì)節(jié)。

        繼承性:類(lèi)的繼承性提供從已存在的類(lèi)的創(chuàng)建新類(lèi)的機(jī)制,繼承(inheritance)使一個(gè)新類(lèi)自動(dòng)擁有被繼承類(lèi)(父類(lèi))的全部可繼承的成員。

        多態(tài)性:類(lèi)的多態(tài)性提供類(lèi)中方法執(zhí)行的多樣性,多態(tài)性有兩種表現(xiàn)形式:重載和覆蓋。

        2.談?wù)剬?duì)XML的理解?說(shuō)明web應(yīng)用中web.xml文件的作用?

        XML(Extensible Markup Language)即可擴(kuò)展標(biāo)記語(yǔ)言,它與HTML一樣,都是SGML(Standard Generalized Markup Language標(biāo)磚通用標(biāo)記語(yǔ)言)。XML是Internrt環(huán)境中跨平臺(tái)的,依賴于內(nèi)容的技術(shù),是當(dāng)前處理結(jié)構(gòu)化文檔信息的有力工具。拓展標(biāo)記語(yǔ)言XML是一種簡(jiǎn)單的實(shí)際存儲(chǔ)語(yǔ)言,使用一系列簡(jiǎn)單的標(biāo)記描述數(shù)據(jù),而這些標(biāo)記可以用方便的方式建立,雖然XML占用的空間比二進(jìn)制數(shù)據(jù)要占用更多的'空間,但XML極其簡(jiǎn)單易于掌握和使用。

        Web.xml的作用是配置歡迎頁(yè),servlet 、filter、listenter等的。

        3.Jsp有哪些內(nèi)置對(duì)象?作用分別是什么?

        1).request 表示HttpServlet Request對(duì)象。它包含了有關(guān)瀏覽器請(qǐng)求的信息,并且提供了幾個(gè)獲取cookie,header和session數(shù)據(jù)的有用的方法。

        2).response表示HttpServletResponse對(duì)象,并且提供了幾個(gè)用于設(shè)置送回瀏覽器的響應(yīng)的方法(如cookies,header信息等)

        3).out對(duì)象是javax.jsp.JspWriter的一個(gè)實(shí)例,并提供了幾個(gè)方法能用于向?yàn)g覽器回送輸出結(jié)果

        4).pageContext表示一個(gè)javax.servlet.jsp.PageContext對(duì)象。它是用于方便存取各種范圍的名字空間、servlet相關(guān)的對(duì)象API,并且包裝了用用的servlet相關(guān)功能的方法。

        5).session表示一個(gè)請(qǐng)求的javax.servlet.http.HttpSession對(duì)象。Session可以存貯用戶的狀態(tài)信息。

        6).application表示一個(gè)javax.servlet.ServletContext對(duì)象,這有助于查找有關(guān)servlet引擎和servlet環(huán)境信息。

        7).config表示一個(gè)javax.servlet.ServletConfig對(duì)象。該對(duì)象用于存取servlet實(shí)例的初始化參數(shù)

        8).page表示從該頁(yè)面產(chǎn)生的一個(gè)servlet實(shí)例

        9).exceptiom針對(duì)錯(cuò)誤頁(yè)面,未捕捉的例外

        4.事務(wù)是什么?有哪些屬性,并且簡(jiǎn)要說(shuō)明這些屬性的含義。

        事務(wù)(Transaction)是訪問(wèn)并可能更新數(shù)據(jù)庫(kù)中各種數(shù)據(jù)項(xiàng)的一個(gè)程序執(zhí)行單元(unit)。 事務(wù)通常是由高級(jí)數(shù)據(jù)庫(kù)操縱語(yǔ)言(如SQL,C++或java)書(shū)寫(xiě)的用戶程序的執(zhí)行所引起,并用刑辱begin transaction 和end transaction語(yǔ)句(或者函數(shù)調(diào)用)來(lái)界定。事務(wù)由事務(wù)開(kāi)始(begin transaction)和事務(wù)結(jié)束(end transaction)之間執(zhí)行的全體操作組成。

        事務(wù)具有4個(gè)屬性:原子性、一致性、隔離性、持續(xù)性。這4個(gè)屬性通常稱(chēng)之為ACID特性。

        原子性(atomicity):一個(gè)事務(wù)是一個(gè)不可分割的工作單位,事務(wù)中包括的著操作要么都做,要么都不做。

        一致性(consistency):事務(wù)必須是使數(shù)據(jù)庫(kù)從一個(gè)一致性狀態(tài)變到另一個(gè)一致性狀態(tài)。一致性與原子性是密切相關(guān)的。

        隔離性(isolation):一個(gè)事務(wù)的執(zhí)行不能被其他事務(wù)干擾。即一個(gè)事務(wù)內(nèi)部的操作及使用的數(shù)據(jù)對(duì)并發(fā)的其他事務(wù)是隔離的,并發(fā)執(zhí)行的各個(gè)事務(wù)之間不能互相干擾。

        持久性(durability):持久性也稱(chēng)之為永久性(permanence),指一個(gè)事務(wù)一旦提交,它對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的改變就應(yīng)該是永久性的。接下來(lái)的其他操作或故障不應(yīng)該對(duì)其有任何影響。

        java軟件開(kāi)發(fā)工程師面試題(三)

        1.Collection和Collections的區(qū)別?

        Collection是java.Util下的接口,它是各種集合的父接口,繼承于它的接口主要有Set和List;

        Collections是java.util下的類(lèi),是針對(duì)集合的幫助類(lèi),提供一系列靜態(tài)方法實(shí)現(xiàn)對(duì)各種集合的搜索、排序、線程安全化等操作。

        2.HashMap和TreeMap的區(qū)別?

        HashMap通過(guò)hashcode對(duì)其內(nèi)容進(jìn)行快速查找。而TreeMap中所有的元素都保持著某種固定的順序,如果你需要得到一個(gè)有序的結(jié)果你就應(yīng)該使用TreeMap(HashMap中元素的排列順序是不固定的)。

        3.ArrayList和Vector的區(qū)別?

        同步性:Vector是線程安全的,也就是說(shuō)同步的,而ArrayList是線程不安全的,不是同步的;

        數(shù)據(jù)增長(zhǎng):當(dāng)需要增長(zhǎng)時(shí),vector默認(rèn)增長(zhǎng)為原來(lái)一倍,而ArrayList卻是原來(lái)的一半。

        4.HashMap和HashTable的區(qū)別?

        HashMap是HashTable的輕量級(jí)實(shí)現(xiàn)(非線程安全的實(shí)現(xiàn)),它們都實(shí)現(xiàn)了Map接口

        區(qū)別:

        1)在于HashMap允許空(null)鍵值(key),由于非線程安全,效率上高于HashTable。HashMap允許將null作為一個(gè)entry的key或者value,而HashTable不允許。

        2)HashMap把HashTable的contains方法去掉了,改成了containsvalue和containKey。因?yàn)閏ontains方法容易讓人引起誤解。

        3)HashTable繼承自Dictionary類(lèi),而HashMap是Java1.2引進(jìn)的Map interface的一個(gè)實(shí)現(xiàn)。

        4)最大的.不同之處在于:HashTable的方法是synchronize的,而HashMap不是,在多線程訪問(wèn)HashTable時(shí),不需要自己為它的方法實(shí)現(xiàn)同步,而HashMap就必須為之提供同步。

        5.請(qǐng)說(shuō)說(shuō)ArrayList、Vector、LinkedList的存儲(chǔ)性能和特性。

        ArrayList和Vector都是使用數(shù)組方式存儲(chǔ)數(shù)據(jù),此數(shù)組元素?cái)?shù)大于實(shí)際存儲(chǔ)的數(shù)據(jù)以便增加和插入元素,它們都允許直接按序號(hào)索引元素,但是插入元素要涉及數(shù)組元素移動(dòng)等內(nèi)存操作,所以索引數(shù)據(jù)快而插入數(shù)據(jù)慢,Vector由于使用了synchronized方法(線程安全),通常性能上較ArrayLIst差,而LinkedList使用雙向鏈表實(shí)現(xiàn)存儲(chǔ),按序號(hào)索引數(shù)據(jù)需要進(jìn)行前向或者后向遍歷,但是插入數(shù)據(jù)時(shí)只需要記錄本項(xiàng)的前后項(xiàng)即可。所以插入速度快。

      【java軟件開(kāi)發(fā)工程師面試題】相關(guān)文章:

      java軟件開(kāi)發(fā)工程師面試題寶典04-05

      java初級(jí)工程師面試題04-05

      高級(jí)java工程師面試題04-06

      java高級(jí)工程師面試題及答案04-05

      java最新面試題04-05

      java面試題匯總04-05

      java基礎(chǔ)面試題04-04

      java集合面試題04-04

      java高級(jí)面試題04-06