最近去了幾家公司面試java中高級(jí)工程師,打擊挺大的,感覺自己一直以來沒有很好的深入學(xué)習(xí),對(duì)各種知識(shí)都是一知半解,但心又太高,想找更高薪的職位,結(jié)果面試屢屢碰壁,哎,心情好低落,也是時(shí)候靜下心來,好好總結(jié)一下了,準(zhǔn)備開個(gè)博客,記錄一下以前用過的技術(shù)、開發(fā)經(jīng)驗(yàn)等,也用來總結(jié)一下將來的學(xué)習(xí)和工作經(jīng)歷。
一、為什么要用線程池,為什么不直接使用thread.start的方法,線程池用的是哪個(gè)類
線程池的優(yōu)點(diǎn):
第一:降低資源消耗。通過重復(fù)利用已創(chuàng)建的線程降低線程創(chuàng)建和銷毀造成的消耗。
第二:提高響應(yīng)速度。當(dāng)任務(wù)到達(dá)時(shí),任務(wù)可以不需要等到線程創(chuàng)建就能立即執(zhí)行。
第三:提高線程的可管理性。線程是稀缺資源,如果無限制的創(chuàng)建,不僅會(huì)消耗系統(tǒng)資源,還會(huì)降低系統(tǒng)的穩(wěn)定性,使用線程池可以進(jìn)行統(tǒng)一的分配,調(diào)優(yōu)和監(jiān)控。
線程池的類為:ThreadPoolExecutor
二、項(xiàng)目為什么要用spring,而不是使用new的方式創(chuàng)建實(shí)例
容器:Spring是個(gè)容器,因?yàn)樗⑶夜芾響?yīng)用對(duì)象的生命周期和配置。如對(duì)象的創(chuàng)建、銷毀、回調(diào)等。同時(shí)對(duì)象之間的依賴關(guān)系交給Spring,降低組件之間的耦合性。
框架:Spring作為一個(gè)框架,提供了一些基礎(chǔ)功能,(如事務(wù)管理,持久層集成等),使開發(fā)人員更專注于開發(fā)應(yīng)用邏輯。
三、Redis的數(shù)據(jù)類型有什么
字符串(Strings),字符串是Redis值的最基礎(chǔ)的類型。
列表(Lists),List列表是簡單的字符串列表,按照插入順序排序
集合(Sets),集合(Set)是一個(gè)無序的字符串集合
哈希(Hashes),Hashes是字符串字段和字符串值之間的映射,因此他們是展現(xiàn)對(duì)象的完美數(shù)據(jù)類型。
有序集合(Sorted Sets),有序集合與普通集合非常相似,是一個(gè)沒有重復(fù)元素的字符串集合。
四、redis服務(wù)掛掉之后怎么辦
這個(gè)應(yīng)該涉及到集群、主從數(shù)據(jù)庫復(fù)制方面的,具體怎么樣不是太懂。
五、單表大數(shù)據(jù)量如何優(yōu)化查詢
1、 優(yōu)化索引
2、 使用oracle查詢分析器,對(duì)sql語句進(jìn)行分析優(yōu)化(不使用in等語句 ,子查詢改成連接查詢等)
3、 建立分區(qū)
4、 按業(yè)務(wù)需求或按自動(dòng)的枚舉值進(jìn)行分表
5、 使用nosql數(shù)據(jù)庫,MongoDb 、Redis
六、tomcat 最多支持并發(fā)多少用戶?
server.xml中配置,一般受制于服務(wù)器硬件性能和操作系統(tǒng)連接數(shù),tomcat沒有限制并發(fā)數(shù),但并發(fā)數(shù)太多會(huì)丟連接,默認(rèn)是150個(gè)
七、如何解決大并發(fā)訪問
1、 頁面靜態(tài)化,動(dòng)靜態(tài)頁面項(xiàng)目分離部署
2、 是數(shù)據(jù)庫的調(diào)優(yōu),包括做數(shù)據(jù)庫集群,使用nosql數(shù)據(jù)庫/內(nèi)存數(shù)據(jù)庫
3、 使用集群技術(shù),利用apache、nginx等反向代理服務(wù)器實(shí)現(xiàn)負(fù)載均衡。
八、如何處理需求變更
1、軟件的需求階段,就要把項(xiàng)目各方面的需求盡量考慮得清晰詳盡,最大限度的減少將來可能存在的需求變更
2、項(xiàng)目實(shí)施階段,建立正規(guī)的需求變更流程,文檔化管理,有備可查,有據(jù)可依,過濾不合理的需求,減少需求的來源,
3、嚴(yán)重影響項(xiàng)目進(jìn)度或成本或目標(biāo)的需求變更,需重新立項(xiàng)審批通過才予以執(zhí)行。
九、軟件項(xiàng)目失敗的原因
首先項(xiàng)目是項(xiàng)目失敗的定義是什么
1、是項(xiàng)目嚴(yán)重超時(shí),不能交付
2、是項(xiàng)目不符合需求
3、項(xiàng)目的某些指標(biāo)達(dá)不到要求,例如性能
原因:
1、 沒有充分地剖析項(xiàng)目,對(duì)每個(gè)功能進(jìn)行細(xì)分和分析,估算工作量和工作難度
2、 項(xiàng)目范圍變跟,需求變跟過多,導(dǎo)致項(xiàng)目延期
3、 項(xiàng)目組人員沒有足夠的技術(shù)水平去解決項(xiàng)目遇到的技術(shù)難題
4、 項(xiàng)目經(jīng)理的風(fēng)險(xiǎn)識(shí)別和管理能力。項(xiàng)目經(jīng)理能不能及時(shí)地發(fā)現(xiàn)項(xiàng)目中存在的問題,和發(fā)現(xiàn)問題后如何解決問題的經(jīng)驗(yàn)
-
工程師
+關(guān)注
關(guān)注
59文章
1590瀏覽量
69465 -
JAVA
+關(guān)注
關(guān)注
20文章
2988瀏覽量
109448
發(fā)布評(píng)論請(qǐng)先 登錄


硬件工程師看了只會(huì)找個(gè)角落默默哭泣#硬件工程師 #MDD #MDD辰達(dá)半導(dǎo)體 #產(chǎn)品經(jīng)理 #軟件工程師

工程師經(jīng)驗(yàn)分享:社區(qū)之星 趙云 沉著穩(wěn)定才能做好技術(shù)

如何成為一名嵌入式軟件工程師?
【社區(qū)之星】趙云:不要浮躁,沉著穩(wěn)定,才能做好技術(shù)
Allegro工程師能力升級(jí)建議 工程師技能如何升級(jí)進(jìn)階



不同時(shí)期的硬件工程師,最怕發(fā)生的事 #電子工程師 #硬件工程師 #內(nèi)容過于真實(shí) #YXC晶振 #揚(yáng)興科技
OpenAI從谷歌DeepMind挖角三名高級(jí)工程師

當(dāng)你的工程師朋友失聯(lián)時(shí),別氣,ta真的是在忙工作 #搞笑 #電子愛好者 #硬件工程師 #晶振 #揚(yáng)興科技
運(yùn)行GDE時(shí)會(huì)出現(xiàn)斷音如何解決?

評(píng)論