本科在讀,沒有任何工作經(jīng)驗,寫下對某幾道題的理解,望高人指正。
希望自己在工作幾年后再回過頭看時……
1 說說JVM原理?內(nèi)存泄露與溢出區(qū)別,何時產(chǎn)生內(nèi)存泄露
JVM是用軟件虛擬的計算機(jī),是一種規(guī)范。使得字節(jié)碼文件在不同的平臺上都能正常運行
原理:
先由Java編譯器真對Java虛擬機(jī)產(chǎn)生獨立于平臺的class文件;
再由Java解釋器將虛擬機(jī)的代碼在特定的平臺上運行。
內(nèi)存泄露是指內(nèi)存資源耗盡
內(nèi)存溢出是指系統(tǒng)不能滿足程序想要的分配
不再使用的內(nèi)存得不到適當(dāng)?shù)尼尫艜a(chǎn)生內(nèi)存泄露
2 用Java怎么實現(xiàn)有每天1億條記錄的DB存儲?MySql上億記錄數(shù)據(jù)量的數(shù)據(jù)庫如何設(shè)置?
3 MySql支持事務(wù)嗎?DB存儲引擎有哪些?
默認(rèn)是不支持的,但是可以通過創(chuàng)建bdb類型的表來使其支持
4 MVC的原理,優(yōu)缺點,如果讓你設(shè)計你會怎么改造?
model view controller
view 事件---》controller 調(diào)用相應(yīng)方法改變狀態(tài)——》model封裝相應(yīng)狀態(tài)——》view
優(yōu)點:各層分工明確,模型層有良好的可移植性,也是一種框架結(jié)構(gòu)
缺點:對于小型應(yīng)用很費時間,視圖與控制器連接過于緊密
5 Hibernate支持群集嗎?如何實現(xiàn)群集?
6 tomcat最多支持并發(fā)多少用戶?
200多人左右是比較安全完美的,但是多于200后會逐漸的相應(yīng)時間長,容易丟失數(shù)據(jù)。
7 Map原理,他是如何快速查找Key的?map與set區(qū)別?
是從鍵到值的映射,鍵不能重復(fù),每個鍵最多映射一個值。
使用哈希算法快速查找key
map是映射,set是集合……
8 描述算法,如何有效合并兩個文件:一個是一億條的用戶基本信息,另一個是用戶每天看電影連續(xù)劇等的記錄,5000萬條。內(nèi)存只有1G???
9 在1億條用戶記錄里,如何快速查詢統(tǒng)計出看了5個電影以上的用戶?
10 Spring是如何實現(xiàn)IOC和AOP的,說出實現(xiàn)原理。
IOC:通過DI來實現(xiàn)動態(tài)的向某個對象提供其所需要的對象,不用new
AOP:使用代理,減少代碼