非科班生的Android秋招求職經歷
拼多多 學霸提前批Android研發工程師 offer
筆試
基於給定介面實現ImageLoader框架
一面
- 自我介紹
- 靜態變數和例項變數的區別
- 重寫equals()方法的注意事項;兩個list是怎麼判斷是否相等的?
- HashTable和HashMap的區別;是否允許鍵為null
- 資料同步的方法;synchronized可以在物件上加鎖嗎?在方法上加鎖是加在哪個物件上?
- 程序間讀寫檔案的同步方式
- 瞭解哪些加密演算法;AES和RSA的區別
- HTTP響應碼
- 程序優先順序;Android程序優先順序
- 如何使一個Service處於另一個程序中;程序的服務保活
- Touch事件分發機制
- 如何實現客戶端長連線的?重試策略是怎樣的?如何監控HTTP請求的?
- 提問問題
二面
HR面
也不能算是HR面吧,簡單聊了聊。
1. 專案介紹;擔任的角色
2. 家庭情況;期望薪資
3. 在哪裡實習?實習的時候拿到過哪些offer
4. 介紹了拼多多的待遇以及工作制度
三面
- 自我介紹;專案問了些
- 如果安卓是單執行緒的,那麼如何處理介面重新整理和網路操作兩個模組
- 演算法題。
CVTE TE計劃 Android開發工程師 HR面掛
一面 電面
- 自我介紹
- Activity的launchMode,每種的概念;singleInstance用在什麼情形
- 轉動螢幕時會發生什麼?如果有一個進度條,轉動螢幕時會發生什麼?如何是自定義的進度條,怎麼辦?
- Thread和HandleThread有什麼區別;MessageQueue的結構
- 程序和執行緒的區別;Android的多程序通訊方式;aidl是怎麼使用的
- 多執行緒的問題。每個執行緒一個單例,怎麼做?ThreadLocal怎麼用的?
- 瀏覽器輸入www.google.com之後用到的協議;NAT是怎樣的?
- 記憶體洩漏的情況;Handler洩漏的具體場景,如何避免;GC的過程;強軟弱虛引用
- 如何複用View;ViewHolder是如何使用的;ListView是如何複用View的
- 事件分發機制;dispatchTouchEvent和onTouchEvent的區別;
- 瞭解過哪些開源框架;OkHttp和HttpURLConnection的區別
- 職業規劃
二面 視訊面
- 自我介紹
- 長連線如何實現的;TCP粘包怎麼處理的;協議改進的方法;MINA、Netyy框架
- OkHttp的原始碼,攔截器一塊的原始碼;有沒有自己實現攔截器;OkHttp這樣設計的好處;Volley快取一塊的設計;UIL如何管理請求的;
- Android的效能優化;
- 為什麼有滑動衝突;怎麼處理;涉及的主要方法有哪些;dispatchTouchEvent、onInterceptTouchEvent和onTouchEvent分別用在什麼地方
- Binder的機制;aidl;服務端如何確定呼叫的是哪個方法;Binder執行緒池,執行緒安全指什麼;
- RxAndroid用在哪裡;用到了哪些操作符;map和flatMap的區別
- 專案中用到了哪些設計模式;模板方法是怎麼使用的
- 手寫程式碼,實現一個數據結構:棧,考慮擴容,加入執行緒同步。
- 寫過部落格嗎?主要內容是哪塊;參與過開源專案嗎?
- 瞭解過Android的最新動態嗎?有沒有用Kotlin做過專案;如何學習一門新語言
- 瞭解過CVTE嗎?以後的職業規劃
終面HR QQ視訊面
面了兩次CVTE的hr面,總結了會問的問題。如下:
1. 前面的面試如何,打個分
2. 職業規劃;工作時間
3. 家庭情況;性格都是怎樣的,對你的性格有什麼影響
4. 如果CVTE給你offer了,如果不會來,會是什麼原因
5. 目前拿到了哪些公司的offer?CVTE也給你offer了,你會選哪;還會在投其他公司嗎
6. 宿舍關係怎麼樣?人生中壓力最大的事情
HR面又掛了,實習的時候也是HR掛了,讓我不得不懷疑我是不是心理有問題了,哈哈。
遠景能源 offer
由於實習的時候拿到了實習offer,所以走的綠卡流程。在上海實習的,就直接去公司面試的。
一面技術
- 自我介紹
- 說了下?做的是什麼?
- 使用的UI自動化測試框架的原理是怎麼樣的?討論了下iOS是如何進行UI自動化測試的
- 對熱修復的理解;能否修復so包?
- GC;碰到的OOM情況;聊到了參加的阿里中介軟體比賽,說了下當時的思路;如何進行記憶體分析
- TCP程式設計時的協議是如何制定的;有什麼改進的地方;PB的編碼方式是如何的,如何可以節約空間的。
- 聊了聊RN以及對技術框架選取的一些看法
HR面
HR面比較簡單
通過技術面後做了兩個測評,類似心理、情商評價之類的。
高管面
高管面比較簡單,就QQ視訊了5分鐘,簡單聊了下實習的氛圍和以後的打算。
offer
有贊
一面 Android開發工程師
- 自我介紹
- 如何學習Android
- 如何設計一套圖片載入框架;三級快取。為什麼選擇LruCache?
- 瞭解過launchMode嗎?使用過的具體模式的場景?微博分享頁面應該使用哪種launchMode?
- 知道記憶體洩漏嗎?瞭解的記憶體洩漏?Handler在哪種情況下會引起記憶體洩漏?什麼好的工具可以檢測記憶體洩漏?
- IntentService原理
- 用過WebView嗎?
- 如何實現一個圖片瀏覽器的思路?
- 有什麼想要問的?
有贊 Java開發工程師
一面
- 自我介紹
- 專案提問
- TCP連線;為什麼不是兩次;為什麼不是三次
- HTTP請求報文結構;GET與POST請求;HTTP版本知道哪些,區別是什麼
- 程序排程演算法有哪些;死鎖的必要條件;如何消除;如何避免;銀行家演算法;
- Java的集合;HashMap的結構;為什麼改成紅黑樹;阻塞佇列一般用在什麼地方
- Java泛型;泛型擦除;任何情況下都會發生泛型擦除嗎?
- 雙親委派機制;兩個類被不同的類載入器載入,是同一個類嗎?
- 如何實現一個執行緒;執行緒的狀態機;什麼情況會使執行緒阻塞;ThreadLocal;幾種執行緒池;如何自己設計一個執行緒池
二面
- 自我介紹
- 自己做的app是怎麼做的;
- Java的GC;ActiveMq看過原始碼嗎?MySql學習過嗎?
- 使用過哪些設計模式?
- 程式設計。主要考察程式設計能力和程式設計習慣。一個字串,統計某個字母出現最多次;寫好之後,改了需求,找出出現次數最多的十個字母
- 雙親委派模型;為什麼要雙親委派模型
- 提問問題
頭條 Android開發工程師 offer
終面(春招拿到了offer,綠卡)
- 實習專案介紹;如何實現的;為什麼使用反射;XML解析的方式;DOM和SAX解析的區別;註解的分類;ButterKnife實現原理
- MVP模型是怎麼樣的;如何實現的;P層是怎麼實現的
- 為什麼選用OkHttp庫;攔截器鏈是如何實現的;自己實現的攔截器是用於哪裡的;是如何做DNS的;
- 處於onResume的activity a啟動activity b按照時間順序生命週期是如何呼叫的;onSaveInstanceState方法會在什麼情況下呼叫
- View的事件分發機制;ACTION_CANCEL什麼時候被呼叫,一般switch-case中如何處理;
- Android常見引起記憶體洩漏的情況;Handler引起的記憶體洩漏是怎樣的一個過程;使用過哪些工具進行記憶體洩漏問題;LeakCanary的工作原理是怎樣的;MAT如何進行記憶體洩漏分析;
- HTTP2和HTTP1.1的區別。HTTP/2 新特性淺析
- 手寫演算法題。一個二維陣列,左到右有序,上到下有序,如何找一個值。劍指offer原題。
- 看過哪些原始碼;如何看原始碼;如何學習Android
一個月後拿到了意向書,互娛部門,做抖音。
阿里文娛 優酷 Adnroid開發工程師 掛
終面(春招拿到了實習offer,直通終面)
- 自我介紹,專案介紹
- 閱讀類APP有沒有後臺?沒有後臺的話,每一個app都要去獲取多餘內容可以怎麼改進?爬蟲怎麼做的?
- ImageLoader怎麼實現的?三級快取怎麼做的?儲存圖片在記憶體中會發生OOM嗎?
- MVP模式的理解
- 資訊推送怎麼實現的?協議怎麼設計的?AES演算法是怎樣的?如何保證資料的正確性和不遺漏訊息?
- 實習的專案是如何做的?怎麼去匹配XML和TXT中的欄位?
- UML瞭解嗎?軟體開發流程是怎樣的?
- 設計模式瞭解嗎?如果一個支付的模組,會呼叫不同銀行的介面,不同銀行的介面所需引數和返回引數均不同,使用哪種設計模式?
- Android機型適配怎麼做?如何捕獲Crash?
- 本科和研究生均不是計算機的,怎麼學習的?
- HR問了工作地點的意向;投了哪些公司;目前拿到了哪些offer
- 提問了面試官關於Android APP測試的問題,瞭解了行業情形
1v2,技術經理和HR,HR是遠端實時聽錄音的
半個多月後問hr,掛了。真是坑比啊,由於把我簡歷鎖著,我一直報不了杭州這邊的阿里,筆試面試都沒有機會。日了狗了
網易 內推 Android開發工程師 掛
一面
- 自我介紹;除了Android還做了其他的哪些專案;
- Activity的lauchMode;用過哪些;說了一個他們遇到的問題,讓幫分析分析
- 知道的網路庫有哪些;Volley和OkHttp分別適合用在什麼場景下
- ImageLoader的三級快取是怎麼實現的;磁碟快取是怎麼實現的;知道哪些圖片載入框架
- 記憶體洩漏如何檢測;LeakCanary的原理;Handler是如何造成記憶體洩漏的;內部類都會造成記憶體洩漏嗎?
- 參加的阿里中介軟體比賽是怎樣的;簡單實現一個生產者-消費者
- Java的執行緒池有哪幾種;需要定時任務使用哪種;CachedThreadPoolExecutor是怎樣的
- 應用通訊是如何確保安全的;Https是怎樣的;Android如果採用Https通訊的話,客戶端這邊需要有什麼
- 提問問題
二面
- TCP的連線為什麼是三次握手,不是兩次也不是四次
- 對Android框架層瞭解嗎?AMS和WMS瞭解嗎? (說了瞭解AMS,噩夢由此開始)
- Fragment用過嗎?Activity如何傳參給Fragment?為什麼用setArgument傳參,而不是使用帶有引數的構造器?
- 知道系統殺程序嗎?如果棧中從底到頂現在是A,B,C,然後系統把應用殺了,重新點選,顯示的是哪個Activity?這時如果C裡面有Fragment是怎樣恢復的?(中途解釋了為什麼要用setArgument傳參,說在走Activity的生命週期之前會先有一個恢復過程,反正聽的雲裡霧裡)棧下面的A,B存不存在
- Binder機制;為什麼Binder是一次拷貝
- Activity和Service有什麼區別;Service是誰管理的;bindService需要使用到Binder嗎?系統服務和自定義服務啟動有什麼區別?
- 對協議的理解
秋招正式批的時候,又做了網易筆試,後來又通知去筆試,但由於已確定去51信用卡了,就沒有再去杭州面試。
360 Java工程師 掛
一面 18min
- 自我介紹
- String和StringBuffer的區別;StringBuffer在傳參時用final修飾,可變嗎?
- HashMap與HashTable的區別;HashMap在插入自定義類時,要重寫哪些方法,為什麼
- volatile關鍵字
- Java虛擬機器,瞭解多少說多少
- 鎖的類別;用過嗎
- 資料庫瞭解嗎?sql語句
- 用的什麼IDE;Linux熟嗎?專案有部署到Linux上嗎
- 專案中使用到什麼框架沒
- 專案中用過哪些設計模式
二面
- 自我介紹
- 關於專案提問的
- 資料庫瞭解嗎
- 執行緒安全的集合類有哪些;迭代器模式是怎樣的
- 設計模式瞭解嗎?哪些是構建型的
- 優勢在哪裡;以後的職業規劃
- 提問問題
三面 HR
- 自我介紹
- 期望薪資;期望工作地
- 目前投了哪些公司;會去哪家公司
- 有什麼問題提問
三面完gg,估計在武漢要的錢太多了
商湯科技
面試前發現崗位是測試工程師,結果一面是個測試面的;而且那邊網訊號很差,聽不到聲音,全程打字,好尷尬。
一面 測試(因同名而導致資訊錯誤)
- 寫一個Http請求
- 寫一個檔案讀寫,從一個檔案讀,然後寫入另一個檔案
- android 的頂部banner用什麼控制元件實現;核心程式碼
- 不想做測試,更想做開發?對商湯的瞭解
- 提問問題
後來參加筆試,過了筆試,由於不想去北京,所以拒了面試。
新美大 Android開發工程師 offer
一面
- 自我介紹
- 為什麼選用OkHttp?為什麼用MVP模式?
- ImageLoader的三級快取怎麼做的;OkHttp的磁碟快取怎麼做的?
- 如何刪除文章的廣告之類的?有遇到不符合的情況嗎?
- HashMap是執行緒安全的嗎?HashMap執行緒不安全會造成什麼現象?如何使HashMap變為執行緒安全的?
- Java的記憶體模型;GC;遇到過OOM情況嗎?有什麼可以檢測記憶體洩露的工具
- 文章列表用的什麼什麼控制元件?ListView如何優化?RecyclerView用過嗎?和ListView的區別
- 應用中有幾個Activity;ViewPager巢狀Fragment怎麼用,遇到過什麼坑沒?
- 自定義View時自定義屬性該怎麼做?
- 印象最深刻的專案,或難點
二面
- 自我介紹
- 介面展示用的ListView還是RecyclerView?如何做文章的過濾的?如果改成別的網站需要怎麼做?
- ImageLoader怎麼實現的?記憶體快取使用的是什麼策略?
- 專案中TCP+HTTP+JSON是怎麼回事?
- android ui自動化測試
- 實習的專案
- 對Kotlin的瞭解;準備讓用Kotlin寫一個介面的
- 給了一個佈局,讓說說看怎麼編寫
- 瞭解啥新技術
- 問問題
三面
- 自我介紹
- 為什麼選用AES加密?
- 全程沒聊技術,介紹他所在部門做的事情,問我感不感興趣,我也提問了一些問題,聊得比較投機
- 手上的offer
HR面
問了一些基本資訊,手上offer情況,對薪資的要求。由於三面全程沒問技術,心裡比較虛。
小紅書 Android開發工程師
- 自我介紹;專案提問
- 為什麼使用AES加密,不使用HTTPS?AES本地加密,如何防止apk被反編譯?TCP協議報文是如何定義的?如何解決分包的問題的?對HTTP2.0有什麼瞭解?
- Launcher->A->B->C->D->A(singleTop)->B(singleTop)->C(singelTop)->D(singleTop)->A(singeTask)->B(singleTask)->C(singleTask)->D(singleTask)->A(singeInstance)->B(singleInstance)->C(singleInstance)->D(singleInstance)後,返回棧裡有幾個Activity,分別是怎樣的?有幾個任務棧?
- 程式設計題。n元,一瓶汽水1元,一個瓶蓋0.2元,問可以喝多少瓶汽水。
- 提問
說一面通過,10月中旬再進行面試
招銀網路 軟體開發工程師
- 自我介紹
- 專案提問
- AES加密演算法
- MVP模式
- GET和POST區別
- 靜態變數和成員變數的區別
- 獲得Class物件的方法
- 筆試做的怎麼樣
- 提問問題
一面後沒有繼續去現場繼續面試
鬥魚 Android開發工程師 掛
現場首先一個小時做一套卷子,然後筆試過了再面試。
一面
- 自我介紹
- 對著卷子中問問題;一個棧不可能的出棧順序;演算法題的思路;快排是什麼
- Java基礎
二面
二面技術官是個話癆,全程不聊技術,就聊Android以後的走勢之類的。
HR面
HR也就是聊了聊意向地,優缺點,希望工作地、薪資等等。
之前說鬥魚比較難進,但是這個面試真的是太水了,據說今年漲薪了,希望能拿到這樣一個offer,在武漢還是挺有競爭力的。最後估計因為直播看的不多,以及人招的確實少,掛了。和我一起的一個阿里大佬也掛了
ThoughtWorks 軟體開發工程師 掛
內推的,首先做了一個網上作業,兩三天做完,地址在我的Github上面。
一面
- 自我介紹
- 就做的網上作業,增加新需求,有一些日子有打折活動。對於我這種擴充套件性很強的程式碼而言,簡直so easy
- 專案提問
- MVP模式;ImageLoader哪幾級快取,怎麼實現的;
- 之前參加的結對程式設計比賽,怎麼看
HR面
HR主要就專案遇到的困難,個人性格問題進行提問,英文簡單問了兩句。主要是考察價值觀和thoughtworks是否相同,要表現地善於合作、分享這些吧。
海康威視 Android開發工程師 offer
一面
- 專案提問;採用的什麼方式解析XML;XML解析的方式有哪些;為什麼選用SAX解析方式
- 反射涉及涉及哪些方法;如何判斷文件結構是否變化的;
- TCP和UDP;HTTP報文協議
- AES加密演算法;什麼是對稱加密演算法、非對稱加密演算法;知道哪些非對稱加密演算法
HR面
聊了期望薪資,工作地點和手上的offer情況。
貝貝網 Android開發工程師 offer
一面
- 自我介紹
- 三級快取怎麼做的;記憶體快取的大小怎麼定的;
- 實習為什麼選擇**公司;實習專案是怎麼做的
- 阿里中介軟體比賽是怎樣的
- 問問題
一面比較輕鬆,二面比較深,畢竟技術合夥人面試的,感覺不太好
二面
- 自我介紹
- 用了哪些開源庫;對Android哪些熱點技術研究了;熱修復的原理是什麼,看過原始碼嗎
- 模組化了解嗎?如果自己實現怎麼實現
- 圖片三級快取怎麼做的;如何避免OOM;
- 有沒有對效能優化進行過研究;overdraw如何解決
HR面
- 家在哪裡;對貝貝的瞭解;手上的offer;七天出訊息
- 興趣愛好
offer給分配了Java開發一職。
騰訊 Android開發工程師 掛
一面
- 自我介紹
- 學院多少人;程式設計水平排名如何;最近一次不是為了找工作而程式設計是什麼時候;給offer後可以實習嗎?抽菸嗎?喝酒嗎?興趣愛好?
- 談談Java的GC;記憶體洩露的引起原因;優化記憶體方面寫程式碼有什麼注意的,有什麼實際應用
- 一道多執行緒設計題;從檔案A和B中每次讀1K資料,然後將這兩塊組合起來發到網路上,怎麼設計,提示從多執行緒考慮;給出瞭解決方案後,問了下BlockingQueue的底部實現原理;然後問網路上傳資料有哪些方式;如何制定自己的TCP協議
- 一道演算法題。一個字串,中間有型別”\哈哈”表示一個表情,然後讓你把字串區分出型別,比如文字->某某表情->文字…這樣一個形式
- Android掌握的怎麼樣;然後問了一道關於事件攔截的題;一個ViewGroup,它的每個子View都是可以隨意拖動的,該怎麼實現
- 提問問題
二面
二面就是聊天,全程沒技術,然後把我掛了。騰訊從此粉轉路。不想招人就別叫我去面試啊,逗。成為了面試官KPI的犧牲品
51信用卡 Android開發工程師 offer
一面
- 自我介紹
- 註解的型別;編譯時註解和執行時註解的區別;如何實現編譯時註解;有沒有自己實現過
- 瀏覽器輸入一個網址經歷過的流程;DNS具體過程;DNS攔截知道嗎?如何解決DNS攔截?
- HTTPS過程;如何防止HTTP請求被監聽;
- HTTP Get請求的位元組限制數是多少?HTTP快取是怎麼做的;如何瀏覽器請求了一個沒被修改過的響應,返回碼是多少
- OkHttp的流程;Socket複用是如何實現的;OkHttp是如何管理連線池的;Okio是如何實現的;和傳統IO有什麼區別;NIO和BIO的區別;Retrofit瞭解嗎?
- 如何更改移動一個View;屬性動畫的原理;Interpolator的設計模式是什麼;如何實現一個圓形的ImageView
- Activty、Window、View的理解;Activity的onCreate()可以獲取View的寬高嗎?如何在onCreate()裡獲取View的寬高?子執行緒可以更新UI嗎?一定不可以嗎?
- Activity的啟動流程;如何啟動一個沒在Mainfest中註冊的Activity
- 熱修復技術瞭解過嗎?Tinker為何是全量dex?Android的類載入機制是怎樣的?如何載入一個dex?
- 提問問題
二面
- 實習期間做的專案;用到什麼框架沒;
- 做的APP是怎麼做的;如何實現文章抓取的;刪除了哪些標籤;
- 三級快取是如何實現的?LruCache的實現原理?載入圖片的一個過程;HTTP請求時,如果響應沒有修改,返回哪個響應碼;還遇到過哪些響應碼;如果刪除策略修改了,怎麼辦?
- 阿里中介軟體比賽,談了談體會;對開闢執行緒的看法;執行緒池數量的設定
- 應用中遇到開發問題怎麼解決的;對安卓的看法
- 為什麼選用MVP模式開發?好處是什麼?應用中有多少個Fragment
- 雙重檢查鎖的好處;如果不用雙重檢查鎖,那麼會出現什麼問題;synchronized加在方法上有什麼影響
- 專案採用的架構
三面 現場
終面是趕到現場面的,主要算是聊了聊。包括專案團隊如何寫作的,專案是如何實現的,對app效能優化方面的認識,對app加固混淆方面的瞭解;優缺點
HR面
主要聊了下之前的面試感覺、期望薪資、三方什麼時候發放、能否實習,其他一些忘記了。
挖財 Android開發工程師
一面
- 自我介紹
- 應用的心跳機制和斷線重連機制怎麼實現的?用的Socket是java層的還是jni層的?心跳包是如何設計的?如何監測網路變化的?在新版本中,不能使用廣播,該如何實現?
- jvm的堆、棧和方法區有什麼區別;sleep和wait有什麼區別
- 雙重檢查鎖的單例模型;為什麼要用volatile修飾,如果不的話,會有什麼問題
- 25匹馬,5個賽道,決出前3名
- Activity啟動流程;View繪製發生在哪個階段
- 登入過程,如何保證密碼安全傳輸
- 解決hash衝突的方法有哪些;連結串列插入查詢時間複雜度多少;如何提升到log(n)
二面 現場
二面的面試官是個年輕女性,我一開始還以為是HR呢。
1. 自我介紹
2. 專案是怎麼做的;有沒有用單測;gradle用過嗎?
3. Github上最喜歡的一個庫
4. 還有一些其他問題忘記了,面完說hr不在,會電話聯絡我,不知道是不是被套路了
後來打電話去問,說二面過了,等hr面,不過hr遲遲沒來。
酷家樂 Android開發工程師
- 部落格上春招面試經歷,為什麼面了那麼多公司,最後拿了哪幾家的offer
- 自我介紹
- MVP模式;RecyclerView中的Adapter放在哪一層;放在View層和放在Model層有什麼區別
- android的動畫;4.4之後activity的transion動畫屬於哪種;Path動畫用過沒
- Handler訊息機制;view.post()與Handler.post()有什麼區別;
- 事件傳遞機制;OnTouchListener和onTouchEvent()是怎樣一個具體流程
- Android優化了解哪些;include和merge有什麼區別;viewstub使用時需要注意什麼地方;
- 記憶體洩露是什麼
- Java的集合框架;HashSet的內部實現;為什麼使用HashMap實現hashSet;SparseArray原始碼
- 提問問題;問了下公司規模和開發氛圍
一面掛。不過說實話,面了這麼多公司,一面掛的也就酷家樂了
總結
準確的講,找工作是從春招開始的,因為當初的找實習也是為了秋招找工作增加經驗。關於實習的面試經歷,可以參考2017春招實習-Android開發面經-bat,td等公司,最終出於工作地點的考慮和卡中心的福利,選擇了去卡中心實習,也順利轉正了。由於比較想去杭州發展,所以重點投了杭州的一些獨角獸公司,比如51信用卡、有贊、挖財、貝貝等等,也算有幸拿到了兩家的offer,所以最後也選擇了51信用卡。
關於校招,想說的很多,經驗也有不少,總體來說:基礎(演算法、語言、網路、作業系統…)+專案+面試表現。
基礎
演算法
至於基礎的話,演算法很重要,因為演算法渣,很難過筆試,關於這方面,掌握基礎演算法(排序,查詢,樹和圖的遍歷等),把劍指offer刷一遍,再刷些leetcode應該差不多了。(秋招,沒過的筆試有百度、搜狗、蘑菇街、滴滴、搜狐、新浪,有些公司不招人那就沒辦法了)推薦一本書:資料結構與演算法經典問題解析:Java語言描述(原書第2版)
語言
網路
網路的話,主要就是TCP、UDP、HTTP1.1/2.0、HTTPS。TCP設計連線、斷開連線、擁塞控制、流量控制等等;HTTPS設計證書下發,加密演算法等等。最好有網路程式設計的經驗,對TCP的分包粘包這種概念理解更深,以及TCP協議的設計和序列化,這裡可以瞭解下protocolbuffer序列化方式。
對於Java開發者,Netty原始碼可以看看;對於Android開發者,OkHttp可以看看,可以加深對HTTP協議的理解。
作業系統
春招時,被阿里問到了程序管理,當時沒看作業系統,然後就白瞎了。我認為主要掌握程序管理、記憶體管理,這是問的比較多的。其他部分的話,追求越高,自然懂的也就要越多
專案
專案就仁者見仁,智者見智了,不過建議是可以放到github上,包裝包裝。
其他
面試表現=80%基礎+20%臨場發揮,所以基礎很重要,基礎很重要,基礎很重要。
關於比賽和論文,這些都是我沒有的,這些也都是加分項。之前參加了阿里中介軟體比賽,進了複賽,面試中也被問到過幾次,還沒找工作的朋友們可以準備準備,還來得及。
最後祝大家都能找到一個滿意的工作,滿意是針對你自己的水平和期望而言的。水平是根據你的天賦和付出而言的,什麼都不做而拿不到好的offer而說不滿意,這是不對的。心態很重要,認識自己很重要。