版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
本文格式為Word版,下載可任意編輯——IT面試筆試題目參考最新IT面試筆試題目參考
IT面試筆試題目難嗎?求職面試時(shí),面試官一般都會(huì)問你一些問題,也可能是通過問卷的形式提問,怎么回復(fù)才是最好的呢?這里給大家共享一些IT面試筆試題目,夢(mèng)想對(duì)大家有所扶助。
Java多線程面試題:線程并發(fā)面試題
1、Sleep()、suspend()和wait()之間有什么識(shí)別?
Thread.sleep()使當(dāng)前線程在指定的時(shí)間處于“非運(yùn)行”(NotRunnable)狀態(tài)。線程一向持有對(duì)象的監(jiān)視器。譬如一個(gè)線程當(dāng)前在一個(gè)同步塊或同步方法中,其它線程不能進(jìn)入該塊或方法中。假設(shè)另一線程調(diào)用了interrupt()方法,它將喚醒那個(gè)“睡眠的”線程。
留神:sleep()是一個(gè)靜態(tài)方法。這意味著只對(duì)當(dāng)前線程有效,一個(gè)常見的錯(cuò)誤是調(diào)用t.sleep(),(這里的t是一個(gè)不同于當(dāng)前線程的線程)。即便是執(zhí)行t.sleep(),也是當(dāng)前線程進(jìn)入睡眠,而不是t線程。t.suspend()是過時(shí)的方法,使用suspend()導(dǎo)致線程進(jìn)入停滯狀態(tài),該線程會(huì)一向持有對(duì)象的監(jiān)視器,suspend()輕易引起死鎖問題。
object.wait()使當(dāng)前線程出于“不成運(yùn)行”狀態(tài),和sleep()不同的是wait是object的方法而不是thread。調(diào)用object.wait()時(shí),線程先要獲取這個(gè)對(duì)象的對(duì)象鎖,當(dāng)前線程務(wù)必在鎖對(duì)象保持同步,把當(dāng)前線程添加到等待隊(duì)列中,隨后另一線程可以同步同一個(gè)對(duì)象鎖來調(diào)用object.notify(),這樣將喚醒原來等待中的線程,然后釋放該鎖。根本上wait()/notify()與sleep()/interrupt()類似,只是前者需要獲取對(duì)象鎖。
2、什么是線程餓死,什么是活鎖?
當(dāng)全體線程阻塞,或者由于需要的資源無效而不能處理,不存在非阻塞線程使資源可用。JavaAPI中線程活鎖可能發(fā)生在以下情形:
當(dāng)全體線程在程序中執(zhí)行Object.wait(0),參數(shù)為0的wait方法。程序?qū)l(fā)生活鎖直到在相應(yīng)的對(duì)象上有線程調(diào)用Object.notify()或者Object.notifyAll()。
當(dāng)全體線程卡在無限循環(huán)中。
3、什么是JavaTimer類?如何創(chuàng)造一個(gè)有特定時(shí)間間隔的任務(wù)?
java.util.Timer是一個(gè)工具類,可以用于安置一個(gè)線程在未來的某個(gè)特定時(shí)間執(zhí)行。Timer類可以用安置一次性任務(wù)或者周期任務(wù)。
java.util.TimerTask是一個(gè)實(shí)現(xiàn)了Runnable接口的抽象類,我們需要去繼承這個(gè)類來創(chuàng)造我們自己的定時(shí)任務(wù)并使用Timer去安置它的執(zhí)行。
4、Java中的同步集合與并發(fā)集合有什么識(shí)別?
同步集合與并發(fā)集合都為多線程和并發(fā)供給了適合的線程安好的集合,不過并發(fā)集合的可擴(kuò)展性更高。
在Java1.5之前程序員們只有同步集合來用且在多線程并發(fā)的時(shí)候會(huì)導(dǎo)致爭(zhēng)用,阻礙了系統(tǒng)的擴(kuò)展性。
Java5介紹了并發(fā)集合像ConcurrentHashMap,不僅供給線程安好還用鎖分開和內(nèi)片面區(qū)等現(xiàn)代技術(shù)提高了可擴(kuò)展性。
5、同步方法和同步塊,哪個(gè)是更好的選擇?
同步塊是更好的選擇,由于它不會(huì)鎖住整個(gè)對(duì)象(當(dāng)然你也可以讓它鎖住整個(gè)對(duì)象)。同步方法會(huì)鎖住整個(gè)對(duì)象,哪怕這個(gè)類中有多個(gè)不相關(guān)聯(lián)的同步塊,這通常會(huì)導(dǎo)致他們中斷執(zhí)行并需要等待獲得這個(gè)對(duì)象上的鎖。
6、什么是線程池?為什么要使用它?
創(chuàng)造線程要花費(fèi)昂貴的資源和時(shí)間,假設(shè)任務(wù)來了才創(chuàng)造線程那么響應(yīng)時(shí)間會(huì)變長(zhǎng),而且一個(gè)進(jìn)程能創(chuàng)造的線程數(shù)有限。
為了制止這些問題,在程序啟動(dòng)的時(shí)候就創(chuàng)造若干線程來響應(yīng)處理,它們被稱為線程池,里面的線程叫工作線程。
從JDK1.5開頭,JavaAPI供給了Executor框架讓你可以創(chuàng)造不同的線程池。譬如單線程池,每次處理一個(gè)任務(wù);數(shù)目固定的線程池或者是緩存線程池(一個(gè)適合好多生存期短的任務(wù)的程序的可擴(kuò)展線程池)。
7、Java中invokeAndWait和invokeLater有什么識(shí)別?
這兩個(gè)方法是SwingAPI供給給Java開發(fā)者用來從當(dāng)前線程而不是事情派發(fā)線程更新GUI組件用的。InvokeAndWait()同步更新GUI組件,譬如一個(gè)進(jìn)度條,一旦進(jìn)度更新了,進(jìn)度條也要做出相應(yīng)變更。
假設(shè)進(jìn)度被多個(gè)線程跟蹤,那么就調(diào)用invokeAndWait()方法苦求事情派發(fā)線程對(duì)組件舉行相應(yīng)更新。而invokeLater()方法是異步調(diào)用更新組件的。
8、多線程中的忙循環(huán)是什么?
忙循環(huán)就是程序員用循環(huán)讓一個(gè)線程等待,不像傳統(tǒng)方法wait(),sleep()或yield()它們都放棄了CPU操縱,而忙循環(huán)不會(huì)放棄CPU,它就是在運(yùn)行一個(gè)空循環(huán)。這么做的目的是為了留存CPU緩存。
在多核系統(tǒng)中,一個(gè)等待線程醒來的時(shí)候可能會(huì)在另一個(gè)內(nèi)核運(yùn)行,這樣會(huì)重建緩存。為了制止重建緩存和裁減等待重建的時(shí)間就可以使用它了。
Angular面試題匯總及答案
1、什么是Angular?
Angular是基于typescript編程語(yǔ)言的,開源的網(wǎng)絡(luò)應(yīng)用開發(fā)框架。是由谷歌倡導(dǎo)開發(fā)和維護(hù)的。它使用簡(jiǎn)樸,功能強(qiáng)大,可以快速搭建前端網(wǎng)絡(luò)應(yīng)用。
它供給了好多分外優(yōu)秀的功能,譬如說聲明性的模板,憑借注入,端到端的工具,等等可以為網(wǎng)絡(luò)應(yīng)用開發(fā)供給便利。
2、解釋Angular2應(yīng)用程序的生命周期hooks是什么?
Angular2組件/指令具有生命周期事情,是由@angular/core管理的。@angular/core會(huì)創(chuàng)造組件,渲染它,創(chuàng)造并呈現(xiàn)它的后代。
當(dāng)@angular/core的數(shù)據(jù)綁定屬性更改時(shí),處理就會(huì)更改,在從DOM中刪除其模板之前,就會(huì)銷毀掉它。Angular供給了一組生命周期hooks(特殊事情),可以被分接到生命周期中,并在需要時(shí)執(zhí)行操作。
構(gòu)造函數(shù)會(huì)在全體生命周期事情之前執(zhí)行。每個(gè)接口都有一個(gè)前綴為ng的hook方法。例如,ngOnint界面的OnInit方法,這個(gè)方法務(wù)必在組件中實(shí)現(xiàn)。
3、事情放射器如何在Angular2中工作的?
Angular2不具有雙向digestcycle,這是與Angular1不同的。在Angular2中,組件中發(fā)生的任何變更總是從當(dāng)前組件傳播到其全體子組件中。假設(shè)一個(gè)子組件的更改需要反映到其父組件的層次布局中,我們可以通過使用事情放射器api來發(fā)出事情。
簡(jiǎn)而言之,EventEmitter是在@angular/core模塊中定義的類,由組件和指令使用,用來發(fā)出自定義事情。
4、如何優(yōu)化Angular2應(yīng)用程序來獲得更好的性能?
優(yōu)化取決于應(yīng)用程序的類型和大小以及大量其他因素。一般來說,在優(yōu)化Angular2應(yīng)用程序時(shí)要考慮以下幾點(diǎn):
1)考慮AOT編譯。
2)確保應(yīng)用程序已經(jīng)經(jīng)過了捆綁,uglify和treeshaking。
3)確保應(yīng)用程序不存在不必要的import語(yǔ)句。
4)確保應(yīng)用中已經(jīng)移除了不使用的第三方庫(kù)。
5)全體dependencies和dev-dependencies都是明確分開的。
6)假設(shè)應(yīng)用程序較大時(shí),我會(huì)考慮延遲加載而不是完全捆綁的應(yīng)用程序。
5、什么是ShadowDOM?它如何扶助Angular2更好地執(zhí)行?
ShadowDOM是HTML模范的一片面,它允許開發(fā)人員封裝自己的HTML標(biāo)記,CSS樣式和JavaScript。ShadowDOM以及其它一些技術(shù),使開發(fā)人員能夠像標(biāo)簽一樣構(gòu)建自己的一級(jí)標(biāo)簽,Web組件和API??偟膩碚f,這些新的標(biāo)簽和API被稱為Web組件。ShadowDOM通過供給了更好的關(guān)注分開,通過其它的HTMLDOM元素實(shí)現(xiàn)了更少的樣式與腳本的沖突。
由于shadowDOM本質(zhì)上是靜態(tài)的,同時(shí)也是開發(fā)人員無法訪問的,所以它是一個(gè)很好的候選對(duì)象。由于它緩存的DOM將在欣賞器中呈現(xiàn)得更快,并供給更好的性能。
此外,還可以相對(duì)很好地管理shadowDOM,同時(shí)檢測(cè)Angular2應(yīng)用的變更,并且可以有效地管理視圖的重新繪制。
6、service怎么使用?
AngularJS中你可以創(chuàng)造自己的服務(wù),或使用內(nèi)建服務(wù)。
使用Module的provider方法;
使用Module的factory方法;
使用Module的service方法;
三種方法的對(duì)比:
需要在config中舉行全局配置的話,只能選擇provider方法,factory和service是使用對(duì)比頻繁的創(chuàng)造服務(wù)的方法。
它們之間的唯一識(shí)別是:service方法用于注入的結(jié)果通常是new出來的對(duì)象,factory方法注入的結(jié)果通常是一系列的functions;
provider是創(chuàng)造服務(wù)最為繁雜的方法,除非你需要?jiǎng)?chuàng)造一個(gè)可以復(fù)用的代碼段并且需要舉行全局配置,才需要使用provider創(chuàng)造;
全體具有特定性目的的對(duì)象都是通過factory方法去創(chuàng)造。
7、Angular和Angularjs的識(shí)別是什么?
Angularjs支持的是mvc設(shè)計(jì)模型。Angular是基于組件和directives的。
Angular支持憑借注入,Angularjs不支持。
Angularjs的ngdirective需要image,屬性和一個(gè)事情,angular只需要括號(hào)和方括號(hào)來綁定數(shù)據(jù)屬性和事情就可以了。
Angularjs不支持移動(dòng)設(shè)備的開發(fā)。Angular支持手機(jī)開發(fā)。
Angularjs的首推語(yǔ)言是JavaScript。Angular的首推語(yǔ)言是typescript.
路徑設(shè)置上,angularjs使用的是routeprovider。Angular使用的是routeconfig.
在開發(fā)速度上,Angular要快于Angularjs。
在運(yùn)行速度上,angular也要快于angularjs。
Angular的整個(gè)程序的架構(gòu)比angularjs更明顯,更簡(jiǎn)樸,更輕易維護(hù)。
目前Angularjs已經(jīng)沒有官方的維護(hù)和更新支持了。Angular官方維護(hù)和更新都做得很好。
8、Angular的核心部件有哪些?
共有9個(gè),一個(gè)是components,另外一個(gè)是databinding,再一個(gè)是dependencyinjection,然后是directives,再就是metadata,然后是modules,再就是routing,還有services,結(jié)果一個(gè)是template。
9、什么是數(shù)據(jù)綁定?在Angular中有幾種方式?
連接程序中的數(shù)據(jù)跟視圖的方式稱為數(shù)據(jù)綁定。
一共有三種方式。一種是事情綁定,這種方式使得應(yīng)用程序可以對(duì)用戶的輸入做出回響。另一種是屬性綁定。這種方式是從應(yīng)用數(shù)據(jù)向html傳遞數(shù)據(jù)。結(jié)果一種方式是雙向綁定。這種綁定可以支持用程序數(shù)據(jù)的修改影響視圖,同時(shí)視圖上數(shù)據(jù)的改動(dòng)也會(huì)影響到應(yīng)用程序的數(shù)據(jù)。
10、Angular中有哪些事情?
click,copy,cut,dbclick,keydown,keypress,keyup,mousedown,mouseenter,mouseleave,mousemove,mouseover,mouseup,blur.
史上最全Database工程師題庫(kù)
1、查詢Student表中的全體記錄的Sname、Ssex和Class列。
2、查詢教師全體的單位即不重復(fù)的Depart列。
3、查詢Student表的全體記錄。
4、查詢Score表中勞績(jī)?cè)?0到80之間的全體記錄。
5、查詢Score表中勞績(jī)?yōu)?5,86或88的記錄。
6、查詢Student表中“95031”班或性別為“女”的同學(xué)記錄。
7、以Class降序查詢Student表的全體記錄。
8、以Cno升序、Degree降序查詢Score表的全體記錄。
9、查詢“95031”班的學(xué)生人數(shù)。
10、查詢Score表中的最高分的學(xué)生學(xué)號(hào)和課程號(hào)。
11、查詢‘3-105’號(hào)課程的平均分。
12、查詢Score表中至少有5名學(xué)生選修的并以3開頭的課程的平均分?jǐn)?shù)。
13、查詢最低分大于70,最高分小于90的Sno列。
14、查詢?nèi)w學(xué)生的Sname、Cno和Degree列。
15、查詢?nèi)w學(xué)生的Sno、Cname和Degree列。
16、查詢?nèi)w學(xué)生的Sname、Cname和Degree列。
17、查詢“95033”班所選課程的平均分。
18、假設(shè)使用如下命令建立了一個(gè)grade表:
createtablegrade(lownumber(3,0),uppnumber(3),rankchar(1));
intogradevalues(90,100,’A’);
intogradevalues(80,89,’B’);
in
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 上海工藝美術(shù)職業(yè)學(xué)院《化學(xué)教師職業(yè)技能訓(xùn)練》2023-2024學(xué)年第一學(xué)期期末試卷
- 圍草地(教學(xué)實(shí)錄)-2024-2025學(xué)年一年級(jí)上冊(cè)數(shù)學(xué)蘇教版
- 幼兒園考編課程設(shè)計(jì)
- 2024年秋季小學(xué)數(shù)學(xué)北京課改版五年級(jí)數(shù)學(xué)(北京版)-總復(fù)習(xí):解決長(zhǎng)方體和正方體實(shí)際問題-3學(xué)習(xí)任務(wù)單
- 2024年秋季小學(xué)數(shù)學(xué)北京課改版五年級(jí)【數(shù)學(xué)(北京版)】小數(shù)除法解決問題(第二課時(shí))-4課后練習(xí)
- 漢字教學(xué)的現(xiàn)狀與挑戰(zhàn)
- 校園食品安全班會(huì)課
- UG NX12.0機(jī)電產(chǎn)品三維數(shù)字化設(shè)計(jì)實(shí)例教程 課件
- 冰雪產(chǎn)業(yè)前景與消費(fèi)市場(chǎng)發(fā)展趨勢(shì)報(bào)告
- 中學(xué)哲學(xué)文化課程設(shè)計(jì)
- 2024年度石料供應(yīng)框架協(xié)議
- 2024年度技術(shù)開發(fā)合同違約處理3篇
- 辦公家具無償租賃合同
- 臥式橢圓封頭儲(chǔ)罐液位體積對(duì)照表
- 《家庭安全用電培訓(xùn)》課件
- 人教版數(shù)學(xué)一年級(jí)上冊(cè) 前后上下左右專項(xiàng)練習(xí)題(試題)
- 中醫(yī)婦科疾病的治療(完美版)課件
- 《預(yù)防未成年人犯罪》課件(圖文)
- (小學(xué)組)全國(guó)版圖知識(shí)競(jìng)賽考試題含答案
- 創(chuàng)新實(shí)踐(理論)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- TCHAS 10-2-1-2023 中國(guó)醫(yī)院質(zhì)量安全管理 第2-1部分:患者服務(wù)患者安全目標(biāo)
評(píng)論
0/150
提交評(píng)論