java面試題及答案2020 持續更新中..

java面試題及答案2020

Java 方向面經

java面試題及答案2020 百度第一篇

java面試題及答案2020

先點贊後收藏,以後更新及時看

文末後續更新答案

一面 2018/9/11 來自於牛客網
1、手寫ArrayList
2、手寫進制轉換算法,求出一個數的二進制數 1 的個數
3、JAVA 基礎,equals 和==
4、多線程方式、threadlocal,各種鎖,synchronized 和 lock
5、設計模式、spring 類加載方式、實例保存在哪、aop ioc、反射機制6、類加載器,雙親委派模型,熱部署
7、jvm 內存模型,內存結構、堆的分代算法、堆的分區、gc 算法、gc 過程
8、tcp ip,七層模型,rest 接口規範,get 和 post 區別,長度,安全9、tcp ip 的 arp 協議,兩個同一網絡的主機如何獲得對方的 mac 地址10、負載均衡、高併發、高可用的架構
11、mysql 的引擎區別
12、redis 緩存,redis 的集羣部署,熱備份,主從備份,主從數據庫,hash 映射找到知道指定節點
13、瞭解雲計算麼,瞭解雲容器 docker 麼,容器和虛擬機的區別
14、百度 java 程序員
二面 2018/9/20 來自於牛客網
1、自我介紹,項目中負責哪些,做了哪些
2、項目中的數據庫備份,主從數據庫、集羣
3、數據庫的索引原理,b+樹原理,trie 樹引申,二叉查找樹的原理
4、海量數據中查找一個單詞,分佈式計算 map reduce,或者用 hsah 映射篩選部分結果5、java 的抽象類和接口區別、java 的 hashmap,java 的內存模型,分區,分代垃圾回收算法。實例、常量放在哪裏
6、int 4 個字節,double 8 個字節
7、多線程中的wait 和sleep 區別,notify 的作用
8、設計模式瞭解哪些,寫一個觀察者模式。實現兩個接口,一個是主題一個是觀察者,並寫出對應方法
9、寫一個生產者消費者隊列的方法,分別寫兩個類代表生產者和消費者,並且用隊列模擬其生產消費

10、tcp ip 的四次揮手,子網掩碼的作用
11、瞭解 linux 麼,說一下 linux 的內核鎖?
12、有沒有用過 sed,使用 shell 腳本寫一個將文本中的字符替換掉的腳本,大概說了一下用 grep||替換

java面試題及答案2020 百度第二篇

一面 2019/5/15 來自於牛客網
1、自我介紹
2、Java 中的多態
3、爲什麼要同時重寫 hashcode 和 equals 4、Hashmap 的原理
5、Hashmap 如何變線程安全,每種方式的優缺點
6、垃圾回收機制
7、Jvm 的參數你知道的說一下
8、設計模式瞭解的說一下啊
9、手撕一個單例模式
10、算法題目
11、手撕算法:反轉單鏈表
12、手撕算法:實現類似微博子結構的數據結構,輸入一系列父子關係,輸出一個類似微博評論的父子結構圖
13、手寫 java 多線程
14、手寫 java 的soeket 編程,服務端和客戶端
15、手撕算法:爬樓梯,寫出狀態轉移方程
16、智力題:時針分針什麼時候重合
二面 2019/5/23 來自於牛客網
1、自我介紹
2、項目介紹
3、服務器如何負載均衡,有哪些算法,哪個比較好,一致性哈希原理,怎麼避免 DDOS 攻擊請求打到少數機器
4、TCP 連接中的三次握手和四次揮手,四次揮手的最後一個ack 的作用是什麼,爲什麼要
time wait,爲什麼是 2msl
5、數據庫的備份和恢復怎麼實現的,主從複製怎麼做的,什麼時候會出現數據不一致,如何解決

6、Linux 查看 cpu 佔用率高的進程
7、手撕算法:給定一個數字三角形,找到從頂部到底部的最小路徑和。每一步可以移動到下面一行的相鄰數字上
8、然後繼續在這個問題上擴展
9、求出最短那條的路徑
10、遞歸求出所有的路徑
11、設計模式講一下熟悉的
12、會不會濫用設計模式
13、多線程條件變量爲什麼要在while 體裏

java面試題及答案2020 百度第三篇

一面 2019/7/22 來自於牛客網
1、自我介紹
2、問我數據結構算法好不好
3、找到單鏈表的三等分點,如果單鏈表是有環的呢
4、講一下項目的架構
5、說一下你熟悉的設計模
6、有沒有配置過服務器
二面 2019/7/29 來自於牛客網
1、Spring:有沒有用過 Spring,Spring IOC、AOP 機制與實現,Spring MVC
2、多線程:怎麼實現線程安全,各個實現方法有什麼區別,volatile 關鍵字的使用,可重入鎖的理解,Synchronized 是不是可重入鎖
3、集合:HashMap 底層實現,怎麼實現HashMap 線程安全
4、JVM 內存管理,GC 算法,HotSpot 裏面的垃圾回收器、類加載
5、進程和線程的區別
6、HTTP 有沒有狀態
7、Java IO,NIO,Java 中有沒有實現異步 IO
8、前端會不會,Ajax 是什麼,Ajax 實現原理
9、讓我設計一個線程池
10、講幾個設計模式,哪些地方用到了,爲什麼要用
11、Mysql 優化、索引的實現我從數據庫設計優化和查詢優化兩方面講的。索引 B+樹實現, InnoDB 和 MyISAM 主鍵索引的實現區別,一個聚集一個非聚集
12、事務的隔離級別

13、四種隔離級別,可能會出現哪些異常,mysql 中默認級別
14、有沒有用過 Hibernate、mybatis、git
15、從 10 萬個數中找最小的 10 個,時間複雜度分析
16、從一個有正有負數組中找連續子數組的最大和,時間複雜度分析
17、滿二叉樹第 i 層有多少個節點,n 層的滿二叉樹共有多少個節點

java面試題及答案2020 百度第四篇

一面 2020/2/21 來自於牛客網
1、自我介紹
2、確定了下我學過的東西:Java,linux,mysql 網絡,數據結構和算法
3、說一下實習公司的測試流程
4、先問一下java 相關的,說下 java 的作用域
5、重載和重寫的區別?
6、知道 error 和 exception 嗎?異常處理機制
7、char 類型能否存儲一箇中文字符?
8、接口可以繼承接口嗎?抽象類可以實現接口嗎?
9、知道序列化嗎?反序列化?
10、序列化如何實現?
11、Java 垃圾回收是怎麼個情況?
12、如何讓jvm 開始垃圾收集?
13、調用了finalize()System、gc()會立刻開始垃圾回收嗎? 14、final,finall,finalize 三者的區別?
15、問下網絡相關的,說下三次握手和四次揮手的詳細過程?
16、http 的狀態碼,像 1、1、1、0,1、0,1、0 都是什麼意思?1、0?
17、算法,寫下冒泡排序或者快速排序?
18、冒泡排序倆個循環,可以優化嗎?時間複雜度是多少?空間複雜度呢?
19、寫下二分查找
20、mysql,student_score 表,有字段:s_id,course,score、寫 sql,查出平均成績大於1、的學生 id
21、linux,查看 cpu 使用率的命令?
22、查看磁盤使用情況的命令?
23、按照文件名查找一個文件的命令?
24、查到某文件並刪除如何進行?

25、已知一個進程號,殺掉這個進程的命令?
26、如何友好地停掉一個進程? 27、vim、vi 用的多嗎?
28、日誌文件是滾動的,要查找日誌文件的末 1、行如何查?
29、項目,講下你簡歷上寫的項目的架構,從數據庫->dao->service->controller 30、項目中有沒有管理一些配置文件?比如、pom
31、如何使用配置文件呢?(讓配置文件生效 xmlPathContextApplication(“application、xml”))
二面 2020/2/28 來自於牛客網
1、無自我介紹,直接介紹實習工作
2、如何保證測試的質量?
3、除了用時間成本,有沒有什麼有效確保測試質量的措施?
4、遇到難以解決的問題,怎麼應對
5、在工作中有沒有和別人的合作?實習期間有沒有遇到矛盾?
6、覺得工作中什麼事情很難抗?
7、你怎麼看待開發和測試的關係?
8、對未來職業有什麼預期嗎?
9、java 裏面會有內存泄漏嗎?什麼情況下會有?
10、String Stringbuffer StringBuilder 對比11、stringbuffer 和stringbuilder 適用場景? 12、多態理解?
13、算法:求一個字符串內的最大不重複子串
14、算法:無序數組,找出其中和爲 target 的元素
15、邏輯:1、1、求 1
16、你的外賣系統,如何來規劃測試?

java面試題及答案2020 百度第五篇

一面 2019/1/26 來自於牛客網
1、項目負責模塊的流程,具體怎麼做
2、git 和 maven 的常用命令(有關於分支、文件對比等相關操作;打包等命令)
3、sql 語句——內聯查詢,如何在一條 sql 語句執行前輸出一個隨機數
4、使用redis 的好處
5、如何找到一個鏈表的中間節點?

6、如何判斷一個三角形的類型?
7、如果要對對購物車模塊進行測試,闡述一下自己的想法
8、面向對象有三大特徵:封裝性、繼承性、多態性
9、java 中有哪些常見的數據類型?
10、常用哪些工具類?
11、hashmap 的底層實現,以及它的優缺點?
12、linux 命令:查詢指定文件的行數
二面 2019/2/6 來自於牛客網
1、自我介紹。有提到服務的模塊化改造
2、對於MVC,SOA,微服務的理解
3、看到我項目裏面用了redis,爲什麼要用 redis?是否理解 redis 的線程模型?
4、然後他緊接着問我,你確定redis 比 Mysql 快?
5、redis 的項目中的實際應用場景?
6、我們項目中的那些業務必須要用 redis,既然說 redis 可以給 mysql 減壓,那你們系統的用戶量和併發量是多少?
7、有沒有遇到過 Mysql 頂不住宕機的情況?如果現在系統的流量增加 1、00 被,該從那些層面考慮優化系統性能?
8、在使用redis 的時候你應該注意那些問題
9、看你簡歷上寫你深入理解 OOP,說一下你對 OOP 的理解
10、你說你有良好的編程習慣,具體體現在哪裏
11、怎麼用的設計模式去重構的流程模塊。講一下思路
12、最近看過那些書?學JAVA 多久了?什麼時候能來實習,能來多久?
13、看你熟悉 mysql,簡單說一下 MVCC
14、說一下你在線上使用mysql 遇到的具體問題
15、說一下Mysql 線上調優的經驗
16、說一下 mysql 中共有那些鎖,並分別介紹一下

java面試題及答案2020 百度第六篇

一面 2019/12/18 來自於牛客網
1、實習、項目,問得比較深
2、Java 基本數據類型,int 和 Integer 區別
3、ArrayList 和 LinkedList 區別
4、Stack 和 Heap 區別,空間存放上?內存分配上?

5、代碼題:1-7 可以組成的不同且無重複的三位數
6、Redis 存取數據
二面 2018/12/21 來自於牛客網
1、實習和項目經歷(較詳細),遇到了什麼問題,怎麼解決的
2、用了什麼數據庫,讀寫數據量大不大,用了什麼引擎?MyISAM 引擎用過沒有?有什麼區別?MyISAM 具體用的用途是什麼
3、數據庫相關隔離級別介紹下,你現在用的是什麼隔離級別
4、兩個事務A、B,A 是未提交,A 讀了一個數據,B 對數據進行寫,A 再次讀讀的是什麼數據?
5、我專業不是計算機專業的,問了下和計算機專業的關係,都學了寫什麼相關的理論
6、排序相關算法,時間複雜度都是怎麼樣的
7、對於單鏈表來說,比較好的排序是什麼?
8、隊列和棧。兩個棧怎麼實現隊列?
9、一羣數字如何去重
10、給棧加個輔助功能,實現得到棧此時的最小元素
11、Java 併發,內存管理,併發?什麼場景遇到過?怎麼解決?
12、OOM 什麼時候遇到過?OOM 時程序有什麼表現?進程消掉了還是線程死掉了?

java面試題及答案2020 百度第七篇

一面 2019/8/13 來自於牛客網
1、在線程 A 對 HashMap 進行迭代查詢的時候,線程 B 對 HashMap 進行增刪改會發生什麼
2、ConcurrentHashMap,的數據結構與 HashMap,有什麼區別與聯繫3、Java 內存模型中哪一個區域不會發生 OOM 異常
4、類加載流程
5、爲什麼要有雙親委派,類加載器有哪些
6、MVCC 是什麼,簡述 MySQL 的隔離機制
7、MySQL 的鎖機制
8、Java API 中NIO 和 BIO 的區別
9、消息中間件的好處,如何選型
10、Redis 的 IO 模型;常用的數據結構;zset 的內部實現,爲什麼用跳錶不用紅黑樹,跳錶的空間複雜度
11、AOP 的抽象屬性之間的關係與聯繫

二面 2019/8/20 來自於牛客網
1、介紹項目,秒殺平臺如果想支持更大的併發量應該如何優化?如果把項目部署成多個服務,架構方面應該怎麼做
2、數據庫的ACID,MySQL 底層是如何保證原子性的
3、設計一個實時監測 MySQL 的工具,可以監測每條 SQL 語句運行時間、事務的運行和數據庫的連接信息等
4、MySQL 的 binlog、redo log 和 undo log 5、HTTP 和 HTTPS 的區別
6、Redis 的主從架構、哨兵機制
7、Redis 的持久化,RDB 和 AOF 的對比
8、MQ 如何保證消息傳輸的可靠性
9、問了學校的研究方向、本科學習情況及獲獎情況

java面試題及答案2020 百度第八篇

一面 2020/3/23 來自於牛客網
1、數據庫的事務,四個性質說一下,分別有什麼用,怎麼實現的
2、講到了redo 和 undo 日誌,問我分別有什麼用,說redo 日誌說錯了
3、數據庫的隔離性如何保證,使用悲觀鎖和樂觀鎖有何區別。MVCC 的設計目的是什麼, 怎麼使用版本號判斷數據的可見性
4、問了一道算法,1 到N 的所有數字,按照字典序打印,怎麼做,怎麼優化,按照數字特徵順序打印,問這個東西和什麼結構比較像。提示是樹,然後說了個多叉樹,問我怎麼實現, 最後其實使用dfs 遍歷樹的每個分支
5、多線程併發的同步實現,有兩個方法,每個方法裏有a 部分代碼和b 部分代碼,我要讓兩個線程分別執行兩個方法,並且讓他們運行完a 部分代碼再一起向下執行,如何實現
6、我說了用 cyclicbarrier 實現,互相等待await
7、然後他問我怎麼用信號量實現,並且提示可以再用一個線程
8、問了項目
9、如何把優化遞歸的代碼
二面 2020/3/30 來自於牛客網
1、自我介紹,項目
2、服務器如何負載均衡,有哪些算法,哪個比較好,一致性哈希原理,怎麼避免 DDOS 攻擊請求打到少數機器
3、TCP 連接中的三次握手和四次揮手,四次揮手的最後一個ack 的作用是什麼,爲什麼要

time wait,爲什麼是 2msl
4、數據庫的備份和恢復怎麼實現的,主從複製怎麼做的,什麼時候會出現數據不一致,如何解決
5、開源的技術看過用過麼,分佈式存儲的瞭解麼
6、想做什麼方向的開發
7、Linux 查看 cpu 佔用率高的進程
8、查看佔用某端口的進程和某進程監聽的端口
9、如何查詢日誌文件中的所有 ip,正則表達式

java面試題及答案2020 百度第九篇

一面 2020/2/27 來自於牛客網
1、問極光推送 JPush 怎麼做的,有什麼優缺點,要怎麼改
2、apk 如何瘦身,如何寫腳本去掉多餘的資源,內存如何優化,性能如何提升
3、protobuffer,和 json 什麼區別,分別適用於什麼場景,自己設計一套通訊協議,如果儘量壓縮每個key
4、UI View 渲染流程
5、activit 幾種啓動模式
6、view 的attach deatch 是誰觸發
7、手寫一個快排算法
8、tcp 三次握手,sack 是什麼
9、redis 如何存儲用戶信息,問我熱數據是以什麼格式存的,問我用過幾種類型數據,什麼場景用的
10、服務器如何實現秒傳文件二面 2020/3/6 來自於牛客網1、問我實習收穫,經驗
2、問我過度繪製怎麼解決,問我如何發現內存泄漏
3、然後就說項目很牛,開始問我基礎的4、問我final 有哪些用法
5、static 哪些用法
6、volatile 什麼用法
7、java 一共就 2 種,值類型和非值類型的理解
8、鎖有幾種
9、synchronized 如果加到一個方法,另一個線程想訪問類中的其他方法行不行,如果兩個方法都加sync 關鍵字,又是怎樣的訪問權限

10、public 和默認的什麼關鍵字都不加有什麼區別
11、問我對進線 golang 的協程的理解
12、android service 和廣播的理解
13、如果我們的應用關閉了,或者根本沒打開過,還怎麼收到推送

java面試題及答案2020 百度第十篇

一面 2019/3/29 來自於牛客網
1、自我介紹
2、Java 中的八大類型及其包裝類型
3、說一下 Map 的各種實現類,它們有什麼區別
4、HashMap 底層實現
5、Spring 中的 Bean 生命週期,Spring 初始化過程
6、數據庫中的組合索引,數據庫優化有了解過嗎
7、快排,時間空間複雜度
8、Servlet 是單線程還是多線程的,線程安全嗎
9、有什麼要問我的
java面試題及答案2020
二面 2019/4/6 來自於牛客網
1、實習經歷,實習時的項目功職責
2、項目介紹,redis 和 mysql 是如何保證數據同步性的3、rabbitmq 是如何保證可靠的,kafka 適用於什麼場景4、springboot 的優介紹一下springboot
5、orm 有了解過 Springdata 嗎,如何把 mybatis 裏的xml 遷移到springboot 6、redis 的作實用場景
7、說一下微服務,docker 的優點,docker 中的端口映射問題
8、靜態內部類和非靜態內部類,內部類爲什麼可以訪問到它外部類的數據和方法? 9、lambda 表達式在 jvm 裏是如何體現的
10、hash 衝突瞭解哪些?說一下 hashmap 裏的 hash 衝突,紅黑樹的定義,put 一個元素到紅黑樹裏紅黑樹的轉變過程
java面試題及答案2020
11、正向反向*,nginx 有了解過嗎
12、android 裏的 handler 瞭解嗎
13、zookeepespringcloud 知道嗎,你的項目有沒有使用多臺機器
14、還有什麼想問我的
java面試題及答案2020 後續持續更新中。。敬請關注,點贊+收藏,java面試題及答案2020持續更新

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章