前不久,我們技術交流圈里一個小學弟說遇到了一件讓他很糾結的事情,希望咱能幫他參謀參謀,
一開始,我以為是感情糾葛,比如:A和B都喜歡我,但是我不知道怎么選巴拉巴拉,于是抱著吃瓜的心態我繼續聽了下去,結果沒想到啊沒想到,是來給我凡爾賽的,

這位小學弟得到了兩個作業機會,一個是名氣大的華為,一個是名氣小點的普通互聯網企業,但是名氣小的企業薪資開的高,這下他就不知道怎么選了,
從交談中我可以明顯的感覺到他是想去后面那家名氣小點但是薪資開的更高的瓜子二手車,他可以得到2萬元以上的工資,但是他又擔心瓜子那邊不穩定,相比之下,華為雖然開的少了些,但是會比瓜子穩定很多,
其實我很能理解他的心情,老實說,瓜子開的20K+對我都還有很大的傭訓力,剛何況是他這樣剛進入社會的應屆生呢?但是我還是想對說:魚與熊掌不可兼得,熊掌更加值錢,如果不是家里負債幾十萬,那就還是選擇華為吧,
他還把這件事發到了脈脈上,熱情的網友建議和我一樣,都建議他選擇華為,
華為,做好十年;華為有房有車十年,而北京沒有足夠的首付十年,華為,應屆畢業生或第一次降水更進一步,除了金錢的價值,然后瓜子;
去華為,二手車市場的穩定性不好,和人員流動比較大,雖然華為加班嚴重,只要相關作業內容是適當的,去主要的互聯網公司,guazi可能去二線互聯網公司,除非特別優秀,有一線互聯網面試機會,

有網友評論道:只要比較一下企業的價值觀,我們就會知道華為被選中的次數是瓜子的幾十倍,目前瓜子的模式和滴滴一樣,不確定性太高,什么專業啊,華為好點,這種待遇買起來容易點;這不是錢的問題,而是哪個環境更適合你發展;當你年輕的時候,選擇一個地方比選擇一家公司更重要,
選擇作業的標準
差不多是一致認為去華為是一個明智的選擇,只有少數人認為去北京(瓜子)可能會得到更多的機會,
畢業學生,也不知道如何選擇工資是其次,其實只是選擇可能會影響后續的職業發展,所以謹慎,選擇去華為,可能是在通信行業,整個城市將被固定在xi’,選擇去北京互聯網公司,意味著互聯網公司發展方向,
對于技術人員來說,如何衡量一個公司是否靠譜就變的尤為重要,
我面試過很多公司,積累了不少經驗,和大家分享下,希望對大家有幫助,下面是一些需要注意的點:
(1)公司的主營業務
資訊安全?網路游戲?手機游戲?流媒體視頻?嵌入式?你以后天天接觸的東西就是相關的業務了
(2)公司性質和規模
國企,大小私企,還是第三方公司(外派公司),或者是外包公司,每個人都有自己的取舍,國企的軟體開發比較安逸,對于技術的提升不大,工資一般,而且上升空間不大,
私企還有幾種,比如像騰訊公司屬于大公司,各方面福利待遇好,技術提升的快,但是每人分工很明確,你就是航空母艦上的一個螺絲釘,有完善的培訓體系,一般剛進公司會有專人帶你進行入門,
中型公司大家自己來體會,我覺得公司最好有自己的產品,這樣作為一個技術人員,我心里比較有底,
創業型公司,我曾經在一家游戲創業公司待過,很累很鍛煉人,趕上專案緊經常加班是常事,很多時候沒人帶,遇到問題了就是自己憋,創業型公司會把你鍛煉成一個全能選手,但是可能不是大牛,
說了這么多,其實最重要的我還是想說兩個字:羨慕!
這是什么凡爾賽的選擇???任意一個我都可以好嗎?啊,當然,這么好的待遇也只有應屆生能碰得上了,
不過,不管是不是應屆生,提高能力總是沒錯的,下面和大家分享一些準備面試的技巧,希望下一個凡爾賽的是你,加油!
第一點:心態
首先一個,心態要好,要相信自己,穩住不要慌,

第二點:基礎知識
初級所需要的知識
掌握Android 四大組件知識,深入了解相關生命周期,對于Application、Fragment、Intent常見的開發知識也必須掌握,
掌握Android 基本布局和控制元件的屬性和使用,常用布局有LinearLayout、RelativeLayout、ConstraintLayout等,控制元件有TextView、ImageView、RecyclerView、ScrollView等,
對Android的資源訪問使用有基本了解,了解Android針對不同國家、語言、螢屏、API的適配原理,
掌握android系統服務和工具類的使用,對網路訪問和資料庫操作有基本認知,
熟練掌握研發工具,如IDE、模擬器、網路代理、日志等,
中級所需要的知識
熟悉SOLID基礎設計原則,掌握23種設計模式,
對于研發語言特性java/kotlin有深入理解,如反射、動態代理、apt等,
對Android架構有基礎了解,對apk結構和打包原理有深入了解,
對于Android各個版本特性有基本了解,如MD設計、權限管理、doze模式等,
熟練掌握各種研發除錯工具,如git、gradle、mat、layout inspector等,
掌握Handler\AsyncTask原理,熟悉多執行緒開發,
對繪頁面制原理有初步理解,能夠實作一個復雜自定義控制元件,
能夠熟練掌握開源庫的使用,如圖片庫(Glide\Fresco)、網路庫(Volley\okhttp\Retrofit)、工具(Dagger\RxJava\EventBus)等,能夠對這些常用的庫進行二次封裝,
熟悉應用常見的優化方法,避免撰寫記憶體泄漏的代碼,
高級所需要的知識
掌握java高級特性,如JUC、執行緒池、NIO\BIO等;掌握jvm虛擬機知識,如記憶體模型、GC原理、類加載機制、執行緒模型等,
對Android運行環境有深入理解,理解Android沙盒機制,掌握AIDL原理及Binder通信原理,了解app和activity啟動原理,
掌握熱修復原理,各大廠商方案的優缺點,
對于Android事件分發有深入理解,重點掌握觸摸事件機制,
深入理解Android繪制原理,理解VSYNC和surface機制和視窗原理,
深入理解Android影片原理,包括補間影片和屬性影片,
對于Android安全機制有基本認知,理解Android安全原理,
深入理解端上設計范式思想,如mvc\mvp\mvvm\clean-arch等,
理解架構演進,有良好的分層和拆分思路,掌握模塊化、插件化、動態部署等,
對新技術敏感,理解掌握下一代架構dynamic feature等,
這里把位元組跳動等大廠經常問的那些題目進行了綜合性的搜集整理(含答案決議),
整理目錄

整理內容(部分截圖)
第一章Android 相關

第二章 性能優化

第三章 Java 相關

第四章 Kotlin 相關
第五章 網路相關
第六章 插件化&熱修復&模塊化&組件化&增量更新&Gradle
第七章.圖片相關
第八章 Flutter 相關
大家可以
掃碼找我免費獲取,希望這份資料對大家的學習和作業有所幫助,幫助大家進行知識的查漏補缺,
↓↓↓↓↓

第三點:演算法
前面也說過,位元組跳動面試最大的特點就是愛考演算法題,
作為一個過來人提醒大家:想要從事計算機技術崗位,在大學本科階段一定要早早的刷題,打好扎實的演算法與資料結構基礎,
時間充足的朋友建議在刷題之前看一些書
《漫畫演算法之旅》
如果你之前沒有任何演算法基礎,這邊書很適合你,可以補充資料結構和演算法的基礎知識,像什么是時間復雜度空間復雜度、查找、排序等,
如果你有了一定基礎了,建議你直接跳到最后面的演算法實戰部分,
《劍指 offer》
非常經典的一本書,學演算法的人必刷,但是要注意了,這邊書里面的題目是用 C++寫的,如果你是 Java 開發人員可能會有點影響,但是要記住學習演算法最關鍵的還是解題思路和方法,用什么語言實作是其次的,如果你時間比較多我是建議你用 Java 語言再實作一遍,
《labuladong的演算法小抄》
非常推薦!這是一本很新的書,寫書前作者在 Github 開源了一個專案,主要講解 LeetCode 解題套路,Start 總數排名前40,在書的開頭講解了學習演算法的基本思維和套路,建議看這邊書的同時再配合 leetcode 刷題,療效非常棒!
《演算法導論》
要是不推薦這本書是不是顯得我有點 low 了,這是一本科班出身的同學必看必學的經典大部頭,國外大佬寫的,國內翻譯的經典之作,雖然是經典但是不建議剛入門演算法的同學看,因為看了這本書你可能要放棄演算法了,比較難看懂,建議有了一定基礎再入手這邊書,
如果你覺得看書比較枯燥,可以推薦你看一些極客時間的專欄,不過是收費,但是質量非常高,
《資料結構與演算法之美》
這個專欄是文字+語音,作者是王爭,前 Google 工程師,他采用最適合工程師的學習方式,不拘泥于某一特定編程語言,從實際開發場景出發,由淺入深教你學習資料結構與演算法的方法,幫你搞懂基本概念和核心理論,深入理解演算法精髓,幫你提升使用資料結構和演算法思維解決問題的能力,
《演算法面試通關40講》
這個專欄是視頻,作者是覃超,前Facebook工程師,作者會用白板帶你一步一步解題,層層深入一環扣一環,每一題還會用多種解題方法,我基本看完了,識訓頗多,
leetcode、書和極客專欄可以并行,學練結合,不要光看不練,
時間比較急的朋友可以直接根據這份資料刷題
時間比較緊張的朋友,這邊整理了一份《演算法刷題寶典》,當時重金購買的,這里免費分享給大家,
PS:這份刷題資料里面整理的都是重中之重,建議時間充足的朋友也看看,

有需要的朋友可以直接掃【
下方的二維碼】找我免費獲取全套資料,
↓↓↓↓↓

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/303584.html
標籤:java
