雙非22應屆,無實習經歷,如何逆襲拿到位元組offer(附秋招筆記)
前言
上岸位元組是我未曾想過的結果,我本來的打算是,有公司要我就不錯了,這樣的我都能逆襲,你們一定也可以,我甚至想說,大廠不過如此。
秋招時我用到的、整理好的資料都放在文末了,需要的自取。
簡單自我介紹
一所雙非本科工科院校的22屆畢業生,10月拿到位元組offer。
在認真準備秋招之前,我屬於那種兢兢 業業上課划水摸魚的選手,不掛科也不出彩,沒參加過任何競賽,唯一做過的專案是期末課設。
在機緣巧合之下(不是),是看到了一些學長和同學在春招的時候為了拿offer非常焦慮和落寞, 我感到了壓力和危機,才開始認真為自己的職業道路做準備。
從“入門到精通”(5-6月)
我開始學習之前在網上看了很多社招經歷分享,當時的感受就是:當時(大一)我有一個機會好好學習我沒抓住,如果上天再給我一次機會,我選擇學到醉生夢死。
面試題啊、技術文啊我很多看不懂,所以我直接找了套入門視訊每天刷,刷視訊的每一天我都覺得自己醍醐灌頂。(一定一定要堅持啊,我沒少打瞌睡)
我可以了(7-8月)
雖然這個時候再回頭看面經對裡面的知識點不再完全陌生,可是很多問題自己試圖回答的話,還是答不上來,在秋招來臨之前我只剩一個多月,我只能想辦法讓自己快速地能夠應對面試。
親測有效:
-
找幾篇面試彙總的帖子/面經啥的,把涉及到的知識點都羅列出來,標記高頻點,當成自己的複習路線;
-
按照自己的複習路線,看相關技術文/視訊/官方文件等,進行系統性的查漏補缺;
-
每天花點時間刷刷題。
因為原本基礎不太好,複習準備的時間也有限,所以要時刻注意把時間都花在關鍵的問題上面。
越努力越幸運(8-10月)
秋招真正來臨之時,我預估的結果是:是個不錯(自己衡量)的公司就行。
但可能是俗話起了一些作用:越努力越幸運,我從學長啊、網友(網路是個好東西啊)那裡得到了一些內推機會,我心想大廠又不在我的目標之內,最壞的結果也承受得了,就都投簡歷試了。
雖然心裡想的只是試試,但是面對任何一個機會都要做好萬全的準備:一個流暢的自我介紹、面試之前再背背面試題、面試後複復盤什麼的。
對於沒有華麗專案經驗的學生仔來說,基礎實在太重要了,否則你簡歷上寫的那些合格程式設計師都會的知識點,被面試官問到答不上來就太尷尬了。
另外就是演算法題得刷啊!!!Leecode、劍指offer都可以。
像做夢一樣
成功拿到offer像做夢一樣,入職之後還是像做夢一樣。
原本以為大廠嘛,大佬肯定很多,我害怕自己思維不如他們靈活,工作節奏跟不上他們,但事實是大家相處甚是融洽,大佬們也十分親民,有問題也很樂意幫忙解答,內部也不定期會有技術分享,對於菜鳥的成長來說,不要太友好。
但也確實感受到了“人外有人”,遇到了很多值得學習的人,更激發了我想要不斷變得更強的決心,也許這就是環境的力量吧。
最後,秋招筆記分享
以下是一些我在準備秋招時用到和整理過的知識點和麵試題,有需要的點選自取,轉化成對自己有用的個人筆記:
一、《Android程式設計入門教程》
相關視訊推薦:Android(安卓)開發零基礎從入門到精通
1.Java語言基礎從入門到熟悉
-
整型與浮點型範圍
-
Java控制可見性的4個訪問修飾符
-
介面與抽象類
-
class
-
面向物件
-
容器
-
多執行緒
-
IO
-
正則表示式
-
按日曆計算年齡
-
註解使用與簡單說明
-
Java使用加密演算法
2.Kotlin語言基礎從入門到熟悉
-
Kotlin系列簡介
-
新建專案
-
概念介紹
-
常用寫法
-
lambda
-
高階函式
-
擴充套件函式
-
協程
3.Android技術棧從入門到熟悉
-
Activity
-
Severce服務
-
Broadcast廣播機制
-
Fragment
-
res應用資源
-
許可權
-
TectView顯示文字
-
EditText使用者輸入
-
Button按鈕
-
ImageView圖片顯示
-
Layout佈局
-
DrawerLayout側滑欄
-
RecyclerView顯示列表
-
多執行緒
-
IO操作
-
儲存
-
NetWork網路
-
ProgressBar進度條
-
View
-
自定義View
-
動畫
-
WebView
-
StatusBar
-
Camera相機
-
Media
-
Blutooth藍芽
-
WiFi連線
-
獲取手機當前角度
-
launcher
-
AIDL
-
zip
-
Binder
-
Notfication通知
-
PackageManager
-
RTFSC
-
設計模式
-
第三方庫
-
Android Studio
-
模組化
-
Gradle
-
NDK
-
除錯
4.Android Jetpack全家桶學習
-
在Fragment之間共享資料
-
ViewModelProviders示例
-
datebinding
-
LiveData事件傳送
-
LifeCycle生命週期
-
WorkManager
-
ViewModel
-
資料庫
-
Paging
二、《Android校招面試指南》
1.Java基礎
-
集合框架
-
泛型
-
反射
-
註解
-
IO
-
RandomAccessFile
-
NIO
-
異常
-
抽象類與介面的區別
-
深拷貝和淺拷貝
-
Java transient關鍵字
-
Java finally與return執行順序
-
Java8新特性
2.Java併發
-
Java建立執行緒的三種方式
-
Java執行緒池
-
死鎖
-
Synchronized/ReentrantLock
-
生產者/消費者模式
-
volatile關鍵字
-
CAS原子操作
-
AbsractQueuedSynchronizer詳解
-
深入理解ReentrantLock
-
Java併發合集—ArrayBlockingQueue
-
Java併發合集—ConcurrentHashMap
3.Java虛擬機器
-
物件的建立、記憶體佈局和訪問定位
-
Java記憶體區域與記憶體模型
-
Java類載入機制及類載入器詳解
-
JVM中垃圾收集演算法及垃圾收集器詳解
-
JVM怎麼判斷物件是否已死
4.Android基礎
-
Activity全方位解析
-
Service全方位解析
-
BroadcastReceiver全方位解析
-
ContentProvider全方位解析
-
Fragment詳解
-
Android訊息機制
-
Android事件分發機制
-
AsyncTask詳解
-
HandlerThread詳解
-
IntentService詳解
-
LruCache原理解析
-
Window、Activity、DecorView以及ViewRoot之間的關係
-
View測量、佈局及繪製原理
-
Android虛擬機器及編譯過程
-
Android程序間通訊方式
-
Android Bitmap壓縮策略
-
Android動畫總結
-
Android程序優先順序
-
Android Context詳解
5.Android進階
-
Android多執行緒斷點續傳
-
Android全域性異常處理
-
Android MVP模式詳解
-
Android Binder機制及AIDL使用
-
Android Parcelable和Serializable的區別
-
一個APP從啟動到主頁面顯示經歷了哪些過程?
-
Android效能優化總結
-
Android記憶體洩漏總結
-
Android佈局優化之include、merge、ViewStub的使用
-
Android許可權處理
-
Android熱修復原理
-
Android外掛化入門指南
-
VirtualApk解析
-
Android推送技術解析
-
Android Apk安裝過程
-
PopupWindow和Dialog區別
6.開源框架
-
OkHttp解析
-
Retrofit解析
-
EventBus解析
7.線性表
8.棧和隊
9.樹
-
樹的基礎
-
其他常見的樹
-
並查集
-
B-樹,B+樹,B*樹
10.圖
-
圖的基礎
-
拓撲排序
-
Kruskal演算法
-
Prim演算法
-
Dijkstra演算法
-
Floyd演算法
11.雜湊查詢
12.排序
13.海量資料查詢
14.劍指offer
15.LeetCode
-
Dynamic Programming
-
Array
-
String
-
Linked List
-
Greedy
16.建立型模式
-
簡單工廠模式
-
工廠方法模式
-
抽象工廠模式
-
單例模式
-
建造者模式
17.結構性模式
-
介面卡模式
-
外觀模式
-
裝飾者模式
-
代理模式
18.行為型模式
-
命令模式
-
迭代器模式
-
觀察者模式
-
策略模式
-
模板方法模式
19.TCP/IP
20.HTTP
21.HTTPS
22.作業系統概述
23.程序與執行緒
24.記憶體管理
25.SQL語句
三、《2021最新版資料結構與演算法面試題》
-
雜湊
-
二叉樹
-
連結串列
-
陣列
-
排序
-
堆與棧
-
高階演算法
-
動態規劃
加油啊鐵子們,我都可以逆襲你們怎麼能不可以!!!