2023年 BATJ大廠面試題總結 滴滴篇

2021-10-03 14:15:19 字數 974 閱讀 4720

1、資料結構不同

arraylist是array(動態陣列)的資料結構,linkedlist是link(鍊錶)的資料結構。

2、效率不同

當隨機訪問list(get和set操作)時,arraylist比linkedlist的效率更高,因為linkedlist是線性的資料儲存方式,所以需要移動指標從前往後依次查詢。

當對資料進行增加和刪除的操作(add和remove操作)時,linkedlist比arraylist的效率更高,因為arraylist是陣列,所以在其中進行增刪操作時,會對操作點之後所有資料的下標索引造成影響,需要進行資料的移動。

3、自由性不同

arraylist自由性較低,因為它需要手動的設定固定大小的容量,但是它的使用比較方便,只需要建立,然後新增資料,通過呼叫下標進行使用;而linkedlist自由性較高,能夠動態的隨資料量的變化而變化,但是它不便於使用。

4、主要控制項開銷不同

arraylist主要控制項開銷在於需要在llist列表預留一定空間;而linklist主要控制項開銷在於需要儲存結點資訊以及結點指標資訊。

參考:答案:

詳解:底層實現主要是存有乙個map,以執行緒作為key,泛型作為value,可以理解為執行緒級別的快取。每乙個執行緒都會獲得乙個單獨的map。

詳解:深入解析threadlocal底層實現原理

答案:詳解:

參考:答案:

參考:

(二)**的 沒有次數限制

新增鏈結描述

(三)高德的 需要申請ak,有次數限制

restapi.amap.com/v3/ip?key=您的key&ip=223.104.107.108

2019前端面試大廠面試題

後面題目是我從各大廠面試題總結的一些經驗 需要key的原因是 使用v for更新已經渲染的元素列表時,預設採用 就地復用 策略,列表中資料發生改變時,此時的key就開始工作,根據key值去判斷某個值是否被修改,如果修改了的話,則重新渲染這一項,否則復用之前的元素 根據這個原因,我們可以知道,key值...

2023年深圳大廠Android面試題記錄

recycleview實現原理?handler為什麼沒有堵塞,底層是什麼?finally的作用,怎麼使用它?手寫lrucache?android的繪製流程?idehandler的原理,用處,什麼時候執行?viewmodel能多個類公用嗎,怎麼公用?卡頓優化,統計方法打點具體在哪些位置?systemt...

2023年一線大廠面試題精選

題目 mysql索引相關,使用 mysql 索引都有哪些原則?索引什麼資料結構?b tree 和 b tree 什麼區別?mysql中有哪些搜尋引擎?高併發系統資料庫層面應該如何設計?資料庫鎖有哪些型別,應該如何實現?資料庫事務有哪些?oracle常用函式有哪些?sql中有哪些情況不會走索引?說說對...