前言
很多Java開發者面試之前,可能沒有較長的工作時間或者較爲豐富的工作經驗,所以不知道互聯網公司或者一線互聯網公司技術面試都會問哪一些問題。
再加上可能自己準備也不充分,去面試沒幾個回合就被面試官幾個問題打蒙了,最後以慘敗收場。
針對這些,收集並整理了一些知名大廠的面經,在這裏分享給大家參考,使即將面試或是有想法跳槽的讀者朋友們瞭解一下一線大廠面試的時候都喜歡問哪一些問題~
接下來我們開始切入正題吧~
拼多多(三面)
一面
1.簡短自我介紹。
2.SpringBoot配置途徑?
3.application.properties和application.yml文件可放位置?優先級?
4.SpringBoot自動配置原理?
5.SpringBoot如何修改端口號?
6.開啓SpringBoot特性的幾種方式?
7.獲得Bean裝配報告信息訪問哪個端點?
8.描述下線程池的處理流程?
9.如何激活某個環境的配置?
10.SpringBoot讀取配置相關注解有?
11.SpringBoot如何修改端口號?
二面
1.請描述Spring MVC的工作流程?
2.描述一下 DispatcherServlet 的工作流程?
3.MVC是什麼?MVC設計模式的好處有哪些?
4.SpingMvc中的控制器的註解一般用哪個,有沒有別的註解可以替代?
5.@Controller註解的作用。
6.@ResponseBody註解的作用。
7.Spring MVC怎麼樣設定重定向和轉發的?
8.Spring MVC怎麼和AJAX相互調用的?
三面
1.詳解JVM內存模型。
2.JVM內存爲什麼要分成新生代,老年代,持久代。新生代中爲什麼要分爲Eden和Survivor。
3.爲什麼要分爲Eden和Survivor?爲什麼要設置兩個Survivor區?
4.JVM中一次完整的GC流程是怎樣的,對象如何晉升到老年代。
5.JVM內存模型的相關知識瞭解多少,比如重排序,內存屏障,happen-before,主內存,工作內存。
6.最後談談你參與過的項目,技術含量比較高的,相關的架構設計以及你負責哪些核心編碼。
全部面試題都是含有答案的,文章篇幅有限,只能爲大家展示面試題部分,需要領取完整版麻煩一鍵三連一下文章,然後加小助理VX:wjj2632646免費領取!
阿里(三面)
MySQL+Redis+消息中間件+Zookeeper+微服務
一面
1.MyISAM和InnoDB**的區別有哪些?
2.MySQL事務的隔離級別, 分別有什麼特點?
3.做過哪些MySQL索引相關優化。
4.簡要說一下數據庫範式。
5.一千萬條數據的表, 如何分頁查詢?
6.訂單表數據量越來越大導致查詢緩慢, 如何處理?
7.MySQL由哪些部分組成, 分別用來做什麼?
8.MySQL查詢緩存有什麼弊端, 應該什麼情況下使用, 8.0版本對查詢緩存有什麼變更?
9.唯一索引比普通索引快嗎, 爲什麼?
10.MySQL怎麼恢復半個月前的數據
二面
1.Redis 相比 memcached 有哪些優勢?
2.Redis 支持哪幾種數據類型?
3.Redis 有哪幾種數據淘汰策略?
4.爲什麼 Redis 需要把所有數據放到內存中?
5.Redis 集羣方案應該怎麼做?都有哪些方案?
6.Redis 集羣方案什麼情況下會導致整個集羣不可用?
7.Redis 有哪些適合的場景?
8.Redis 和 Redisson 有什麼關係?
9.Jedis 與 Redisson 對比有什麼優缺點?
三面
1.自我介紹
2.參與的併發項目,從設計到部署,按照流程講一遍。
3.數據庫主從同步如何實現,事務如何實現?
4.阿里系中間件metaQ及原理與現有的kafka有什麼異同?
5.在阿里有了解過什麼中間件嗎?實現原理?與其他開源消息隊列有什麼特點?
6.Znode有哪些類型?
7.Zookeeper有哪幾種幾種部署模式?
8.Zookeeper對節點的 watch監聽通知是永久的嗎?爲什麼不是永久的?
9.Zookeeper 下 Server工作狀態有哪些?
10.談談你對SOA和微服務的理解,以及分佈式架構從應用層面涉及到的調整和挑戰。
11.三年到五年的職業規劃?有什麼想問我的?
今日頭條(三面)
一面(50分鐘)
- Linux的基本組件是什麼?
- 爲什麼 Linux 體系結構要分爲用戶空間和內核空間的原因?
- BASH和DOS之間的基本區別是什麼?
- Linux 有哪些系統日誌文件?
- Java GC機制?GC Roots有哪些?
- 紅黑樹講一下,五個特性,插入刪除操作,時間複雜度?
- hashmap,怎麼擴容,怎麼處理數據衝突?怎麼高效率的實現數據遷移?
二面(40分鐘)
1.自我介紹,講一講自己的擅長領域。
2.redis數據結構解釋一下。
3.對設計模式瞭解多少?
4.設計模式裏的三種代理的區別是什麼?
5.什麼情況下用HashMap,什麼情況用ConcurrentHashMap?
6.爲什麼Java8併發效率更好?
三面(約1個小時)
1.MySQL索引的實現,innodb的索引,b+樹索引是怎麼實現的,爲什麼用b+樹做索引節點,一個節點存了多少數據,怎麼規定大小,與磁盤頁對應。
2.如果Redis有1億個key,使用keys命令是否會影響線上服務?
3.建造者模式通常包括幾個角色?
4.代碼實現模板方法模式說一下。
5.MySQL數據主從同步是如何實現的?
6.未來的規劃是什麼?
7.你有什麼想問我嗎?
全部面試題都是含有答案的,文章篇幅有限,只能爲大家展示面試題部分,需要領取完整版麻煩一鍵三連一下文章,然後加小助理VX:wjj2632646免費領取!
京東(三面)
Spring Cloud+秒殺+Redis
一面
1.簡短的自我介紹。
2.jdk1.8中,對hashMap和concurrentHashMap做了哪些優化?
3.synchronized 和 ReentranLock的區別?
4.ThreadLocal?應用場景?
5.MySQL行鎖是否會有死鎖的情況?
6.事務的ACID,其中把事務的隔離性詳細解釋一遍。
7.ThreadLocal?應用場景?
8.ArrayList 和 LinkedList 的區別是什麼?
9.說一下HashMap的實現原理?
10.說道紅黑樹先講什麼是二叉樹?
二面
1.談談Redis哨兵、複製、集羣?
2.Redis是單線程嗎?
3.Linux的基本組件是什麼?
4.Linux 使用的進程間通信方式?
5.什麼是正向代理和反向代理?
6.Nginx配置文件nginx.conf有哪些屬性模塊?
7.如何用Nginx解決前端跨域問題?
8.工作中技術優化過哪些?
三面
1.Spring由哪些模塊組成?
2.Spring 框架中都用到了哪些設計模式?
3.詳細講解一下核心容器(spring context應用上下文) 模塊.
4.Spring 應用程序有哪些不同組件?
5.高併發的應用場景,技術需要涉及到哪些?怎樣來架構設計?
6.最後談談你參與過的項目,技術含量比較高的,相關的架構設計以及你負責哪些核心編碼。
最後:
針對最近很多人都在面試,我這邊也整理了相當多的面試專題資料,也有其他大廠的面經。希望可以幫助到大家。
全部面試題都是含有答案的,文章篇幅有限,只能爲大家展示面試題部分,需要領取完整版麻煩一鍵三連一下文章,然後加小助理VX:wjj2632646免費領取!