海康威视面试经验总结
java后端開發(fā)
1.怎么用List集合既存儲Integer對象,又存儲String對象
答:List
2. float2.0-1.1,一定等于0.9嗎,為什么,如果不等于怎么才能讓它等于0.9?
3. hashset存儲的對象一定不相同嗎?什么情況會相同?
答:hashSet集合存放一個自定義的對象時,對這個對象的屬性進(jìn)行修改時,在放一個和修改后的屬性相同的對象,發(fā)現(xiàn)放進(jìn)去,會有重復(fù)的現(xiàn)象,還可以放入修改前的對象。所以對于HashSet集合,想要修改一個對象,是先把原來的刪除,在放一個新的,不能直接在原對象上修改。
4.數(shù)組和鏈表的區(qū)別?
(1)數(shù)組是將元素在內(nèi)存中連續(xù)存放,由于每個元素占用內(nèi)存相同,可以通過下標(biāo)迅速訪問數(shù)組中任何元素。但是如果要在數(shù)組中增加一個元素,需要移動大量元素,在內(nèi)存中空出一個元素的空間,然后將要增加的元素放在其中。同樣的道理,如果想刪除一個元素,同樣需要移動大量元素去填掉被移動的元素。如果應(yīng)用需要快速訪問數(shù)據(jù),很少或不插入和刪除元素,就應(yīng)該用數(shù)組。
(2)鏈表恰好相反,鏈表中的元素在內(nèi)存中不是順序存儲的,而是通過存在元素中的指針聯(lián)系到一起。比如:上一個元素有個指針指到下一個元素,以此類推,直到最后一個元素。如果要訪問鏈表中一個元素,需要從第一個元素開始,一直找到需要的元素位置。但是增加和刪除一個元素對于鏈表數(shù)據(jù)結(jié)構(gòu)就非常簡單了,只要修改元素中的指針就可以了。如果應(yīng)用需要經(jīng)常插入和刪除元素你就需要用鏈表數(shù)據(jù)結(jié)構(gòu)了。
從邏輯結(jié)構(gòu)角度來看
a, 數(shù)組必須事先定義固定的長度(元素個數(shù)),不能適應(yīng)數(shù)據(jù)動態(tài)地增減的情況。當(dāng)數(shù)據(jù)增加時,可能超出原先定義的元素個數(shù);當(dāng)數(shù)據(jù)減少時,造成內(nèi)存浪費(fèi)。
b,鏈表動態(tài)地進(jìn)行存儲分配,可以適應(yīng)數(shù)據(jù)動態(tài)地增減的情況,且可以方便地插入、刪除數(shù)據(jù)項。(數(shù)組中插入、刪除數(shù)據(jù)項時,需要移動其它數(shù)據(jù)項)
從內(nèi)存存儲角度來看
a,(靜態(tài))數(shù)組從棧中分配空間, 對于程序員方便快速,但自由度小。
b, 鏈表從堆中分配空間, 自由度大但申請管理比較麻煩.
4. 數(shù)組的索引是什么,優(yōu)缺點(diǎn)是什么?
5.線程池中如果循環(huán)隊列滿了以后會怎么樣?
線程池滿了會怎么樣
5. 講一下堆排序
堆排序是一種樹形選擇排序方法,它的特點(diǎn)是在排序過程中,將待排序列看作是一個完全二叉樹。尋找到最大值火最小值。時間復(fù)雜度是O(logn),
6.平衡二叉樹AVL樹、B樹、B+樹、紅黑樹
B樹,稱為多路平衡查找樹,每個節(jié)點(diǎn)的平衡因子為0.每個節(jié)點(diǎn)至少有m/2,至多是m棵。
總結(jié)
以上是生活随笔為你收集整理的海康威视面试经验总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 串行通信接10K上拉电阻与101电容作用
- 下一篇: 卢森堡太空总署的研究预计2018-204