快手1輪面經 20180910
-
個人介紹
- 學校經歷(課程、考研、成績)
- 項目經歷(時間段、項目介紹)
- 個人愛好(體育、特長)
-
實習項目
- 項目介紹說辭
- 項目背景
- 采用技術
- 項目周期
-
WEB基礎
- 介紹什么是restful?
- 什么是restful API(what)
- 為什么使用restful API (why)
- 優點、缺點(advantages、disadvantages)(attribute)
- 主要用哪些http動詞(get、put、post、delete)
- responsebody是用web接收還是對象接收?
- 用什么東西接收從前端接收的參數
- 單個值使用?號來傳參
- get和post的區別?(difference)回答4點
- 是否了解httprequest的組成?(constitute,make up )
- http狀態碼(404、500、301、302、403、500)
- 介紹什么是restful?
-
java基礎
- 講解類加載的過程(load、link、initation)
- 詳細展開加載(3步)、鏈接(文件格式驗證、字節碼驗證、元數據驗證、符號引用驗證)、初始化
- 有哪些類加載器(ClassLoader)
- BootstrapClassLoader
- ExtClassLoader
- ApplistcationClassLoader
- CustomerClassLoader
- 加載器加載順序
- 重載和重寫的區別?overload & overwrite
- 重載的指標
- 參數列表
- 參數個數
- 參數順序
- 返回值不能作為指標
- 重寫
- 重載的指標
- equals和==的區別?(difference)
- 接口和抽象類區別?(difference)7大點
- 抽象類定義一個非抽象方法,可以在當前類可以寫方法體嗎?
- java集合類了解哪些?
- list
- ArrayList
- Linkedlist
- set
- HashSet
- Map
- HashMap
- ConcurrentHashmap
- HashMap的原理、是否線程安全
- 如何實現HashMap線程安全
- list
- synchronized的作用
- 解決同步
- 能否寫在類上面
- 了解垃圾回收嗎?
- 什么是垃圾回收(what)
- 如何進行垃圾回收(how)
- 垃圾回收算法
- 垃圾回收器在什么時候對什么東西做了什么事?
- 進程和線程的區別?(difference)three points
- 線程的實現方式?(implementation)
- Thread
- Runnable
- Callable
- ThreadExecutorPool
- 講解類加載的過程(load、link、initation)
-
數據結構和算法
- 了解的數據結構有哪些?
- linkedlist
- stack
- queue
- binaryTree
- 算法手撕題1
- 實現帶min函數的棧采用兩個棧來實現
- 先講解思路
- 代碼實現
- 設計測試用例
- 實現帶min函數的棧采用兩個棧來實現
- 了解的排序算法有哪些?
- 講解快速排序
- 快排的時間復雜度
- 了解的數據結構有哪些?
-
數據庫
- 什么的是哪個數據庫(mysql)
- 數據庫mysql分頁limit
- mysql事務
- 什么是事務(what)
- 為什么需要事務(why)
- 事務的特性(character)ACID
- Atomic
- Consistence
- Isolation
- Duration
- 數據庫索引
- 創建索引(create index)
- 索引分類:普通索引、主鍵索引
- 索引數據結構
-
設計模式
- 了解哪些設計模式
- 單例模式、裝飾者模式
- 面試手撕代碼題2
- 線程安全的單例類
- 惡漢式
- 懶漢式
- 雙重加鎖
- 靜態類部類
- 枚舉(enumration)
- 線程安全的單例類
- 了解哪些設計模式
-
框架
- SpringMVC工作原理
- DispatcherServlet
- 11 step
- Spring AOP和IOC原理
- SpringMVC工作原理
-
finally
- 面完直接通知等二面,hr會約二面的面試時間
