樓主三年工作經(jīng)驗(yàn)化漆,在某三線廠干了三年估脆,先后面試了vivo,yy座云,微眾疙赠,騰訊,螞蟻金服和lazada疙教,最終選擇去了螞蟻金服棺聊。
一.公共的問題
1.介紹一下你項(xiàng)目的架構(gòu)
2.netty原理
3.synchronized和lock的不同
4.spring ioc和aop,spring bean的生命周期
5.ConcurrentHashMap的1.7和1.8的原理贞谓,resize()的不同
6.hashMap的底層數(shù)據(jù)結(jié)構(gòu)
7.如何分配一個(gè)連續(xù)內(nèi)存限佩?(注意擴(kuò)展出來說可能有的問題,比如會(huì)引起full gc裸弦,引起zk失聯(lián))
8.Mysql的索引原理祟同,B+ tree;設(shè)置索引時(shí)候要考慮的因素
9.Mysql為什么要用自增id作為主鍵
10.jvm相關(guān)知識(shí)理疙,主要是內(nèi)存區(qū)域晕城,垃圾收集相關(guān)知識(shí)
11.計(jì)算機(jī)網(wǎng)絡(luò),TCP和UDP窖贤,OSI七層協(xié)議和TCP\IP五層協(xié)議
12.用的什么微服務(wù)框架砖顷?說說里面的架構(gòu)思想贰锁,負(fù)載均衡,熔斷和限流是怎么實(shí)現(xiàn)的
13.用的什么分布式隊(duì)列滤蝠?為什么選用這個(gè)隊(duì)列豌熄,他的優(yōu)勢(shì)在哪里?
14.redis為什么快的原理物咳,如何用redis實(shí)現(xiàn)一個(gè)分布式鎖锣险,redis的數(shù)據(jù)結(jié)構(gòu)類型,過期刪除key的策略
15.mysql的batchInsert為什么比單條insert for循環(huán)快
16.說下Mybatis的原理
17.分庫分表是怎么處理的览闰?客戶端分庫分表和服務(wù)端分庫分表該如何選擇芯肤?
18.java volatile的原理
19.ThreadLocal原理
20.三種信號(hào)量機(jī)制(CountDownLatch,CyclicBarrier,Semaphore)
21.zookeeper選舉
22.mysql事務(wù)級(jí)別压鉴,MVCC原理
23.緩存淘汰算法
24.緩存穿透崖咨,緩存雪崩等問題
25.如何設(shè)計(jì)一個(gè)高并發(fā)系統(tǒng)?(包括高并發(fā)讀和高并發(fā)寫晴弃,如果是web系統(tǒng)掩幢,還可以考慮CDN和ngnix對(duì)靜態(tài)資源做緩存)
26.java里面的樂觀鎖(CAS逊拍,典型使用是AtomicInteger類)和悲觀鎖
27.Mysql的行級(jí)鎖和表級(jí)鎖上鞠,什么時(shí)候會(huì)行級(jí)鎖,什么時(shí)候表級(jí)鎖
28.Mysql如何進(jìn)行擴(kuò)容
29.分布式事務(wù)(2PC芯丧,TCC芍阎,MQ事務(wù))
30.分庫分表的策略,各自的優(yōu)缺點(diǎn)
二.VIVO
沒什么特別的問題
三.yy
1.guava RateLimiter會(huì)不會(huì)有預(yù)熱問題
2.AtomicInteger執(zhí)行原理
3.高并發(fā)寫庫存如何解決缨恒?(樓主所在公司庫存是放在redis里面谴咸,但redis主從同步可能存在延遲,如果redis主掛了的時(shí)候骗露,從redis變成master岭佳,有可能會(huì)導(dǎo)致超賣。樓主暫時(shí)也沒想到好的解決方案萧锉,看大家是如何解決的)
四.微眾
1.給出一個(gè)支付相關(guān)場(chǎng)景完整的解決方案
2.支付報(bào)文字段設(shè)計(jì)
3.平時(shí)是怎么寫代碼的
五.騰訊
1.redis底層數(shù)據(jù)結(jié)構(gòu)zipList等是怎么實(shí)現(xiàn)的
2.跳表是怎么實(shí)現(xiàn)的
3.怎么用線程池來維護(hù)一個(gè)任務(wù)的有序執(zhí)行(有序的內(nèi)存隊(duì)列)珊随?如果進(jìn)程掛了,怎么恢復(fù)
4.jvm調(diào)優(yōu)柿隙,什么時(shí)候調(diào)大新生代的內(nèi)存叶洞,什么時(shí)候調(diào)大老年代的內(nèi)存
六.螞蟻
1.怎么設(shè)計(jì)心跳包機(jī)制
2.怎么設(shè)計(jì)延遲隊(duì)列機(jī)制
3.怎么用spring避免大量的if else
4.MQ事務(wù)具體的實(shí)現(xiàn)機(jī)制
七.lazada(lazada最后的英文面掛了,那個(gè)老外的英文加上電話的嘈雜聲真是一言難盡啊禀崖。衩辟。。)
1.dubbo和service mesh架構(gòu)之間優(yōu)缺點(diǎn)
2.客戶端控制分庫分表和服務(wù)端控制分庫分表優(yōu)缺點(diǎn)
3.發(fā)生緩存雪崩的時(shí)候波附,可以怎么處理