百度现场面试:JVM+算法+Redis+数据库!(三面)| CSDN博文精选
自我介紹
Java中的多態(tài)
為什么要同時重寫hashcode和equals
Hashmap的原理
Hashmap如何變線程安全,每種方式的優(yōu)缺點
垃圾回收機制
Jvm的參數(shù)你知道的說一下
設(shè)計模式了解的說一下
手撕一個單例模式
算法題目
手撕算法:反轉(zhuǎn)單鏈表
手撕算法:實現(xiàn)類似微博子結(jié)構(gòu)的數(shù)據(jù)結(jié)構(gòu),輸入一系列父子關(guān)系,輸出一個類似微博評論的父子結(jié)構(gòu)圖
手寫java多線程
手寫java的soeket編程,服務(wù)端和客戶端
手撕算法:
爬樓梯,寫出狀態(tài)轉(zhuǎn)移方程
智力題:
時針分針什么時候重合
自我介紹
項目介紹
服務(wù)器如何負載均衡,有哪些算法,哪個比較好,一致性哈希原理,怎么避免DDOS攻擊請求打到少數(shù)機器?
TCP連接中的三次握手和四次揮手,四次揮手的最后一個ack的作用是什么,為什么要time wait,為什么是2msl?
數(shù)據(jù)庫的備份和恢復(fù)怎么實現(xiàn)的,主從復(fù)制怎么做的,什么時候會出現(xiàn)數(shù)據(jù)不一致,如何解決?
Linux查看cpu占用率高的進程
手撕算法:給定一個數(shù)字三角形,找到從頂部到底部的最小路徑和。每一步可以移動到下面一行的相鄰數(shù)字上。
然后繼續(xù)在這個問題上擴展
求出最短那條的路徑
遞歸求出所有的路徑
設(shè)計模式講一下熟悉的
會不會濫用設(shè)計模式?
多線程條件變量為什么要在while體里?
你遇到什么挫折,怎么應(yīng)對和處理?
自我介紹
項目介紹
Redis的特點
Redis的持久化怎么做,aof和rdb,有什么區(qū)別,有什么優(yōu)缺點?
Redis使用哨兵部署會有什么問題?【我說需要擴容的話還是得集群部署。】
說一下JVM內(nèi)存模型把,有哪些區(qū),分別干什么的?
說一下gc算法,分代回收說下
MySQL的引擎講一下,有什么區(qū)別,使用場景呢?
分布式事務(wù)了解么?
反爬蟲的機制,有哪些方式?
阿里中間件(四面)
Java中間件一面 技術(shù)一面考察范圍:
重點問了Java線程鎖:synchronized 和ReentrantLock相關(guān)的底層實現(xiàn)
線程池的底層實現(xiàn)以及常見的參數(shù)
數(shù)據(jù)結(jié)構(gòu)基本都問了一遍,鏈表、隊列等
Java內(nèi)存模型:常問的JVM分代模型,以及JDK1.8后的區(qū)別,最后還問了JVM相關(guān)的調(diào)優(yōu)參數(shù)
分布式鎖的實現(xiàn)比較
技術(shù)一面題目: 1:自我介紹 2:擅長哪方面的技術(shù)? 3;java有哪些鎖中類?(樂觀鎖&悲觀鎖、可重入鎖&Synchronize等) 4:比較重要的數(shù)據(jù)結(jié)構(gòu),如鏈表,隊列,棧的基本原理及大致實現(xiàn) 5:J.U.C下的常見類的使用。Threadpool的深入考察;blockingQueue的使用 6:Java內(nèi)存分代模型,GC算法,JVM常見的啟動參數(shù);CMS算法的過程 7:Volatile關(guān)鍵字有什么用(包括底層原理)? 8:線程池的調(diào)優(yōu)策略 9:Spring cloud的服務(wù)注冊與發(fā)現(xiàn)是怎么設(shè)計的? 10:分布式系統(tǒng)的全局id如何實現(xiàn) 11:分布式鎖的方案,redis和zookeeper那個好,如果是集群部署,高并發(fā)情況下那個性能更好?
Java中間件二面
技術(shù)二面考察范圍:
問了項目相關(guān)的技術(shù)實現(xiàn)細節(jié)
數(shù)據(jù)庫相關(guān):
索引、索引底層實現(xiàn)、mysql相關(guān)的行鎖、表鎖等
redis相關(guān):
架構(gòu)設(shè)計、數(shù)據(jù)一致性問題
容器:容器的設(shè)計原理等
技術(shù)二面題目:
參與的項目,選一個,技術(shù)難度在哪里?
Collections.sort底層排序方式
負載均衡的原理
設(shè)計模式與重構(gòu),談?wù)勀銓χ貥?gòu)的理解
談?wù)剅edis相關(guān)的集群有哪些成熟方案?
再談?wù)勔恢耯ash算法(redis)
數(shù)據(jù)庫索引,B+樹的特性和建樹過程
Mysql相關(guān)的行鎖,表鎖、樂觀鎖、悲觀鎖
談?wù)劧嗑€程和并發(fā)工具的使用
談?wù)剅edis的架構(gòu)和組件
Redis的數(shù)據(jù)一致性問題(分布式多節(jié)點環(huán)境&單機環(huán)境)
Docker容器?
技術(shù)三面考察范圍:
主要談到了高并發(fā)的實現(xiàn)方案
以及中間件:
redis、rocketmq、kafka等的架構(gòu)設(shè)計思路
最后問了平時怎么提升技術(shù)的
技術(shù)三面題目:
高并發(fā)情況下,系統(tǒng)是如何支撐大量的請求的?
接著上面的問題,延伸到了中間件,kafka、redis、rocketmq、mycat等設(shè)計思路和適用場景等
最近上過哪些技術(shù)網(wǎng)站?最近再看哪些書?
工作和生活中遇見最大的挑戰(zhàn),怎么去克服?
未來有怎樣的打算
最后,你懂的,主要就是HR走流程了,主要問了未來的職業(yè)規(guī)劃。 螞蟻中間件團隊面試題 螞蟻中間件一面
自我介紹
JVM垃圾回收算法和垃圾回收器有哪些,最新的JDK采用什么算法?
新生代和老年代的回收機制
講一下ArrayList和linkedlist的區(qū)別,ArrayList與HashMap的擴容方式
Concurrenthashmap1.8后的改動
Java中的多線程,以及線程池的增長策略和拒絕策略了解么?
Tomcat的類加載器了解么?
Spring的ioc和aop,Springmvc的基本架構(gòu),請求流程
HTTP協(xié)議與Tcp有什么區(qū)別,http1.0和2.0的區(qū)別?
Java的網(wǎng)絡(luò)編程,講講NIO的實現(xiàn)方式,與BIO的區(qū)別,以及介紹常用的NIO框架
索引什么時候會失效變成全表掃描?
介紹下分布式的paxos和raft算法
你在項目中怎么用到并發(fā)的?
消息隊列的使用場景,談?wù)凨afka
你說了解分布式服務(wù),那么你怎么理解分布式服務(wù)?
Dubbo和Spring Clound的區(qū)別,以及使用場景
講一下docker的實現(xiàn)原理,以及與JVM的區(qū)別
MongoDB、Redis和Memcached的應(yīng)用場景,各自優(yōu)勢
MongoDB有事務(wù)嗎?
Redis說一下sorted set底層原理
講講Netty為什么并發(fā)高,相關(guān)的核心組件有哪些?
完整的畫一個分布式集群部署圖,從負載均衡到后端數(shù)據(jù)庫集群
分布式鎖的方案,Redis和Zookeeper哪個好,如果是集群部署,高并發(fā)情況下哪個性能更好?
分布式系統(tǒng)的全局id如何實現(xiàn)?
數(shù)據(jù)庫萬級變成億級,你如何來解決?
常見的服務(wù)器雪崩是由什么引起的,如何來防范?
異地容災(zāi)怎么實現(xiàn)?
常用的高并發(fā)技術(shù)解決方案有哪些,以及對應(yīng)的解決步驟?
一面:
hashmap,怎么擴容,怎么處理數(shù)據(jù)沖突?怎么高效率的實現(xiàn)數(shù)據(jù)遷移?
Linux的共享內(nèi)存如何實現(xiàn),大概說了一下
socket網(wǎng)絡(luò)編程,說一下TCP的三次握手和四次揮手
同步IO和異步IO的區(qū)別?
Java GC機制?GC Roots有哪些?
紅黑樹講一下,五個特性,插入刪除操作,時間復(fù)雜度?
快排的時間復(fù)雜度,最壞情況呢,最好情況呢,堆排序的時間復(fù)雜度呢,建堆的復(fù)雜度是多少?
自我介紹,主要講講做了什么和擅長什么
設(shè)計模式了解哪些?
AtomicInteger怎么實現(xiàn)原子修改的?
ConcurrentHashMap 在Java7和Java8中的區(qū)別?為什么Java8并發(fā)效率更好?什么情況下用HashMap,什么情況用ConcurrentHashMap?
redis數(shù)據(jù)結(jié)構(gòu)?
redis數(shù)據(jù)淘汰機制?
mysql實現(xiàn)事務(wù)的原理(MVCC)
MySQL數(shù)據(jù)主從同步是如何實現(xiàn)的?
MySQL索引的實現(xiàn),innodb的索引,b+樹索引是怎么實現(xiàn)的,為什么用b+樹做索引節(jié)點,一個節(jié)點存了多少數(shù)據(jù),怎么規(guī)定大小,與磁盤頁對應(yīng)?
如果Redis有1億個key,使用keys命令是否會影響線上服務(wù)?
Redis的持久化方式,aod和rdb,具體怎么實現(xiàn),追加日志和備份文件,底層實現(xiàn)原理的話知道么?
遇到最大困難是什么?怎么克服?
未來的規(guī)劃是什么?
你想問我什么?
自我介紹
項目介紹
Redis介紹
了解redis源碼么?
了解redis集群么?
Hashmap的原理,增刪的情況后端數(shù)據(jù)結(jié)構(gòu)如何位移?
hashmap容量為什么是2的冪次?
hashset的源碼
object類你知道的方法
hashcode和equals
你重寫過hashcode和equals么,要注意什么?
假設(shè)現(xiàn)在一個學(xué)生類,有學(xué)號和姓名,我現(xiàn)在hashcode方法重寫的時候,只將學(xué)號參與計算,會出現(xiàn)什么情況?
往set里面put一個學(xué)生對象,然后將這個學(xué)生對象的學(xué)號改了,再put進去,可以放進set么?并講出為什么
Redis的持久化?有哪些方式,原理是什么?
講一下穩(wěn)定的排序算法和不穩(wěn)定的排序算法
講一下快速排序的思想
自我介紹
講一下數(shù)據(jù)的acid
什么是一致性?
什么是隔離性?
Mysql的隔離級別
每個隔離級別是如何解決?
Mysql要加上nextkey鎖,語句該怎么寫?
Java的內(nèi)存模型,垃圾回收
線程池的參數(shù)
每個參數(shù)解釋一遍
然后面試官設(shè)置了每個參數(shù),給了是個線程,讓描述出完整的線程池執(zhí)行的流程
Nio和IO有什么區(qū)別
Nio和aio的區(qū)別
Spring的aop怎么實現(xiàn)
Spring的aop有哪些實現(xiàn)方式
動態(tài)代理的實現(xiàn)方式和區(qū)別
Linux了解么?
怎么查看系統(tǒng)負載?
Cpu load的參數(shù)如果為4,描述一下現(xiàn)在系統(tǒng)處于什么情況
Linux,查找磁盤上最大的文件的命令
Linux,如何查看系統(tǒng)日志文件
手撕算法:leeetcode原題 22,Generate Parentheses,給定 n 對括號,請寫一個函數(shù)以將其生成新的括號組合,并返回所有組合結(jié)果。
三面沒怎么問技術(shù),問了很多技術(shù)管理方面的問題。
自我介紹
項目介紹
怎么管理項目成員?
當(dāng)意見不一致時,如何溝通并說服開發(fā)成員,并舉個例子
怎么保證項目的進度?
數(shù)據(jù)庫的索引原理
非聚簇索引和聚簇索引
索引的使用注意事項
聯(lián)合索引
從底層解釋最左匹配原則
Mysql對聯(lián)合索引有優(yōu)化么?會自動調(diào)整順序么?哪個版本開始優(yōu)化?
Redis的應(yīng)用
Redis的持久化的方式和原理
技術(shù)選型,一個新技術(shù)和一個穩(wěn)定的舊技術(shù),你會怎么選擇,選擇的考慮有哪些
說你印象最深的美團點評技術(shù)團隊的三篇博客
最近在學(xué)什么新技術(shù)?
你是怎么去接觸一門新技術(shù)的?
會看哪些書?
怎么選擇要看的書?
一面(基礎(chǔ)面:約1小時)
自我介紹,主要講講做了什么和擅長什么
springmvc和spring-boot區(qū)別
@Autowired的實現(xiàn)原理
Bean的默認作用范圍是什么?其他的作用范圍?
索引是什么概念有什么作用?MySQL里主要有哪些索引結(jié)構(gòu)?哈希索引和B+樹索引比較?
Java線程池的原理?線程池有哪些?線程池工廠有哪些線程池類型,及其線程池參數(shù)是什么?
hashmap原理,處理哈希沖突用的哪種方法?
還知道什么處理哈希沖突的方法?
Java GC機制?GC Roots有哪些?
Java怎么進行垃圾回收的?什么對象會進老年代?垃圾回收算法有哪些?為什么新生代使用復(fù)制算法?
HashMap的時間復(fù)雜度?HashMap中Hash沖突是怎么解決的?鏈表的上一級結(jié)構(gòu)是什么?Java8中的HashMap有什么變化?紅黑樹需要比較大小才能進行插入,是依據(jù)什么進行比較的?其他Hash沖突解決方式?
hash和B+樹的區(qū)別?分別應(yīng)用于什么場景?哪個比較好?
項目里有個數(shù)據(jù)安全的,aes和md5的區(qū)別?詳細點
自我介紹
為什么MyISAM查詢性能好?
事務(wù)特性(acid)
隔離級別
SQL慢查詢的常見優(yōu)化步驟?
說下樂觀鎖,悲觀鎖(select for update),并寫出sql實現(xiàn)
TCP協(xié)議的三次握手和四次揮手過程?
用到過哪些rpc框架
數(shù)據(jù)庫連接池怎么實現(xiàn)
Java web過濾器的生命周期
自我介紹
ConcurrentHashMap 在Java7和Java8中的區(qū)別?為什么Java8并發(fā)效率更好?什么情況下用HashMap,什么情況用ConcurrentHashMap?
加鎖有什么機制?
ThreadLocal?應(yīng)用場景?
數(shù)據(jù)庫水平切分,垂直切分的設(shè)計思路和切分順序
Redis如何解決key沖突?
soa和微服務(wù)的區(qū)別?
單機系統(tǒng)演變?yōu)榉植际较到y(tǒng),會涉及到哪些技術(shù)的調(diào)整?請從前面負載到后端詳細描述
設(shè)計一個秒殺系統(tǒng)?
1.你自己最大優(yōu)勢和劣勢是什么 2.平時遇見過什么樣的挑戰(zhàn),怎么去克服的 3.工作中遇見了技術(shù)解決不了的問題,你的應(yīng)對思路? 4.你的興趣愛好? 5.未來的職業(yè)規(guī)劃是什么?
頭條Java后臺3面 頭條一面
1.講講jvm運行時數(shù)據(jù)庫區(qū) 2.講講你知道的垃圾回收算法 3.jvm內(nèi)存模型jmm 4.內(nèi)存泄漏與內(nèi)存溢出的區(qū)別 5.select、epool 的區(qū)別?底層的數(shù)據(jù)結(jié)構(gòu)是什么? 6.mysql數(shù)據(jù)庫默認存儲引擎,有什么優(yōu)點 7.優(yōu)化數(shù)據(jù)庫的方法,從sql到緩存到cpu到操作系統(tǒng),知道多少說多少 8.什么情景下做分表,什么情景下做分庫 9.linkedList與arrayList區(qū)別 適用場景 10.array list是如何擴容的 11.volatile 關(guān)鍵字的作用?Java 內(nèi)存模型? 12.java lock的實現(xiàn),公平鎖、非公平鎖 13.悲觀鎖和樂觀鎖,應(yīng)用中的案例,mysql當(dāng)中怎么實現(xiàn),java中的實現(xiàn) 頭條二面
Java 內(nèi)存分配策略?多個線程同時請求內(nèi)存,如何分配?
Redis 底層用到了哪些數(shù)據(jù)結(jié)構(gòu)?使用 Redis 的 set 來做過什么?
Redis 使用過程中遇到什么問題?搭建過 Redis 集群嗎?
如何分析“慢查詢”日志進行 SQL/索引 優(yōu)化?
MySQL 索引結(jié)構(gòu)解釋一下?(B+ 樹)
MySQL Hash 索引適用情況?舉下例子?
如何保證數(shù)據(jù)庫與redis緩存一致的
Redis 的并發(fā)競爭問題是什么?如何解決這個問題?了解 Redis 事務(wù)的 CAS 方案嗎?
如何保證 Redis 高并發(fā)、高可用?
Redis 的主從復(fù)制原理,以及Redis 的哨兵原理?
如果讓你寫一個消息隊列,該如何進行架構(gòu)設(shè)計啊?說一下你的思路。
MySQL數(shù)據(jù)庫主從同步怎么實現(xiàn)?
秒殺模塊怎么設(shè)計的,如何壓測,抗壓手段?
今日頭條Java后臺研發(fā)三面
一面
concurrent包下面用過哪些?
countdownlatch功能實現(xiàn)
synchronized和lock區(qū)別,重入鎖
thread和runnable的區(qū)別
AtomicInteger實現(xiàn)原理(CAS自旋)
java并發(fā)sleep與wait、notify與notifyAll的區(qū)別
如何實現(xiàn)高效的同步鏈表
java都有哪些加鎖方式(synchronized、ReentrantLock、共享鎖、讀寫鎖等)
設(shè)計模式(工廠模式、單例模式(幾種情況)、適配器模式、裝飾者模式)
maven依賴樹,maven的依賴傳遞,循環(huán)依賴
synchronized和reentrantLock的區(qū)別,synchronized用在代碼快、方法、靜態(tài)方法時鎖的都是什么?
介紹spring的IOC和AOP,分別如何實現(xiàn)(classloader、動態(tài)代理)
JVM的內(nèi)存布局以及垃圾回收原理及過程講一下,講一下CMS垃圾收集器垃圾回收的流程,以及CMS的缺點
redis如何處理分布式服務(wù)器并發(fā)造成的不一致
OSGi的機制
spring中bean加載機制,bean生成的具體步驟,ioc注入的方式
spring何時創(chuàng)建applicationContext
listener是監(jiān)聽哪個事件?
介紹ConcurrentHashMap原理,用的是哪種鎖,segment有沒可能增大?
解釋mysql索引、b樹,為啥不用平衡二叉樹、紅黑樹
Zookeeper如何同步配置
Java線程池ThreadPoolEcecutor參數(shù),基本參數(shù),使用場景
MySQL的ACID講一下,延伸到隔離級別
dubbo的實現(xiàn)原理,說說RPC的要點
GC停頓原因,如何降低停頓?
JVM如何調(diào)優(yōu)、參數(shù)怎么調(diào)?
如何用工具分析jvm狀態(tài)(visualVM看堆中對象的分配,對象間的引用、是否有內(nèi)存泄漏,jstack看線程狀態(tài)、是否死鎖等等)
描述一致性hash算法(Redis)
分布式雪崩場景如何避免?
再談?wù)勏㈥犃?/p>
福利 掃描添加小編微信,備注“姓名+公司職位”,入駐【CSDN博客】,加入【云計算學(xué)習(xí)交流群】,和志同道合的朋友們共同打卡學(xué)習(xí)!
推薦閱讀:
總結(jié)
以上是生活随笔為你收集整理的百度现场面试:JVM+算法+Redis+数据库!(三面)| CSDN博文精选的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 亚信安全发布“安全定义边界”2020发展
- 下一篇: Hive 热门数据分析面试题解析