1. 程式人生 > 其它 >4輪位元組面試後杳無音信,自己是在了備胎池了嗎,血與淚的總結

4輪位元組面試後杳無音信,自己是在了備胎池了嗎,血與淚的總結

  • final關鍵字作用【修飾類不可繼承,修飾方法不可重寫,修飾物件無法重新賦值】

  • 計算機網路七層/五層協議;TCP屬於哪一層【傳輸層】,TCP與UDP協議區別

  • 演算法:單鏈表的逆序、演算法的時間複雜度與空間複雜度

位元組二面

  • 專案(如何實現的某個功能;知道哪些加密演算法)

  • Java可以自動管理記憶體,為什麼會有OOM【可達性演算法】

  • 可以作為GCRoot根的物件有哪些【區域性變量表中的物件,靜態變數,常量,本地方法棧中的物件】

  • 設計一個K-V的資料結構應該考慮哪些問題,如何解決這些問題【說了一下雜湊碰撞,多執行緒訪問,初始容量等】

  • 在瀏覽器中輸入一個網站點選回車會發生什麼【常規題】

  • 瀏覽器渲染頁面完成後會保持TCP連線嗎【根據Connection請求頭,若為keep-alive則保持】

  • TCP四次揮手過程【常規題】;客戶端傳送完最後一個ACK後會進入什麼狀態【time_wait後進入CLOSED狀態】

  • 演算法1:給定一個數組,將奇數排在左邊,偶數排在右邊【利用快排的思想很快就可以做出來】

  • 演算法2:給定一個三角形,找出自頂向下的最小路徑和。每一步只能移動到下一行中相鄰的結點上。 例如,給定三角形: [ [2], [3,4], [6,5,7], [4,1,8,3] ] 自頂向下的最小路徑和為 11(即,2 + 3 + 5 + 1 = 11)【遍歷路徑求和】

位元組三面

  • 前兩面感覺怎麼樣
  • synchronizedvolatile關鍵字的作用
  • 給定程式碼,會輸出i等於什麼;如何令i輸出為1【用staticvolatile修飾,主執行緒呼叫sleep()】;如何保證i一定輸出為1,寫一下程式碼【用wait()notifyAll()?】;Runnablerun()方法中使用this指的是什麼,Runnable還是ThreadRunnable的匿名內部類】
class A {
    private int i = 0;
    public static void main(String[] args) {
        new Thread(new Runnable() {
            @Override
            public void run() {
                i = 1;
            }
        }).start();
        System.out.println(i);
    }
}
  • int佔多少位元組【4】byte呢【1】,如何判斷byte的從右數第n位是否為1,寫個if語句【((b >> n) & 1) == 1
  • 演算法1:給定一個byte返回倒序排列後的byte,如輸入10110000返回00001101【面試官提醒可以用移位儲存每個位置的值然後再倒序】
  • LRU演算法的get時間複雜度是多少,為什麼【只知道是幹什麼的但不瞭解】
  • 4個CPU,16個數,每個CPU每次只能比較一次兩個數的大小,只能返回truefalse,互相之間不能通訊,一輪以時間片為單位,需要幾輪能夠找出最大的數(4個CPU與4個數,可以一輪就找到最大的數嗎)
  • 演算法2:兩個數字非常大的String,對其求和,如"999","2"->"1001"【轉為char[]倒序相加,注意進位】
  • 你從專業課中最大的收穫是什麼
  • 還有什麼想問的嗎

位元組四面—hr面

  • 自我介紹
  • 介紹了下最近在看的csapp這本書
  • 問競賽中印象深刻的事情
  • 然後隨便聊聊
    然後面試到這裡面試到這裡就結束了,就出現了文章開頭的那一幕!永遠再等待,好焦慮!

總結自己的不足,以後進階方向

我對於自己的評價:

最後我還整理了很多Android中高階的PDF技術文件。以及一些大廠面試真題解析文件。

**[CodeChina開源專案地址:https://codechina.csdn.net/m0_60958482/android_p7](

)**

Android高階架構師之路很漫長,一起共勉吧!