2018屆秋季校招總結
阿新 • • 發佈:2019-02-17
阿里菜鳥網路
- 阿里主要問專案,涉及Zookeeper,Spring
- 線上程式設計,寫陣列排序,Java多執行緒實現生產者消費者
- wait/notify機制,wait與sleep的區別
- 阿里比較看重實習經歷和專案經驗,喜歡問Zookeeper,Spring,Netty等問題,建議想去阿里的同學要對某一個分散式框架有深入理解,最好看看原始碼
美團技術工程及基礎資料平臺
- 介紹一下http請求過程(瀏覽器訪問百度到返回介面整個流程)
- 在TCP請求中,如果服務端監聽埠沒有開啟會怎麼樣
- 瞭解sack嗎
- socket中哪些API是用於收發協調的(流量控制,擁塞控制)
- TCP如何檢測報文丟失
- 介紹滑動視窗
搜狐焦點
- 求一個數的最大素因數
- 約瑟夫環問題
- 求兩個數的最大公約數
- 什麼時候觸發full gc,什麼時候觸發minor gc
- Java8有哪些新特性
- 寫一個Java8的lamda表示式
滴滴出行
- 有一段繩子長度為n米,如果n為偶數則對半剪斷,如果n為基數則剪下1米,問剪多少次可以剪成每段1米的
- 一個不降序陣列,找出其中絕對值最小的
- 資料庫索引匹配規則
- Oracle事務實現原理
百度
一面
- 哈夫曼編碼
- b樹和b+樹,區別,b+樹的應用(資料庫索引),索引為什麼不用b樹實現(感覺這是必考的一個點)
- 用一句話概括你對網路傳輸層的理解
- 介紹一下http及hppts協議,https是如何實現安全傳輸的
- 手寫歸併排序和快速排序
二面
- 介紹一下Java中error和Exception的區別,他們的父類是什麼
- 寫一個會發生OutofMemoryError和StackOverflowError的例子程式碼
- 如果無限遞迴呼叫肯定會發生StackOverflowError,有沒有其他情況也會發生
- Java中如何實現呼叫一個類的私有方法
- 瞭解哪些設計模式,簡單介紹一下工廠模式,他有什麼作用,分為哪幾種
- 用兩個棧實現一個佇列
- 查詢兩個字串的最長公共子串
- 設計一個圖書館管理系統(需求自己想),設計一下資料庫表
三面
- 三面主要是問專案(一二面也會問)和手寫程式碼
- Spark的主要工作機制
- 一個數塔問題,從第一行到最後一行最短的路徑(經典動態規劃問題)
- 反轉連結串列中第m個節點到第n個節點
- 開放題,說一下MapReduce模型中Shuffle過程的優化
凡普金科
一面
- Java實現多執行緒的幾種方式
- wait/notify機制,什麼時候用notifyAll,實現原理
- 介紹一下Netty的機制,為什麼說Netty支援高併發
- Scala的逆變和協變
- 寫一個單例模式
- 圖的儲存
二面
- Netty的粘包拆包問題
- 對函數語言程式設計的理解
京東
一面
- 介紹一下TCP滑動視窗
- HTTP協議get請求和post請求的區別
- Exception和Error的區別,他們的父類是什麼
- 介紹一下垃圾回收機制,什麼時候觸發full gc,介紹一下CMS
- Java的類載入機制
二面
- 手寫連結串列反轉,時間複雜度多少
- 介紹垃圾回收機制,垃圾回收記憶體中除了新生代和老年代還有什麼
- 快排的時間複雜度和空間複雜度
- 介紹一個最小生成樹演算法
- 微信公眾號開發中openid是什麼
- 一幢樓有100層,已知手機在其中某一層摔下就會壞,現在有兩個一樣的手機,請問,最少能摔幾次保證一定找出那個極限的樓層值?
- 簡歷中沒什麼感興趣的點就問了這些很快結束了
好未來
一面
- 獲取單鏈表中倒數第k個節點
- 用非遞迴的方式計算二叉樹的深度
- 如何設計一個執行緒池,說一下大體思路
二面
- 一個經典的動態規劃問題,大意是有三個節點,每個節點代表到這的路徑長度,從第一個節點往後走,可以走到下一個節點,也可以返回自己,要求n步走到第三個節點,程式碼實現計算最短的路徑長度
去哪兒網
一面
- 主要講筆試題的思路(LRU),儲存用雙鏈表實現,我是遍歷實現查詢,問怎麼優化
- HashMap的結構,有什麼特點
- HashMap是執行緒不安全的,在併發情況下怎麼解決
- ConcurrentHashMap是如何實現執行緒安全的,與HashTable的區別
- 為什麼會產生死鎖,如何解決
- 對於Linux熟悉嗎,在Linux中如何檢視網路狀態以判斷是否發生擁塞
- 介紹一下Zookeeper的選舉機制
- 介紹一下資料庫優化的思路(問的很寬泛,從sql優化到索引優化等等都可以說)
- 有一個很大的日誌檔案,記錄各個url訪問情況,如何從中找出top100,如果集中在少數的幾個 url如何解決(即如何解決資料傾斜問題)
二面
- Java中static的用法
- 類的初始化流程
- 在一個無序陣列中如何儘快找到他的中位數
- 有一個很大的日誌檔案,記錄各個url訪問情況,如何從中找出top100,如果集中在少數的幾個 url如何解決(與一面的最後一個問題重複了)
蘇寧
- 在校成績
- 專案介紹
- 你平時通過哪些渠道來了解前沿技術,進行技術積累
- 如何從一個員工表中查詢男性員工有多少,女性員工有多少
華為CloudBU
- 在校成績
- 獎學金情況
- 期望的工作地點
參考書籍
- Java程式設計思想
- Java併發程式設計的藝術(方騰飛)這本書涵蓋了面試中關於Java併發程式設計的絕大部分點
- 深入理解Java虛擬機器(時間緊的話就看垃圾回收和類載入)
- 程式設計師程式碼面試指南(左程雲)配合《劍指offer》應對面試中大部分手寫程式碼的題
- 高效能MySQL(重點是索引那一章)
- 大型網站系統與Java中介軟體實踐(對阿里的面試很有幫助)
- 作業系統和網路我看的是本科教材,大致過了一遍
面試總結
- 我面的是後臺開發,面試過程中要經常總結,不斷完善簡歷,不斷補充面試中遇到的問題,面試中如果遇到了重複的問題而沒有答好是很後悔的
- 每個公司重視的點都不太一樣,但總體來看校招還是重視基礎,如果沒有特別豐富的專案經驗,就要把基礎知識打牢,手寫程式碼一定要練。如果知識面廣度夠了,而且在某一方面研究的比較深一定可以找到滿意的工作。