「字節跳動一面」
arraylist和linkedlist的區別
面向對象的三個特性,重寫和重載各是什麼意思
建索引的語法
mysql的4種連接
mysql索引有哪幾類,有什麼優缺點
手寫sql,現在有個用戶活躍表t,這個表的作用是用來計算用戶留存率的。裏面有兩個字段uid(用戶id)和date(用戶活躍日期)。假設1月1日有10000個活躍用戶,1月2日的活躍用戶裏面有8000個是1月1日活躍的用戶,則1月2日用戶的留存率爲1月1日的80%。現在讓你手寫一個sql,計算某天相對於它之前某天的用戶留存率。
算法題:二叉樹的層次遍歷
數學題:1-9中選4個數的和爲10,數可以重複,有多少種組合
『字節調動二面』
jvm的gc,知道的都說一下
如果現在一個系統中經常需要full gc,你怎麼排查原因,同時避免系統經常full gc
寫三種線程安全的單例模式,懶漢式,靜態內部類(這兩種都能被反序列化),還有一種不能被反序列化的,怎麼寫
鎖機制,知道什麼鎖,都說一下
悲觀鎖,樂觀鎖,有用過嗎
builder模式和factory模式的區別是什麼
實現一個字典樹。如果同時要求線程安全,加什麼鎖(讀寫鎖),怎麼加鎖
索引怎麼確定有沒有用到,sql中distant有什麼影響
explain關鍵字出現的各個結果你怎麼用
「字節跳動三面」
用兩個棧實現隊列,要求效率足夠高,不能每次入棧都要來回出棧入棧兩次。
算法1:現在有一個被翻轉過的有序數組,比如【9,91,100,1,2,3,4】,讓你從數組中查找目標數(比如4)是否存在。你的複雜度要儘可能低【LeetCode上面的原題,搜索旋轉排序數組】
瀏覽器輸入www.baidu.com後到頁面顯示期間,計算機網絡的原理上發生了什麼過程
進程和線程有什麼區別,進程之間的通信方式,線程之間的通信方式