java epoll select_春招|Java开发实习面经(口头offer),感谢快手给我这个双非一次机会!...
生活随笔
收集整理的這篇文章主要介紹了
java epoll select_春招|Java开发实习面经(口头offer),感谢快手给我这个双非一次机会!...
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
作者:pudding_
鏈接:https://www.nowcoder.com/discuss/179560
來源:牛客網
上周六下午快四點到晚上七點半結束,總共2面技術+1面HR,不得不說快手效率很高,昨天晚上收到口頭offer,HR小姐姐說這幾天發offer。
因為結束的時候沒有馬上寫,所以有的具體細節有點忘,用知識模塊的方式來寫的,總的來說,網絡和并發問的最多,都是按照簡歷問的,很感謝快手能給我這個雙非一次機會!
計算機網絡:
- TCP/IP五層結構及其相應的功能
- 交換機是幾層設備
- 鏈路層通過什么訪問主機
- 鏈路層的差錯檢測有哪措施
- 網絡層的路由算法有哪些,簡述RIP,OSPF過程
- 簡述ARP協議過程,是如何通過IP地址獲取MAC地址的
- ping命令所使用的協議是什么(ICMP),簡述其過程
- TCP如何保證可靠傳輸
- TCP的流量控制,當接收方的接收窗口為0的時候該怎么辦
- TCP的擁塞控制(慢啟動,擁塞避免,超時間間隔傳輸及其快速重傳,快速恢復)
- 流量控制和擁塞控制有什么區別
- TCP的連接管理中可能出現的攻擊漏洞(洪泛攻擊,自頂向下那本書有講到)
- 應用層有哪些常見協議
HTTP
- HTTP狀態碼類型有哪些,及其作用
- HTTP方法有哪些,及其作用
- 冪等性了解過嗎,有哪些HTTP方法是冪等性的,為什么(PUT、POST...)
- GET和POST的區別
- HTTP1.0 HTTP1.1 HTTP2.0,這三個有什么區別及其改進
- HTTP如何實現狀態化,cookie被禁用了怎么辦(URL重寫)
- HTTP有哪些問題,加密算法有哪些,針對不同加密方式可能產生的問題,及其HTTPS是如何保證安全傳輸的(對稱加密+非對稱加密+數字證書)
數據結構
- 鏈表和數組的區別及其相應的復雜度
- 隊列和棧的區別
- 二叉搜索樹和平衡二叉樹有什么關系,強平衡二叉樹(AVL樹)和弱平衡二叉樹(紅黑樹)有什么區別,及其代表數據結構
- 圖的遍歷算法(dfs,bfs),最小生成樹的算法,最短路徑的算法及簡述其思想
web框架
- Spring的IOC和AOP,bean的生存范圍,IOC容器生命周期
設計模式
- 設計模式有哪些大類,及熟悉其中哪些設計模式
- 在平時看源碼過程中有哪些源碼使用到了設計模式(這個問題范圍很廣,我從并發、IO、集合框架、SSM方面一個個答,答到Spring的時候被面試官打住,說可以了...)
- 項目中用到哪些設計模式,簡述代理模式,策略模式和狀態模式
數據庫
- MySQL的MyISAM和Innodb的區別(從事務,鎖,B+樹索引,讀寫性能方面分析)
- Innodb的B+樹索引和MyISAM的B+樹索引的結構區別
- 為什么索引能夠提升性能(可以從B+樹結構方面分析)
- B樹和B+樹的區別,為什么MySQL要使用B+樹(磁盤和樹高方面答)
- count(*)和count(1)的區別
- MySQL的主備模式
JavaNIO
- NIO和IO的區別
- Selector工作過程,為什么說他是非阻塞的(select方法是阻塞的,但是注冊的描述符不是阻塞的)
- epoll和poll的區別,及其應用場景(因為Selector用到了Reactor模型,所以又提到了select,poll,epoll)
Java并發
- 中斷機制,interrupt和interrupted的區別,哪些狀態可以中斷并拋出InterruptedException
- sleep和wait的區別
- sychronized和ReentrantLock的區別(其中有個異常機制的區別沒答上來)
- 為什么ReentrantLock的鎖粒度小,sychronized不是也可以用方法塊來降低鎖粒度
- 公平鎖和非公平鎖的定義,及其優缺點,ReentrantLock和synchronized使用公平還是非公平鎖
- sychronized的自旋鎖、偏向鎖、輕量級鎖、重量級鎖,分別介紹和聯系(膨脹)
- 簡述線程池原理,FixedThreadPool用的阻塞隊列是什么
- 簡述AQS,及其核心組件,哪些地方用到AQS,用到什么設計模式(這個上面設計模式也提到,模板設計方法)
- JUC包的CountDownLatch,CyclicBarrier,ForkJoin并發工具
- volatile關鍵字,他是如何保證可見性,有序性
- Java內存模型的可見性,原子性,有序性,用什么方法來分別保證這些特性
- atomic包,其底層原理
- CAS操作,及其可能帶來問題和可以怎么解決(ABA問題用版本號來解決,自旋時n間過長問題可以通過上次自旋時間來進行判斷)
Java集合框架
好吧,這塊其實應該是屬于并發的部分,因為原生的hashmap,treemap都沒問,問的是juc的提供的并發集合
- ConcurrentLinkedQueue出入隊如何不并發控制會產生什么問題,講述出入對的CAS操作
- ConcurrentHashMap如何保證線程安全,并發度大小,jdk1.8有什么變化
手撕算法
- 一道概率題(這個我真的忘了,這幾天看的概率題很多,攪渾了。。。而且當時憋了半天不會,實在垃圾)
- 最大子段和(dp)
- 歸并鏈表,并且去重
- 堆排
- 尋找兩個有序數組的中位數,時間復雜度要求是log(m+n),用二分做
上面除了第一道不清楚外,其他都是leetcode原題。
與作者交流:https://www.nowcoder.com/discuss/179560
更多筆經面經:https://www.nowcoder.com/discuss?order=0&type=2
總結
以上是生活随笔為你收集整理的java epoll select_春招|Java开发实习面经(口头offer),感谢快手给我这个双非一次机会!...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 公众号获取用户手机号_小程序中如何获取微
- 下一篇: http 和 https_详解http和