我的Java美團求職之路,Spring都沒弄明白憑什麼拿高薪

隨時待命 2021-09-19 05:01:16 阅读数:708

java 之路 spring 明白 高薪

一面問題: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年的規劃。。。。。。

第二個是字節跳動

我的Java美團求職之路,Spring都沒弄明白憑什麼拿高薪_後端

一面:算法+數據庫+事務+網絡

  • 自我介紹
  • 項目介紹(沒亮點,還是問基礎)
  • 堆排序的原理及時間複雜度,是否穩定,最壞及最壞場景。
  • 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服務暴露和引用過程,負載均衡策略,容錯機制在哪裏實現的源碼
  • 項目中遇到了哪些問題。(抱歉,我的工作就是增删改查,沒接觸過相關問題)
  • 算法:二叉樹的鏡像
  • 算法:從上到下打印二叉樹

最後瞄一眼騰訊

騰訊這三面下來問的也不少,自求多福吧。

我的Java美團求職之路,Spring都沒弄明白憑什麼拿高薪_程序員_02

一面

  • 如何設計一個秒殺系統?
  • 一天爬一千萬條文章,怎麼做設計?怎麼並行協調?100 臺服務器怎麼盡可能負載均衡?
  • 有用過短域名服務嗎,能說一下嗎?
  • 微服務的特點,如何實現服務發現和負載均衡
  • 如何排查線上問題?(背過,沒排過)
  • 貝葉斯的概率學原理
  • 負載均衡的加權輪詢算法怎麼實現
  • 如果用戶量大幅度上漲,如何優化?
  • paxos算法(這個算法太難,學的時候就沒太理解)
  • 平時都看什麼博客,最近看什麼書了

二面

  • 自我介紹
  • 項目介紹
  • redis的5種類型,及其實現原理
  • 如何使用redis的Zset實現延時隊列?
  • redis如何實現高可用?
  • redis緩存穿透、緩存擊穿、緩存雪崩
  • 布隆過濾器的實現
  • 如何保證mysql與redis的雙寫一致性?
  • 負載均衡算法有哪些?
  • 服務發現是怎麼實現的?
  • 熔斷是怎麼實現的?
  • 算法:連續子數組的最大和
  • 講講分布式CAP和BASE?
  • 什麼是强一致性?
  • 分布式事務的解决方案?
  • TCC(兩階段型、補償型)
  • id生成器如何實現?
  • 如何判斷一個圖是否有環?
  • 一致性Hash算法,及其應用
  • 背包問題

三面

  • 自我介紹
  • 項目介紹
  • 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,阻塞與非阻塞的區別?
  • 分布式接口的幂等性設計(不能重複扣付款)
  • 算法:二叉搜索數與雙向鏈錶(這個懵了)
  • 算法:最長不含重複字符的子字符串
  • 算法:手寫快速排序、插入排序、冒泡排序,並分析時間複雜度和空間複雜度,它們的穩定性

最後

各比特讀者,由於本篇幅度過長,為了避免影響閱讀體驗,下面我就大概概括了整理了

 CodeChina開源項目:【一線大廠Java面試題解析+核心總結學習筆記+最新講解視頻】

我的Java美團求職之路,Spring都沒弄明白憑什麼拿高薪_程序員_03

我的Java美團求職之路,Spring都沒弄明白憑什麼拿高薪_Java_04

我的Java美團求職之路,Spring都沒弄明白憑什麼拿高薪_程序員_05

我的Java美團求職之路,Spring都沒弄明白憑什麼拿高薪_程序員_06

版权声明:本文为[隨時待命]所创,转载请带上原文链接,感谢。 https://gsmany.com/2021/09/20210919050115684s.html