別人都去BAT,我只鍾愛小破站(記我的B站入職攻略)


嘮嘮嗑:

本渣渣雙非末流一本畢業,工作三年多。高中就玩bilibili。無論是學習還是放松你都能在小破站找到自己想要的東西。本身對上海也很憧憬,於是去上海入職B站,可以說是我的夢想吧。

大學讀的是軟件技術專業,主學Android移動應用開發,輔修Java。男生對這種技術類的東西有着天生的興趣,即好玩兒,又有挑戰性,當自己把所有的Exception都干掉,把頁面成功的運行出來是,那種成就感,特別滿足。所以,在我的大學生涯里,我參加過社團協會各種APP的開發,也自己玩過跟多項目。

三年前畢業的時候,嗶哩嗶哩也是有校招的,我當然滿懷期待的投了簡歷。得到了面試機會,但卻在第一輪面試中就掛掉了。如今馬后炮一下,有如下原因:
雖然課本上的知識我都吃得差不多了,但是畢竟知識紙面上的基礎知識,我並沒有去追根溯源搞清楚那些方法、工具、框架到底是怎么實現的,他們的工作原理是什么。我個人覺得自己在大學時期的項目經歷已經足夠豐富了,但都只是把紙面上別人的東西搬運、組裝,變成了我自己東西,其實那終究不是我的東西,社會需要的是創新型的人才,並不是一個敲代碼的搬運工。要創新,那必然要搞懂原理,你才能夠是一個創造者。

年初疫情的爆發,在家呆的幾個月時間里,我重拾了我的“夢想”,經過三年工作打磨的我,決心再挑戰一次我夢中的職位。經過了兩個多月的復習、整合。終於在五一節前拿到了B站的offer。以下是我的入職攻略

戰略儲備:

一、計算機網絡基礎

(一)HTTP/HTTPS
1.HTTP與HTTPS有什么區別?
2.HTTP1.0和HTTP1.1的一些區別
3.請求慢的解決辦法
4.Http的request和response的協議組成
5.談談對http緩存的了解。
6.HTTPS加密原理
7.HTTPS如何防范中間人攻擊
8.有哪些響應碼,分別都代表什么意思?

(二)TCP/UDP
1.為什么TCP要經過三次握手四次揮手
2.TCP可靠傳輸原理實現(滑動窗口)
3.Tcp和Udp的區別?
4.如何設計在 UDP 上層保證 UDP 的可靠性傳輸?

(三)其他網絡重要概念
1.socket斷線重連怎么實現,心跳機制又是怎樣實現?
2.Cookie與Session的作用和原理。
3.IP報文中的內容。

計算機基礎面試題

二、算法與數據結構

主要是刷LeetCode,劍指offer。

1.時間復雜度 / 空間復雜度
2.常用的排序算法有哪些?
3.字符串反轉
4.鏈表反轉(頭插法)
5.如何查找第一個只出現一次的字符(Hash查找)
6.如何查找兩個子視圖的共同父視圖?
7.無序數組中的中位數(快排思想)
8.如何給定一個整數數組和一個目標值,找出數組中和為目標值的兩個數。
9.二叉樹前序、中序、后序遍歷
10.最大 K 問題
11.廣度、深度優先搜索算法
12.String 轉 int。核心算法就三行代碼,不過臨界條件很多,除了判空,還需要注意負數、Integer 的最大最小值邊界等;
13.如何判斷一個單鏈表有環?
14.100 億個單詞,找出出現頻率最高的單詞。要求幾種方案;
15.鏈表每 k 位逆序;
16.鏡像二叉樹;
17.找出一個無序數組中出現超過一半次數的數字;
18.計算二叉樹的最大深度,要求非遞歸算法。
19.String 方式計算加法。

三 、JAVA基礎面試題

1.HashMap相關
2.ArrayList相關
3.LinkedList相關
4.Hashset源碼分析
5.內存模型
6.垃圾回收算法(JVM)
7.反射與類加載過程
8.線程、多線程與線程池
9.設計模式(六大基本原則、項目中常用的設計模式、手寫單例等)
10.java四大引用
11.Java泛型
12.接口、抽象類的區別
在這里插入圖片描述

四、 Android面試題

1.什么是ANR 如何避免它?
2.Activity和Fragment生命周期有哪些?
3.橫豎屏切換時候Activity的生命周期
4.AsyncTask的缺陷和問題,說說他的原理。
5.onSaveInstanceState() 與 onRestoreIntanceState()
6.android中進程的優先級?
7.Bunder傳遞對象為什么需要序列化?Serialzable和Parcelable的區別?
8.動畫(原理及特點,區別等)
9.Android各版本的特性
10.JSON優缺點
11.android中有哪幾種解析xml的類,官方推薦哪種?以及它們的原理和區別?
12Jar和Aar的區別
13.Android為每個應用程序分配的內存大小是多少
14.更新UI方式
15.Thread、AsyncTask、IntentService的使用場景與特點。
16.Handler機制
17.內存泄漏怎么產生、怎么查找、解決
18..binder機制的作用及原理
19說下四大組件的啟動過程,四大組件的啟動與銷毀的方式。
20.Android虛擬機和JAVA虛擬機的區別(JVM、Davilk、ART三者的原理和區別)
在這里插入圖片描述

五、 Kotlin、Flutter相關面試題

1.Kotlin 特性,和 Java 相比有什么不同的地方?
2.Kotlin為什么能和Java混編?
3.什么是協程?
4.Hybrid通信原理是什么,有做研究嗎?
5.JS的交互理解嗎?平時工作用的多嗎,項目中是怎么與Web交互的?
6.react native有多少了解?講一下原理。
7.weex了解嗎?如何自己實現類似技術?
8.flutter了解嗎?內部是如何實現跨平台的?如何實現多Native頁面接入?如何實現對現有工程的flutter遷移?
9.說說你用過的混合開發技術有哪些?各有什么優缺點?
10.快應用了解嗎?跟其她方式相比有什么優缺點?

在這里插入圖片描述

以上就是我兩個多月學習整理出來的Android全方面的各大廠歷年真題面試題集。都已經成功圓夢入職B站啦,所以這份資料也就無償分享出來給大家。還附帶其他中高級的面試資料和我看過的一些優質教學視頻哦。
領取只需要 @我 或者關注我后私信【面試】即可無償分享

【視頻教程】


免費下載地址:https://shimo.im/docs/Gg6hJ3tGhqkYghqP/read
天道酬勤,只要你想,大廠offer並不是遙不可及!希望各位都能找到自己夢中理想的工作,過上自己喜歡的生活。長風破浪會有時,直掛雲帆濟滄海!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM