2020年,莫名的感覺自己度過了最艱難而又漫長的一年!炒魷魚,跳槽不順,就像家常便飯一樣,2020也是迄今為止我投簡歷最多的一年了,天天面試天天掛,要多糟心有多糟心…不過我始終堅信,機會永遠是留給堅持不懈與努力的人的,所以很慶幸,我抓住了2020年的年尾吧,上岸了騰訊!
回顧這一年,我的付出終歸是沒有白費的!很快,今天又是2021年02月19號了,激烈的金三銀四已經沒有多少日子就有上場了!所以今天,我挑選了“美團+位元組+騰訊”等三家的一二三面問題,在此篇文章里做一個分享,希望看到的朋友可以做一個面試參考,并可自行測挑戰一下你能走到哪一面,期待你的表現~【點擊這里,暗號博客園】獲取三個大廠的面試題答案!
注:面試之前我曾背過面試1000題(詳情請看文末),個人記憶力還行,整個背下來感徑訓是挺不錯的,畢竟大家都深知”面試造火箭,作業擰螺絲“
第一家是美團
美團的話,三面下來,設計的內容知識也是挺廣的吧,有MySQL、Redis、Kafka、執行緒、演算法、+、volatile、執行緒、并發、設計模式等等…
image.png
一面問題:MySQL+Redis+Kafka+執行緒+演算法
mysql知道哪些存盤引擎,它們的區別
mysql索引在什么情況下會失效
mysql在專案中的優化場景,慢查詢解決等
mysql有什么索引,索引模型是什么
B-樹與B+樹的區別?為什么不用紅黑樹
mysql主從同步怎么做
樂觀鎖與悲觀鎖的區別?
binlog日志
redis 持久化有哪幾種方式,怎么選?
redis 主從同步是怎樣的程序?
redis 的 zset 怎么實作的?
redis key 的過期策略
hashmap 是怎樣實作的?為什么要用紅黑樹,而不用平衡二叉樹?為什么在1.8中鏈表大于8時會轉紅黑樹?HashMap為什么執行緒不安全的?
如何實作執行緒安全的hashmap?
select 和 epoll的區別
http與https的區別,加密怎么加的?
raft演算法詳細講解
Kafka 選主怎么做的?
kafka如何保證生產與消費都是同步的?
kafka 怎么保證不丟訊息的
redis如何保證高可用
演算法:剪繩子(貪心或遞回解決)
演算法:給前序和中序遍歷,重建二叉樹
二面問題:volatile+執行緒+并發+演算法+設計模式
自我介紹
講講專案(專案沒啥亮點,直接問基礎)
volatile作用?底層實作?禁止重排序的場景?單例模式中volatile的作用?
如何構造執行緒池,它的引數,飽和策略?
公平鎖和非公平鎖區別?為什么公平鎖效率低?
執行緒都有哪些狀態?
執行緒、行程、協程的區別?
同步佇列器AQS思想,以及基于AQS實作的lock,,
并發工具類CountDownLatch、CyclicBarrier、Semaphore介紹
Execuors類實作的幾種執行緒池型別,最后如何回傳?
手寫單例模式
手寫消費者生產者模式
演算法:反轉單鏈表
演算法:給定一個只包含 ‘(’ 和 ‘)’ 的字串,找出最長的包含有效括號的子串的長度,
三面
這一面,沒問啥東西,主要聊人生,和未來3年的規劃,,,,,,
第二家是位元組跳動
image.png
一面問題:演算法+資料庫+事務+網路
自我介紹
專案介紹(沒亮點,還是問基礎)
堆排序的原理及時間復雜度,是否穩定,最壞及最壞場景,
Object類都有哪些方法?
DNS決議的程序/瀏覽器輸入一個url,敲下回車后網路的全程序
HTTP和HTTPS的區別
UDP怎么實作可靠傳輸
介紹下https,是如何加密的,加密演算法
資料庫索引的優缺點,以及什么時候資料庫索引失效
事務的隔離級別?
資料庫的臟讀,不可重復讀,幻讀
演算法:接雨水:給定 n 個非負整數表示每個寬度為 1 的柱子的高度圖,計算按此排列的柱子,下雨之后能接多少雨水,
演算法:N皇后
二面問題:Kafka+redis+演算法
Kafka的特性?
Kafka中的磁區器、序列化器、攔截器是否了解?它們之間的處理順序是什么?
消費者重平衡(高可用性、伸縮性)
哪些情景下會造成訊息漏消費?
如何保證訊息不被重復消費(冪等性)
KafkaConsumer是非執行緒安全的,那么怎么樣實作多執行緒消費?
Kafka生產者客戶端中使用了幾個執行緒來處理?分別是什么?
消費者與生產者的作業流程:
topic的磁區數可不可以增加?
演算法:二叉樹中的最大路徑和
演算法:給定單向鏈表的頭指標和一個要洗掉的節點的值,定義一個函式洗掉該節點,
三面問題:Redis+Spring+Dubbo+演算法
redis的Zset怎么實作的?
sentinel和cluster區別和各自適用場景
redis cluster集群同步程序
redis單執行緒為什么快?
mybatis一級快取和二級快取
spring如何解決回圈依賴?
spring AOP的原理,
spring的生命周期,
Dubbo服務暴露和參考程序,負載均衡策略,容錯機制在哪里實作的原始碼
專案中遇到了哪些問題,(抱歉,我的作業就是增刪改查,沒接觸過相關問題)
演算法:二叉樹的鏡像
演算法:從上到下列印二叉樹
最后一家,瞄一下騰訊
騰訊這三面下來問的也不少,自求多福吧,
image.png
一面問題:高并發+微服務+演算法
如何設計一個秒殺系統?
一天爬一千萬條文章,怎么做設計?怎么并行協調?100 臺服務器怎么盡可能負載均衡?
有用過短域名服務嗎,能說一下嗎?
微服務的特點,如何實作服務發現和負載均衡
如何排查線上問題?(背過,沒排過)
貝葉斯的概率學原理
負載均衡的加權輪詢演算法怎么實作
如果用戶量大幅度上漲,如何優化?
paxos演算法(這個演算法太難,學的時候就沒太理解)
平時都看什么博客,最近看什么書了
二面問題:Redis+分布式+演算法
自我介紹
專案介紹
redis的5種型別,及其實作原理
如何使用redis的Zset實作延時佇列?
redis如何實作高可用?
redis快取穿透、快取擊穿、快取雪崩
布隆過濾器的實作
如何保證mysql與redis的雙寫一致性?
負載均衡演算法有哪些?
服務發現是怎么實作的?
熔斷是怎么實作的?
演算法:連續子陣列的最大和
講講分布式CAP和BASE?
什么是強一致性?
分布式事務的解決方案?
TCC(兩階段型、補償型)
id生成器如何實作?
如何判斷一個圖是否有環?
一致性Hash演算法,及其應用
背包問題
三面問題:Redis+分布式+MySQL+演算法
自我介紹
專案介紹
redis的zSet如何實作?
redis持久化機制,
redis的Hash型別講解,漸進式rehash,
HashMap原理,一個put操作,都有什么流程?
nginx有自己配置過嗎(這個是我唯一手動操作過的,這個不是背的)
nginx的使用場景,
什么是分布式,什么是集群,區別是什么?
在基于dubbo的分布式環境中,一般將超時timeout設定在provider還是consumer?
dubbo中負載均衡的策略有哪些?
介面的異步呼叫?如何設定?運行效果?
談談基于dubbo的系統中consumer集群的解決方案?
mysql是集群還是單節點?最大連接數,最大的表中資料量大約是多少?
mysql主從復制主要有哪幾種模式?
mysql索引,B+樹,為什么不用紅黑樹?
資料庫垂直與水平拆分怎么做,
分布式session設定
IO、BIO、NIO,阻塞與非阻塞的區別?
分布式介面的冪等性設計(不能重復扣付款)
演算法:二叉搜索數與雙向鏈表(這個懵了)
演算法:最長不含重復字符的子字串
演算法:手寫快速排序、插入排序、冒泡排序,并分析時間復雜度和空間復雜度,它們的穩定性
結局:總結+分享
看完美團、位元組、騰訊這三家的一二三面試問題,是不是感覺問的特別多,可能咱們真的又得開啟面試造火箭、作業擰螺絲的模式去準備下一次的面試了,
開篇有提及我可是足足背下了Java互聯網工程師面試1000題,多少還是有點用的呢,換湯不換藥,不管面試官怎么問你,抓住本質即可!能讀到此處的都是真愛,所以福利也為你準備,這份1000題免費送你!【點擊這里,暗號博客園!~】,免費獲取~
Java互聯網工程師面試1000題
而且從上面三家來看,演算法與資料結構是必備不可少的呀,因此我建議大家可以去刷刷這本左程云大佬著作的 《程式員代碼面試指南 IT名企演算法與資料結構題目最優解》,里面近200道真實出現過的經典代碼面試題,
更多的Java面試學習筆記如下,關于面試這一塊,我額外細分出Java基礎-中級-高級開發的面試+決議,以及調優筆記等等等,,,
以上所提及的全部Java面試學習的PDF及筆記,如若皆是你所需要的,那么都可發送給你!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/261289.html
標籤:其他
