1. 程式人生 > 其它 >雙非22應屆,無實習經歷,如何逆襲拿到位元組offer(附秋招筆記)

雙非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最新版資料結構與演算法面試題》

  • 雜湊

  • 二叉樹

  • 連結串列

  • 陣列

  • 排序

  • 堆與棧

  • 高階演算法

  • 動態規劃

加油啊鐵子們,我都可以逆襲你們怎麼能不可以!!!