面試:人人網(Java武漢)
時間:2021-03-19
筆試兩道算法題
算法1: 長度為1000萬的字元串數組,要求去除重複字元串,并以首字母大寫其他字母小寫輸出。
例如:[“Wuhan”,“nanjing”,“Shang Hai”,“Nan jing”]
輸出:[“Wuhan”,“Nanjing”,“Shanghai”]
算法2: 比較版本号大小(LetCode 165原題)
面試:
1.ArrayList 和LinkList差別?
2.redis底層資料結構?(不是讓你介紹5種資料類型,而是回答5種資料類型底層資料結構實作)
3.redis當機後資料恢複?(知識點:AOF和哨兵)
面試:盛天網絡(Java)
1.redis鎖怎麼實作?
2.redis持久化?
3.基于redis設計獎牌榜需要考慮哪些?
4.RocketMq如何确認消費成功?
5.rocketmq如何避免重複消費?
6.Spring架構相關問題:方法B上使用@Cacheable注解,方法A對B調用,會讀取緩存嗎?
7.在方法B上加@Transactional,方法A對B進行調用,事務是否有效?
8.小程式事件通知是如何實作?
面試:騰訊雲(Java)
1.mysql索引類型
2.mysql性能優化如何設計?
3.什麼情況下出現記憶體溢出?
4.介紹下線程建立方式?
5.HashMap和HashTable差別?
6.說說對mysql索引的了解?主鍵索引和唯一索引、普通索引的差別?
7.mysql鎖的了解?行級鎖死鎖的了解?
8.mysql性能優化的了解,需要考慮哪些?
9.explain執行計劃介紹?
10.講下mysql主從複制過程?
11.redis使用,有哪些資料結構?
12.講下分布式鎖實作?
13.redis持久化政策?
14.redis叢集部署方式?
15.Time_waite發生在TCP哪個過程?
16.IPv4是多少位?
17.http和https差別?
…面了不超過20min,gg…剩下内容想不起來了
面試:青藤雲(Java)
1.synchronized和reentrantlock的差別?synchronize如何使用?
synchronize在靜态方法和非靜态方法上使用有什麼差別?
2.RocketMq和RabbitMq差別?為什麼RocketMQ能支援更高的并發?
3.RocketMq如何保證消費者成功消息?
4.RabbitMq死信有了解嗎?介紹下?
5.Mysql所的類型?分别介紹下行級索、表級索、頁面索的作用?
6.介紹下索引類型?為什麼B+數效率更高?(這裡給自己挖了個坑,介紹B+樹特性時候很索引引擎特性搞混了,說B+樹支援事務,gg…)
7.Git中reBase是做什麼的?cher-Pick做什麼用的?
8.介紹下JPA使用中N+1問題?
總結:基礎知識了解不夠深入,最近面試了5家公司,高頻面試題:MQ-持久化、高可用、如何判斷消費者是否消費成功、死信…
Redis-持久化、一緻性、高可用、鎖…
Mysql-索引、鎖、索引的效率、事務
Spring-事務、緩存、AOP
JPA-N+1問題
計算機網絡-七層結構、三次握手/四次揮手
##騰訊雲 40min
1.項目架構介紹?
2.HashMap為什麼線程不安全?
3.ThreadLocal底層實作?
4.介紹下緩存雪崩,緩存擊穿,緩存穿透?如何避免?
5.redis分布式鎖如何實作?除了setnx還有其他的方法沒?JAVA代碼如何實作一把分布式鎖?
6.Mysql聯合索引什麼情況下會失效?
7.Mysql分庫分表如何實作?
8.介紹一下Tcp三次握手?
9.介紹一下Spring, Spring Mvc ,Spring Boot, Spring Cloud?
10.線程池如何實作線程數量?
11.ELK的組成,分别介紹下?
算法題:整數數組,找出并傳回能被3整除的元素最大和?
##科大訊飛 30min
1.介紹一下項目架構?
2.Hashmap底層實作?為什麼用紅黑樹?
3.ThreadLocal底層實作?
4.緩存擊穿和緩存穿透差別?
5.count(*)和count(1)的差別?
6.自增主鍵和uuid主鍵差別?
7.項目中遇到的難點?
8.常用的資料類型有哪幾種?
9.int占幾個位元組?
10.java介紹下常用資料結構接口有哪些,分别有哪些實作?
11.SpringMVC的了解?它和SpringBoot有什麼差別?
聯影醫療
1.StringBuilder和SringBuffer差別?是否現程安全?
2.java中實作鎖的方式?Synchronized,ReentrantLock 對比?synchronized是公平鎖嗎?
3.ArrayList是否線程安全?列舉一個線程安全的List類(vector)
4.三個線程同時向ArrayList寫資料,會出現什麼情況,如果解決?
5.Springboot底層進行容器注入實作?
6.nacos配置中心加載原理?如何實作熱啟動?
曠視科技
1.redis分布式鎖怎麼實作的?
2.redis進行rdb持久化時時同步還是異步的?
3.redis如何保證高可用?
4.redis記憶體淘汰政策?哪三種?(實際上時沒有使用到定時政策)
5.synchronization和ReentrantLock的差別?底層時怎麼實作加鎖的?
6.阻塞隊列有哪些?分别試用哪些場景?
7.ArrayList擴容過程?
8.setnx和setex差別?
9.如何實作一個分布式鎖?
10.索引有哪些資料結構,B樹、B+樹、Hash索引分别适用什麼場景?
11.介紹下SpringCloudAlibabab?它與SpringClould有什麼差別?
12.介紹下服務發現的原理?
13.介紹下nacos如何實作服務注冊?
14.分布式事務實作方案?介紹下過程
15.SpringBean是單例還是多例?
16.介紹下設計模式?應用場景?簡單工廠和抽象工廠有什麼差別?