有了字節offer才有底氣,不給我70w,深度好文

mb612e2b11c3210 2021-09-18 05:27:52 阅读数:79

offer 才有 有底 70w 深度
 * [客戶端](

)是如何根據 IP 地址找到服務器對應的主機的呢?

[](

)算法

[LeetCode 518. 零錢兌換 II](

)

題目開始理解錯了。最後這個題沒完全做出來,面試官讓我講了下思路。

[](

)反問

  1. 部門業務?

  2. 面試評價?

  3. 我還有什麼需要學習的地方嗎?

  4. 面試官反問:這次面試只是為了實習還是說有轉正想法的?

  5. 部門業務開發語言?

  6. 多久能收到結果通知?

有了字節offer才有底氣,不給我70w,深度好文_移動開發

[](

)二面(2 月 14 日,60 min)

一面結束後等了十幾分鐘,HR 通知第二天二面。

[](

)提問

  1. 自我介紹

  2. [項目](

)介紹。用到了什麼技術棧?

* ViewModel 的作用是什麼?
* 你在 Fragment 之間傳遞數據的時候是怎麼做的?
* 為什麼不用一個全局的靜態變量呢?
* 你有用 LiveData 自己封裝了一個事件總線,講一講實現?
* 對 Retrofit 的基本結構或者源代碼了解嗎?
* Retrofit 有一個動態代理的過程,有聽說過嗎?
  1. Kotlin 和 Java 都是在做這個 Android [項目](

)中學習的嗎?

* 在 Kotlin 和 Java 中,實例的初始化順序(成員變量、靜態變量、構造函數等)分別是怎樣的?
  1. Kotlin 的作用域函數(letapply 等)有了解過嗎?你是怎麼理解的?具體來說它們有些是帶 Receiver 的、有些是帶參數的,你在使用過程中是怎麼選擇的呢?

  2. OOP 中的設計模式有了解過嗎?

    • Java 中的單例模式分為那些呢?

    • Kotlin 中的 object 相當於 Java 中的哪一種單例模式?

      • 餓漢式是怎麼做到線程安全的?

        • 類加載器又是在什麼時候去加載這個類呢?

        • 解釋一下餓漢式中存在的性能問題?

      • 在 Kotlin 中如何實現懶漢式單例?

    • Java 中 DCL 單例模式中雙重校驗的意義?

  3. Jetpack 的其他組件有了解過嗎?

    • Room 使用的基本流程了解嗎?

      • SQLite 平常你是怎麼用的呢?

[](

)算法

[LeetCode 101. 對稱二叉樹](

)

[](

)反問

  1. 部門業務?

    • 是純原生開發嗎?
  2. 面試評價?

  3. 還有什麼需要學習的?

  4. 面試官反問:對工作地點有要求嗎?

  5. 多久能收到結果通知?

有了字節offer才有底氣,不給我70w,深度好文_Android_02

[](

)三面(2月 15 日,40 min)

二面結束之後等了大概一個小時多,HR 通知第二天三面。

[](

)提問

  1. 自我介紹 & [項目](

)介紹

* [項目](

)是你自己在做嗎?

* 介紹一下[項目](

)的模塊和功能?

 * [項目](

)中用到的數據都是怎麼獲取到的?

 * 學校的系統裏沒有什麼安全措施嗎?
* 你這個[項目](

)有這麼多人在用,是怎麼推廣的呢?

 * 後續有和學校交流讓你這個[項目](

)變成官方 App 嗎?

* [項目](

)中有什麼技術難點嗎?

  1. 有了解過 Retrofit 是如何簡化網絡請求的嗎?

    • 解釋一下動態代理?
  2. Retrofit 會結合一些注解進行使用,對注解有什麼了解嗎?

    • APT 有聽說嗎?是做什麼用的呢?自己有上手用過嗎?

    • AOP 的概念有了解嗎?

  3. Jetpack 的 AAC 中是如何做到生命周期的分發的呢?

    • Jetpack 組件還了解哪些呢?
  4. Compose 有了解過嗎?

    最開始沒想起來,後來面試官提到 Flutter 才想起來是新出的一個聲明式 UI 框架。

  5. Flutter 有了解過嗎?

  6. synchronized 關鍵字修飾靜態方法和非靜態方法的區別?

    • 一個類中有一個靜態方法 A 和非靜態方法 B,都被 synchronized 修飾。兩個線程分別去調用同一個實例的方法 A 和方法 B,會產生競爭嗎?
  7. volatile 關鍵字的作用?

    • 解釋一下“立即對所有線程可見”和“禁止指令重排”?
  8. Java 中的四種引用類型有了解過嗎?

    • 分別有什麼區別呢?
  9. GC 機制有了解過嗎,比如[算法](

)之類的?

  1. 一個 View 要渲染出來,需要經過哪幾個步驟呢?
  • 這些步驟各自對應了一個回調方法,對 View 的什麼操作會觸發對這些回調方法的調用呢?或者說,不同的操作會觸發不同的調用嗎,比如有的調用,有的不調用?

    • 除了在 Activity 創建的時候,後續對 View 的哪些操作會觸發這些回調方法呢?(這裏確實沒複習到,現場通過 TextView 舉例結合了這三個階段的回調方法名開始猜)

      • 如果說 TextView 大小固定呢?
  1. 除了繪制,View 還有一些事件的傳遞機制,有了解嗎?
  • 過程中的幾個關鍵過程回調是哪幾個呢?
  1. 有聽說過“過度繪制”嗎?

這個沒答上來,然後面試官很耐心地解釋了這個概念,實際上就是兩個 View 疊在一起,下層被上層擋住的部分是看不見的,但還是會進行繪制。

[](

)編程 & 提問

給一個 List<String>,遍曆並删除指定元素(比如 abc),寫出代碼(大概就是自己實現 List#removeAll())。

三面不出[算法題](

)是我沒想到的。這個題也挺簡單,就是利用迭代器遍曆然後删除就好。

因為對迭代器不是特別熟悉,所以開始寫的時候並沒有單獨用變量 it 把迭代器存下來,而是在每個要用迭代器的地方都獲取了一次,然後跑起來報錯了。後來意識到之後就改了。


`List<String> list =` `new` `ArrayList<>();`
`list.add(``"abc"``);`
`list.add(``"abc"``);`
`list.add(``"abc"``);`
`list.add(``"123"``);`
`list.add(``"abc"``);`
`Iterator it = list.iterator();`
`while` `(it.hasNext()) {`
`if` `(it.next().equals(``"abc"``)) {`
# 文末
**不管怎麼樣,不論是什麼樣的大小面試,要想不被面試官虐的不要不要的,只有刷爆面試題題做好全面的准備,當然除了這個還需要在平時把自己的基礎打紮實,這樣不論面試官怎麼樣一個知識點裏往死裏鑿,你也能應付如流啊**
**[CodeChina開源項目:《Android學習筆記總結+移動架構視頻+大廠面試真題+項目實戰源碼》](https://ali1024.coding.net/public/P7/Android/git)**
小編將自己6年以來的**面試經驗和學習筆記**都整理成了一個**937頁的PDF,**以及我學習進階過程中看過的一些優質視頻教程。
![有了字節offer才有底氣,不給我70w,深度好文_程序員_03](https://s8.51cto.com/images/20210918/1631913484131586.jpg)
其實看到身邊很多朋友抱怨自己的工資很低,包括筆者也是一樣的,其原因是在面試過程中沒有給面試官一個很好的答案。所以筆者會持續更新面試過程中遇到的問題,也希望大家和筆者一起進步,一起學習。
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
版权声明:本文为[mb612e2b11c3210]所创,转载请带上原文链接,感谢。 https://gsmany.com/2021/09/20210918052751556y.html