快手2面面經 20180911
- 個人介紹
- 學校經歷(課程、考研、成績)
- 項目經歷(時間段、項目介紹)
- 個人愛好(體育、特長)
note:面試官對個人介紹還蠻感興趣(考研成績介紹這塊)
-
數據結構
- 數據結構熟悉哪些
- array
- linkedlist
- stack
- queue
- tree(binarytree)
- 數據和鏈表的區別
- add、delete、get時間復雜度
- 數組中Object對象是否是連續存放(對象、引用)
- 數據結構熟悉哪些
-
java集合
- 介紹HashMap
- 數據結構哈希表的實現
- HashMap的特色
- HashMap擴容機制(loadFactor、2^n長度)
- 紅黑樹red-black tree
- 紅黑樹和平衡二叉樹的區別?
- HashMap為什么采用紅黑樹而不是平衡二叉樹?
- HashMap和Hashtable的區別?(3到4點)
- ConcurrentHashMap
- 原理
- set、list區別
- ArrayList
- 擴容機制介紹
- 介紹HashMap
-
並發
- 舉例線程安全的場景
- synchronized
- jdk對鎖進行的優化(以下幾種鎖的概念介紹what、how)
- 偏向鎖
- 輕量級鎖
- 重量級鎖
- 附加 自旋鎖(what、how)
-
計算機網絡
- OSI7層模型
- TCP/IP5層模型
- TCP/IP每一層上協議(protocol)介紹
- 應用層 HTTP、telnet、FTP、SNMP、SMTP
- http 中的get和post方法的區別(3-4點)(回答邏輯清晰、條理分明)
- 傳輸層 TCP、UDP
- TCP和TDP的區別?(3點)
- TCP如何保證可靠傳輸?(4-5點)
- 三次握手建立連接
- 應答機制
- 數據包校驗
- 超時重發
- 流量控制、擁塞控制
- 介紹慢啟動算法(尷尬,當時問的啞口無言了)
- 網絡層 IP、ICMP
- 介紹子網掩碼
- 255.255.255.0子網下有多少IP地址(2^8)?
- 多少個主機個數可用?
- 應用層 HTTP、telnet、FTP、SNMP、SMTP
-
java基礎
- final關鍵字用法
- 修飾類、方法、屬性
- finally關鍵字用法
- try、catch、finally用法
- 代碼題(大概影響通過在try、catch、finally中分別修改變量的值,來判斷最后return的變量的值)
- Integer和int的區別
- 緩沖池范圍(-128~127)
- Exception和Error的區別
- 編譯時異常
- 運行時異常
- 內存溢出
- 加載大量jar包
- 程序死循環
- 創建大量對象
- 棧溢出StackOverFlowError
- 內存泄漏
- 已經使用完的對象,沒有及時的被釋放掉
- 長生命周期對象持有短生命周期的對象
-框架
- Spring框架
- 控制反轉IOC
- 控制什么
- 如何反轉
- Spring注解是否看過
- public @interface
- 注解的原理(反射)
- 控制反轉IOC
- final關鍵字用法
-
數據庫mysql
- 表連接
- 左連接(3個表,然后得出結果)匹配得到表的范圍(最小值到最大值)
- 123
- 表連接
-
算法手撕題
- 1.回文字符竄
- a.采用stack
- b.雙指針左右遍歷交換字符
- 2.判斷一個字符串最多刪除一個字符,能否變成回文
- a.遞歸實現
- b.循環實現
- 1.回文字符竄
-
Other
- 還有什么要問的
- 負責快手哪個部門
- 還有什么要問的