今年毋庸置疑是找作業的寒冬,每一個出來找作業的同學都是值得尊敬的,現在找作業,雖然略難,但是反過來看也會逼迫我們成為更加優秀的自己,
但是不管是旺季還是寒冬,有一些優秀的同學找作業還是挺順利的,所以說還是得提高我們自己的硬實力,
本文主要解答這些問題,如果說你想知道以下幾點,就可以看下去了
- 當下好找作業嘛
- 如何寫簡歷
- 如何挑選靠譜的公司
- 我的經驗水平能拿多少的工資
- 問到專案中的技術難點怎么回答
- 2021年Android面試押題
- 如何和 HR 聊天,比如談錢等等
一、當下好找作業嘛
想必大家現在經常能看到某某公司又裁員了,會擔心是不是找不到作業了,其實總的來說雖然當下的環境確實不怎么好,但是有裁員的公司,也肯定有招人的公司,并且招人的公司一定比裁員的公司多得多,
那么再來回答這個問題「當下好不好找作業」,對于技術好的人來說,永遠不會擔心這個問題,但是對于技術不那么好的人來說,確實需要一些技巧才能比別人有更多的機會,比如說寫一封清晰明了的簡歷,在面試前好好準備等等,
總的來說,機會是留給有準備的人,無論環境好與差,認真準備的你肯定會比別人有更多的機會,
二、如何寫簡歷
平時有在做修改簡歷的收費服務,在公司里也會當個面試官啥的,總的來說也算看過很多簡歷了,但是大部分人的簡歷的套路都是一樣的,專案用了什么技術堆疊,做了什么功能,總的來說就是流水賬,
那么一旦你寫出有別于這類套路的簡歷,你的簡歷必然會被用人方多看幾眼,增加點成功率也是必然的,
一般來說我會這樣建議別人寫簡歷:
-
全文杜絕任何的精通字眼,如果你真的精通,不需要投簡歷找作業了,
-
簡歷控制在兩頁左右,不需要找什么簡歷模板,直接 Markdown 生成 PDF 檔案,面試官不在意你的簡歷有多好看,他更在意的是你的簡歷內容,
-
任何英文單詞注意大小寫,數字以及英文注意與中文之間有空格,
-
專案中無需介紹這個專案到底有啥功能,單刀直入這個專案中最值得說的內容,比如遇到的 Bug,自己的思考等等,但是可能很多人會說,業務很簡單沒什么好說的或者壓根沒遇到什么問題,遇到這個問題的時候,首先跳脫出業務的框架,去思考其他的問題,相信每個人都寫過組件,但是對于如何設計一個好的組件來說就不是每個人都能做的事情了,
-
寫專案經驗最好按照這樣的思路:遇到了什么問題,如何解決以及結果,
-
假設簡歷上的每個技術點面試官都會問到,斟酌所有的知識點,保證都能回答,
三、如何挑選靠譜的公司
一家靠譜的公司,一定是以下幾點加起來的:牛逼的核心管理層、不錯的 idea、高額的融資、有前景的行業,
前兩點對于求職者來說基本是黑盒,因此我們只能從后面兩點來挑選公司了,
早期的融資越高,領投的公司越牛逼,那么這家公司靠譜的幾率越大,因為這些公司的決策人都不是傻子,人家肯定有充足的理由才會選擇相信并投錢給這家公司,
另外一個有前景的行業也是必須條件,如果你不知道啥是有前景的行業,就從與人息息相關的行業挑選吧,比如吃、住、行、教育等等,
這時候你可能會說,那我如果了解到一家公司的這些情況呢?那么「天眼查」可以完美解決你這個問題,我們可以通過這個網站詳細了解到一家公司的融資、行業、競品、法律風險、管理層、產品等等資訊,
四、我的經驗水平能拿多少的工資
對于這個問題,我真的很想說多少經驗真的和多少工資沒多大關系,
相同的一年經驗,有人只能拿 10K,但是有人卻能拿到 20K,原因就在于兩個人的技術能力不一樣,
你技術好,就能比別人多要工資;你技術一般,就只能拿少點的工資,這是一個很現實的問題,所以工資只與技術掛鉤,而不是你所謂的經驗,
如果只是想了解行業平均薪水,直接去看當地的企業給出的工資是多少就好了,如果覺得自己薪水不符合行業平均薪水,就勇敢的跳槽唄,
五、問到專案中的技術難點怎么回答
對于這個問題來說,面試官考察的就是你的學習能力以及解決問題的能力,
很多人遇到這個問題會很懵逼,感徑訓本啥問題都谷歌解決了,當然如果你真的有遇到不是馬上能通過谷歌解決的問題便是極好的,按照描述問題、如何解決問題、結果這幾個步驟來回答就行了,
那么如果你覺得你的專案真的很簡單,沒有什么可說的話,就按照以下的幾個思路來聊這個話題,比如說你之前從沒接觸過某個技術,你是如何去學習這個技術的,在學習的程序中遇到了什么問題,怎么解決的,比如說你寫了這個專案,自己有了什么感悟、想法,
因為這道題目面試官不是說一定要聽你講出專案里到底遇到了什么難的問題,而是考察你的學習能力以及解決問題的能力,即使你沒有什么干貨可以說,說點自己的學習程序、挫折、想法感悟也是可以的,畢竟總比說感覺都很簡單來的好,
六、2021年Android面試押題
Java相關
1.容器(HashMap、HashSet、LinkedList、ArrayList、陣列等)
2.記憶體模型
3.垃圾回收演算法(JVM)
4.垃圾回識訓制和呼叫 System.gc()的區別?
5.類加載程序(需要多看看,重在理解,對于熱修復和插件化比較重要)
6.反射
7.多執行緒和執行緒池
8.設計模式(六大基本原則、專案中常用的設計模式、手寫單例等)
9.Java 四大參考
10.Java 的泛型
11.final、finally、finalize 的區別
12.介面、抽象類的區別

(Java相關答案地址)
Android 相關
1.自定義 View
2.事件攔截分發
3.解決過的一些性能問題,在專案中的實際運用
4.性能優化工具
5.性能優化 (講講你自己專案中做過的性能優化)
6.Http[s]請求慢的解決辦法(DNS、攜帶資料、直接訪問 IP)
7.快取自己如何實作(LRUCache 原理)
8.圖形影像相關:OpenGL ES 管線流程、EGL 的認識、Shader 相關
9.SurfaceView、TextureView、GLSurfaceView 區別及使用場景
10.影片、差值器、估值器(Android中的View影片和屬性影片 - 簡書、Android 影片 介紹與使用)
11.MVC、MVP、MVVM
12.Handler、ThreadLocal、AsyncTask、IntentService 原理及應用
13.Gradle(Groovy 語法、Gradle 插件開發基礎)
14.熱修復、插件化
15.組件化架構思路
16.系統打包流程
17.Android 有哪些存盤資料的方式,
18.SharedPrefrence 原始碼和問題點;
20.sqlite 相關
21.如何判斷一個 APP 在前臺還是后臺?
22.AMS 、PMS
23.Activity 啟動流程,App 啟動流程
24.Binder 機制(IPC、AIDL 的使用)
25.為什么使用 Parcelable,好處是什么?
26.Android 影像顯示相關流程,Vsync 信號等

(Android相關答案地址)
原始碼理解
-
Glide :加載、快取、LRU 算法 (如何自己設計一個大圖加載框架) (LRUCache 原理)
-
EventBus
-
LeakCanary
-
ARouter
-
插件化(不同插件化機制原理與流派,優缺點,局限性)
-
熱修復
-
RXJava (RxJava 的執行緒切換原理)
-
Retrofit (Retrofit 在 OkHttp 上做了哪些封裝?動態代理和靜態代理的區別,是怎么實作的)
-
OkHttp

(原始碼相關答案地址)
演算法與資料結構
-
時間復雜度 / 空間復雜度
-
常用的排序演算法有哪些?
-
字串反轉
-
鏈表反轉(頭插法)
-
如何查找第一個只出現一次的字符(Hash查找)
-
如何查找兩個子視圖的共同父視圖?
-
無序陣列中的中位數(快排思想)
-
如何給定一個整數陣列和一個目標值,找出陣列中和為目標值的兩個數,
-
二叉樹前序、中序、后序遍歷
-
最大 K 問題
-
廣度、深度優先搜索演算法
-
String 轉 int,核心演算法就三行代碼,不過臨界條件很多,除了判空,還需要注意負數、Integer 的最大最小值邊界等;
-
如何判斷一個單鏈表有環?
-
100 億個單詞,找出出現頻率最高的單詞,要求幾種方案;
-
鏈表每 k 位逆序;
-
鏡像二叉樹;
-
找出一個無序陣列中出現超過一半次數的數字;
-
計算二叉樹的最大深度,要求非遞回演算法,
-
String 方式計算加法,
(演算法與資料結構相關答案地址)
網路
1.網路框架對比和原始碼分析
-
網路七層協議有哪些?
-
Http 和 Https 的區別?Https為什么更加安全?
-
HTTPS的連接建立流程
-
解釋一下 三次握手 和 四次揮手
-
TCP 和 UDP的區別
-
Cookie和Session
-
DNS是什么?
-
DNS決議程序
10.HTTP報文結構
11.HTTP與HTTPS的區別以及如何實作安全性
12.如何驗證證書的合法性?
13.https中哪里用了對稱加密,哪里用了非對稱加密,對加密演算法(如RSA)等是否有了解?
14.client如何確定自己發送的訊息被server收到?
15.談談你對WebSocket的理解
16.WebSocket與socket的區別
17.談談你對安卓簽名的理解,
18.請解釋安卓為啥要加簽名機制?
19.視頻加密傳輸
20.App 是如何沙箱化,為什么要這么做?
21.權限管理系統(底層的權限是如何進行 grant 的)?

(網路相關答案地址)
Kotlin 相關
1.從原理分析Kotlin的延遲初始化: lateinit var和by lazy
2.使用Kotlin Reified 讓泛型更簡單安全
3.Kotlin里的Extension Functions實作原理分析
4.Kotlin系列之頂層函式和屬性
5.Kotlin 兼容 Java 遇到的最大的 “坑”
6.Kotlin 的協程用力瞥一眼
7.Kotlin 協程「掛起」的本質
8.到底什么是「非阻塞式」掛起?協程真的更輕量級嗎?
9.資源混淆是如何影響到Kotlin協程的
10.Kotlin Coroutines(協程) 完全決議
11.破解 Kotlin 協程

(Kotlin相關答案地址)
Flutter相關
1.Flutter 原理與實踐
2.揭秘 Flutter Hot Reload(原理篇)
3.Flutter 動態化探索
4.Flutter 如何和 Native 通信-Android 視角
5.深入理解 Flutter Platform Channel
6.Flutter Engine 編譯指北
7.深入理解 Flutter 多執行緒
8.Flutter 狀態管理 - 初探與總結
9.Flutter | 狀態管理指南篇——Provider
10.深入理解Flutter應用啟動
11.Flutter渲染機制—UI執行緒

(Flutter相關答案地址)
七、如何和 HR 聊天,比如談錢等等
首先你面到 HR 了,說明你基本已經成為備選人之一了,這時候 HR 會和你聊很多問題,這些問題都是為了了解你的一些個人情況的,比如說性格啦、反應能力、情商等等,另外大部分公司的 HR 并沒有一票否決權,面試沒有成功多半是有更好的備選人而不是因為 HR 把你卡掉了,
然后說到談錢的一個問題,首先以最少的工資招到需要的人肯定是 HR 的考核之一,所以壓價是很正常的一個事情,并且上家公司的薪資也是一個很重要的參考,一般來說漲薪幅度在 30% 以上是很牛逼的事情了,通常都在 20% 左右,
你的開價一般就是 offer 的上限了,考慮到壓價的情況,你可以在原本期望薪水上上浮 1K 左右,然后可以根據面試的情況來有選擇性的開價,
- 面的不錯,本來想要 16K 的,那么就多要個 1-2K 沒啥問題
- 面的一般,那就報 16 K 吧
- 面的一般或者不大好,但是又很想進這家公司,可以酌情下降 1-2K,這個主要還是看自己
- 不怎么想去這家公司,隨意開價
八、結語
我一直覺得技術面試不是考試,考前背背題,發給你一張考卷,答完交卷等通知,
首先,技術面試是一個 認識自己 的程序,知道自己和外面世界的差距,
更重要的是,技術面試是一個雙向了解的程序,要讓對方發現你的閃光點,同時也要 試圖去找到對方的閃光點,因為他以后可能就是你的同事或者領導,所以,面試官問你有什么問題的時候,不要說沒有了,要去試圖了解他的作業內容、了解這個團隊的氛圍,
找作業無非就是看三點:和什么人、做什么事、給多少錢,要給這三者在自己的心里劃分一個比例,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/227860.html
標籤:其他
