一、數(shù)據(jù)結(jié)構(gòu)與算法基礎(chǔ)
·說一下幾種常見的排序算法和分別的復(fù)雜度。
·用Java寫一個(gè)冒泡排序算法
·描述一下鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。
·如何遍歷一棵二叉樹?
·倒排一個(gè)linkedList。
·用Java寫一個(gè)遞歸遍歷目錄下面的所有文件。
二、Java基礎(chǔ)
·接口與抽象類的區(qū)別?
·Java中的異常有哪幾類?分別怎么使用?
·常用的集合類有哪些?比如List如何排序?
·ArrayList和linkedList內(nèi)部的實(shí)現(xiàn)大致是怎樣的?他們之間的區(qū)別和優(yōu)缺點(diǎn)?
·內(nèi)存溢出是怎么回事?請(qǐng)舉一個(gè)例子?
·==和equals的區(qū)別?
·hashCode方法的作用?
·NIO是什么?適用于何種場(chǎng)景?
·HashMap實(shí)現(xiàn)原理,如何保證HashMap的線程安全?
·JVM內(nèi)存結(jié)構(gòu),為什么需要GC?
·NIO模型,select/epoll的區(qū)別,多路復(fù)用的原理
·Java中一個(gè)字符占多少個(gè)字節(jié),擴(kuò)展再問int,long,double占多少字節(jié)
·創(chuàng)建一個(gè)類的實(shí)例都有哪些辦法?
·final/finally/finalize的區(qū)別?
·Session/cookie的區(qū)別?
·String/StringBuffer/StringBuilder的區(qū)別,擴(kuò)展再問他們的實(shí)現(xiàn)?
·Servlet的生命周期?
·如何用Java分配一段連續(xù)的1G的內(nèi)存空間?需要注意些什么?
·Java有自己的內(nèi)存回收機(jī)制,但為什么還存在內(nèi)存泄露的問題呢?
·什么是java序列化,如何實(shí)現(xiàn)java序列化?(寫一個(gè)實(shí)例)?
·String s=new String("abc");創(chuàng)建了幾個(gè)String Object?
三、JVM
·JVM堆的基本結(jié)構(gòu)。
·JVM的垃圾算法有哪幾種?CMS垃圾回收的基本流程?
·JVM有哪些常用啟動(dòng)參數(shù)可以調(diào)整,描述幾個(gè)?
·如何查看JVM的內(nèi)存使用情況?
·Java程序是否會(huì)內(nèi)存溢出,內(nèi)存泄露情況發(fā)生?舉幾個(gè)例子。
·你常用的JVM配置和調(diào)優(yōu)參數(shù)都有哪些?分別什么作用?
·JVM的內(nèi)存結(jié)構(gòu)?
·常用的GC策略,什么時(shí)候會(huì)觸發(fā)YGC,什么時(shí)候觸發(fā)FGC?
以上就是深圳達(dá)內(nèi)教育java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java高級(jí)軟件工程師筆試題”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。