520沒啥好送的,送一份面經總結吧(內含位元組、蝦皮、歡聚等)

来源:https://www.cnblogs.com/codegitz/archive/2022/05/20/16292157.html
-Advertisement-
Play Games

520沒啥好送的,送一份面經總結吧(內含位元組、蝦皮、歡聚等) 前言 今天不想寫文章,水一篇面經。 本來也沒打算搞這些,但是看到大家都在面,就跟著出去試試水。我工作已經一年多接近兩年,這個工作時長其實比較尷尬,中級崗位自己不滿意,高級崗位大廠評級比較難上去。 首先說一下我的工作內容,主要做金融相關的業 ...


520沒啥好送的,送一份面經總結吧(內含位元組、蝦皮、歡聚等)

前言

今天不想寫文章,水一篇面經。
本來也沒打算搞這些,但是看到大家都在面,就跟著出去試試水。我工作已經一年多接近兩年,這個工作時長其實比較尷尬,中級崗位自己不滿意,高級崗位大廠評級比較難上去。

首先說一下我的工作內容,主要做金融相關的業務,目前做的是金融風控系統,常用技術也就是那些爛大街的。

關於這次面試的準備,主要有幾點:

  • 八股文,這一塊我倒是沒怎麼看,壓根沒複習
  • 框架,Spring這些我相對熟悉,也沒怎麼複習
  • 業務,金融業務相對複雜點,可以說的點有很多,這點可能項目有點兒優勢
  • 演算法,LeetCode隨便刷刷

把簡歷掛boss就有人來約面試了,但是實際上我參加了的就這幾家,最終除了bigo莫名其妙終止流程外,其他都拿到了offer。

這裡不得不吐槽一下bigo,純粹刷KPI,把流程終止後說找到更合適的人選了,但是我追問更合適的人是需要什麼要求,HR又說他們現在不招人,我真是醉了。不招人約個錘子面試,浪費時間。

這裡的面試順序是我實際上參與面試的時間進行記錄的,並沒有特意再根據公司進行歸類。可以看到,其實問下來的內容七七八八都是這些,基本是按照簡歷寫的來,沒超出太多。

面經

某金融公司 一面

0.項目,因為項目類似,聊了比較多,都很熟悉。

1.資料庫的ACID實現

2.MySQL索引的結構

3.跳錶

4.七層網路協議,tcp,可靠消息,流量控制,擁塞處理

5.最大公共不連續子串

某金融公司 二面

1.繼續項目,難點在哪,做了什麼等

2.各種中間件聊一下

3.定時任務優化聊了一下時間輪和大概的實現

4.Spring聊一下無了

位元組 一面

1.MySQL資料庫的連接設置

2.100個小球,有一個質量不一樣的,怎麼用天平秤兩次找出這個小球

3.最長公共子串連續

4.MySQL一個SQL插入的過程,結合各層的實現和索引實現去講,會有些頁分裂整理什麼的

5.索引的查詢原理,為什麼是B+ 樹,有什麼優劣,其他可以做資料庫的結構,數組,哈希表,LSM樹(hbase)等,各自的優缺點

6.tcp http https ssl

歡聚 一面

1.自我介紹

2.流程引擎,並行流程引擎處理

3.Dubbo 負載均衡

4.spring 迴圈依賴

5.配置中心動態生效 熱部署

6.Redis

7.鎖 樂觀鎖 悲觀鎖 synchronized原理

8.CAS帶來的問題 ABA問題

9.countdownlatch底層原理

10.tcp udp

11.線上出現過的問題 索引失效 字元編碼加號坑爹

12.兩個線程交叉列印數字

13.寫個冒泡 優化一下

14.最近在讀什麼書 看完了沒有 看了多久 graalvm 靜態編譯原理 看完了 花了三個月 期望雲原生髮展方向

位元組二面

1.項目介紹

2.流程引擎的設計 為什麼這麼選型 對比市面上的有什麼優勢 Osworkflow JBPM Activiti flowable Camunda

3.有沒有對流程引擎進行過壓測,性能如何

4.redis key過期時間到了,那再去查就一定沒有了嗎? 延遲刪除,主從同步延遲 時鐘跳躍 可以設定精確的過期時間 expireAt 時間點

5.Map有哪些實現 HashMap TreeMap ConcurrentHashMap LinkedHashMap,TreeMap 和HashMap的區別,底層的數據結構分別是什麼,日常有沒有遇到使用map出現併發問題

6.CPU高怎麼去分析 top定位線程, jstack定位代碼

7.dubbo 的負載均衡策略 隨機 輪詢 權重 一致性哈希 分別有什麼優缺點和問題,項目里使用的是哪一種,線上有沒有因為此策略而出現過問題

8.dubbo 的重試機制 怎麼實現一個dubbo協議,需要集成哪些類,分別完成什麼操作 protocol ,injvm dubbo協議的實現扯一下

9.io模型,react模型

10.tcp udp的區別 從面向鏈接 可靠開始 到三次握手 四次揮手 流量控制 慢開始 擁塞避免 快重傳 快恢復

11.解決了什麼項目難點 解決了規則執行日誌的收集 項目出現什麼問題比較深刻

12.計算一棵樹的最大寬度 LeetCode 662,節點計數法,或者空間利用

13.找零,冰淇淋5一根 客人會用5 10 20 面值來買,你要保證正確找零 ,一開始手上沒有零錢 直接遍歷一遍解

14.有沒有你比較擅長但是我沒有問到的 spring相關

15.QA:當前業務是什麼,難點是什麼,未來發展的趨勢

蝦皮 一面

1.kafka消息保存機制 記憶體 落盤 非同步刷盤

2.kafka是怎麼保持消息可靠的,消息確認機制 1 0 -1

3.生產中kafka消費遇到的問題 消息堆積 阻塞 多線程消費

4.資料庫性能瓶頸 慢SQL查詢 多長算慢SQL 500ms

5.數據結構 數組鏈表的區別 哈希表的實現原理 鏈表轉紅黑樹 紅黑樹的細節,節點的定義,怎麼染色的,如何旋轉 怎麼實現

6.jvm垃圾收集器 serial parallel CMS G1,各種優缺點,併發標記有什麼優缺點,浮動垃圾怎麼處理 ,項目里用了哪個

7.jvm參數瞭解哪些,進行了什麼調優 Eden s1 s2

8.jvm 8的元空間瞭解嗎 裡面存儲了什麼信息 跟永久代的區別 元空間會引發fullgc嗎 為什麼要有元空間 元空間怎麼實現的

9.tcp問題四次揮手的細節,主動關閉被動關閉分別會發送什麼報文,然後進入什麼狀態,其中會引發什麼問題 close timewait狀態答得不准確,這裡問得很細,問到了fin_wait_1這些狀態

10.http https ssl

11.非對稱加密演算法瞭解哪些 RSA原理知道嗎 大質素相乘,數學推算細節知道嗎 不知道GG

12.演算法 ipv4地址匹配

蝦皮 二面

1.業務的流程,偏金融相關:從獲客千人千面開始到核心系統群裡面的狀態流轉,到最終流程結束 完整闡述一遍,提了一些重要問題的點

2.為什麼要用一套流程引擎,業務和代碼解耦,方便業務的操作。怎麼確保流程是對的,並且能用。兩個方面,技術保證系統的可用性,業務保證業務邏輯的正確性。深入闡述。

2.那流程上線之前的正確性怎麼驗證 sit -> uat -> pre -> pet -> preprod -> prod ,AB測試 風控數據團隊並行灰度對數

3.對於業務的理解,技術服務於業務,以滿足業務為前提,聊天

4.接下來是比較多的case by case

5.簡單場景下,兩個賬戶互相轉賬,怎麼保持結果正確 鎖 樂觀鎖 悲觀鎖

6.分散式場景下,上述情況怎麼保持結果正確,分散式鎖,隨口提了一嘴Redis 順便搞了一嘴redis的高性能 高可靠如何保障 分散式事物,seata簡單實現原理 XA TCC 2PC 3PC 一致性演算法raft 最終保障數據一致性

7.還是上述分散式場景,服務調用出現了問題,怎麼處理 調用端重試,帶上重試標識等,服務端冪等或者響應重試等

8.承接場景7,併發量數據量上來了,如何處理 緩存 數據進行分庫分表

9.那麼好,分庫分表假設給你一個賬戶表 要保障高併發下賬戶的數據是正確的,如何分表,按照什麼維度劃分,巴拉了一下橫切豎切,分析了一下熱點賬戶處理,添加影子賬戶巴拉巴拉

10.可以正常交易後如何保障交易的安全性 ,這幾個點比較有趣,即 :

  • 不可見性 加密巴拉巴拉 對稱 非對稱
  • 不可篡改性 加密巴拉巴拉 非對稱加密 CA認證 風險監控 可疑IP鏈路監控
  • 不可抵賴性 人臉識別 活體檢測 巴拉巴拉

11.MySQL的ACID逐個說明,MVCC 當前讀 快照讀 事務的可見性 readview trx_ix roll_ptr row_id

12.底層索引的組織實現,B+樹的特性,MySQL裡面葉子節點個數,層數等 一般節點數為1200 層次為4,可存節點17億左右,葉子節點順序遍歷,數據頁大小,記憶體碎片整理,頁分裂等巴拉一下

13.在索引上進行一次增刪改查的流程,B+樹的操作,節點調整 分裂合併等瞎扯

14.QA:業務方向 難點以及解決方案

bigo 一面

1.系統的業務,系統主要模塊劃分,說一下架構圖 我在裡面主要做了什麼,接下來業務的詳細流程巴拉巴拉

2.談一下你對dubbo的瞭解,dubbo的模塊區劃分,簡單說一下一個rpc框架的的結構 序列化層 協議層 傳輸層 服務層 API層

3.上游服務調下游服務,數據的傳輸流程是怎樣傳輸的 簡單描述一次RPC的調用過程,從2.的層次去回答

4.多線程請求的情況下,RPC調用後消息怎麼正確返回調用結果 消息序列號

5.線程安全的容器,concurrentHashMap的實現原理 HashMap 對比HashMap原理,1.7 1.8前後的改變 鎖

6.ConCurrentHashMap的put/get實現原理 也對比HashMap去說 初始化 擴容 哈希衝突 拉鏈法 鏈表數組轉換

7.線程池有哪些常用的參數 簡單說了一下corepoolsize maxpoolsize keepalive policy queue,說了一下業務中線程池的使用

8.線程的狀態有哪些?狀態之間怎麼轉換 對比操作系統的線程模型簡單說下 說了cpu調度 io等的影響

9.Redis緩存雪崩是什麼? 對比了緩存穿透 緩存擊穿說了一下

10.MySQL事務隔離級別 Read Uncommit Read Commit Repeatable Read Serialize 分別說了一下會造成的問題

11.幻讀和可重覆讀有什麼區別 說一下含義說的區別 舉例子說明出現的場景 最後說下怎麼解決 next-key 鎖 gap 鎖

12.間隙鎖原理

13.kafka的組件架構 這個答得不好,隨便說了一個server broker partition 瞎扯了一番消息發送可靠性是如何保證的,面試官很無語 我壓根沒問,你說那麼多乾哈玩意

14.kafka寫消息機制 寫記憶體 落盤 非同步刷盤 主從同步等

15.演算法:鏈表裡面環的長度(leetcode 141與142結合體)秒了五分鐘寫完

歡聚 二面

1.項目 我狀態不好,很困,瞎說了一堆,不知所云 也可能是面試官並不熟悉這一塊業務,我們總互相Get不到點 藍瘦

2.項目里遇到的難點

3.jvm調優 最新版本的jdk用的是什麼垃圾收集器 CMS G1 ZGC 三色標記

4.oracle MySQL 的區別

5.設計一個地址簿

位元組 三面

1.聊家常

2.項目裡面做了什麼 處理了什麼 難點是什麼

3.線上出過什麼比較印象深刻的問題,索引失效 出現原因,處理方案 後果

4.怎麼搭建一個redis集群 單點 集群 redis cluster codis優缺點,怎麼實現高可用 數據同步等問題,一攬子巴拉一通

5.一致性演算法 paxos raft 從拜占庭將軍問題開始扯

6.mysql主從同步如何實現,巴拉了一下binlog,同步出現的時效問題等

7.技術挺好的,為什麼一畢業沒去大廠

8.QA 業務難點

總結

這些問題好像都比較合理,這些也算是對自己工作快兩年的一個總結吧,渾渾噩噩又兩年。不過由於都是自己事後憑著記憶力回寫的,有錯有漏在所難免,輕拍。

一趟下來這一路都是走流程,你好、我是、好的、再見。

萬能模板:

  • 非常感謝貴公司對我的認可。但是由於接到了更好的機會,不能接受貴公司的offer,我覺得非常遺憾。希望我們可以保持聯繫,以後如果有機會,希望能與貴公司由更緊密的聯繫。但這次我真的非常抱歉,還請貴公司理解。謝謝。

如果有人看到這裡,那在這裡老話重提。與君共勉,路漫漫其修遠兮,吾將上下而求索。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • ZooKeeper知識點總結 一、ZooKeeper 的工作機制 二、ZooKeeper 中的 ZAB 協議 三、數據模型與監聽器 四、ZooKeeper 的選舉機制和流程 本文將以如下內容為主線講解ZooKeeper中的學習重點,包括 ZooKeeper 中的角色、ZAB協議、數據模型、選舉機制、 ...
  • 現在驗證碼登錄已經成為很多應用的主流登錄方式,但是對於OAuth2授權來說,手機號驗證碼處理用戶認證就非常繁瑣,很多同學卻不知道怎麼接入。 認真研究胖哥Spring Security OAuth2專欄的都會知道一個事,OAuth2其實不管資源擁有者是如何認證的,只要資源擁有者在授權的環節中認證了就可 ...
  • 來源:csdn.net/xiaojin21cen/article/details/78587425 ZeroC ICE的Java版,Netty2作者的後續之作Apache MINA,Crmky的Cindy之外,還有個超簡單的QuickServer,讓你專心編寫自己的業務代碼,不用編寫一行TCP代碼。 ...
  • 1.創建線程池相關參數 線程池的創建要用ThreadPoolExecutor類的構造方法自定義創建,禁止用Executors的靜態方法創建線程池,防止記憶體溢出和創建過多線程消耗資源。 corePoolSize: 線程池核心線程數量,不會自動銷毀,除非設置了參數allowCoreThreadTimeO ...
  • 我們在上一篇博客中介紹了Linux系統Shell命令行下可執行程式應該遵守的傳參規範(包括了各種選項及其參數)。Python命令行程式做為其中一種,其傳參中也包括了位置參數(positional和可選參數(optional)。Python程式中我們解析在命令行中提供的各種選項(選項保存在sys.ar... ...
  • 1. Netty源碼研究筆記(1)——開篇 1.1. Netty介紹 Netty是一個老牌的高性能網路框架。在眾多開源框架中都有它的身影,比如:grpc、dubbo、seata等。 裡面有著非常多值得學的東西: I/O模型 記憶體管理 各種網路協議的實現:http、redis、websocket等等 ...
  • Kafka 簡介 Kafka 是一種高吞吐、分散式、基於發佈和訂閱模型的消息系統,最初是由 LinkedIn 公司採用 Scala 和 java 開發的開源流處理軟體平臺,目前是 Apache 的開源項目。 Kafka 用於離線和線上消息的消費,將消息數據按順序保存在磁碟上,併在集群內以副本的形式存 ...
  • 前言 微服務治理方案中,鏈路追蹤是必修課,SpringCloud的組件其實使用很簡單,生產環境中真正令人頭疼的往往是軟體維護,介面在微服務間的調用究竟哪個環節出現了問題,哪個環節耗時較長,這都是項目上線後一定會遇到的問題,為瞭解決這些問題鏈路追蹤便應運而生了。 主流方案 1)、SkyWalking: ...
一周排行
    -Advertisement-
    Play Games
  • 一:背景 準備開個系列來聊一下 PerfView 這款工具,熟悉我的朋友都知道我喜歡用 WinDbg,這東西雖然很牛,但也不是萬能的,也有一些場景他解決不了或者很難解決,這時候藉助一些其他的工具來輔助,是一個很不錯的主意。 很多朋友喜歡在項目中以記錄日誌的方式來監控項目的流轉情況,其實 CoreCL ...
  • 本來閑來無事,準備看看Dapper擴展的源碼學習學習其中的編程思想,同時整理一下自己代碼的單元測試,為以後的進一步改進打下基礎。 突然就發現問題了,源碼也不看了,開始改代碼,改了好久。 測試Dapper.LiteSql數據批量插入的時候,耗時20秒,感覺不正常,於是我測試了非Dapper版的Lite ...
  • 需求如下,在DEV框架項目中,需要在表格中增加一列顯示圖片,並且能編輯該列圖片,然後進行保存等操作,最終效果如下 這裡使用的是PictureEdit控制項來實現,打開DEV GridControl設計器,在ColumnEdit選擇PictureEdit: 綁定圖片代碼如下: DataTable dtO ...
  • 前兩天微軟偷偷更新了Visual Studio 2022 正式版版本 17.3 發佈,發佈摘要: MAUI 工作負荷 GA 生成 MAUI/Blazor CSS 熱重載支持 現在,你將能夠使用我們的新增功能在 Visual Studio 中使用每個更新試用一系列新功能。 選擇每個功能以瞭解有關特定功 ...
  • 航天和軍工領域的數字化轉型和建設正在積極推進,在與航天二院、航天三院、航天六院、航天九院、無線電廠、兵工廠等單位交流的過程中,用戶更聚焦試驗和生產過程中的痛點,迫切需要解決軟體平臺統一監測和控制設備及軟體與設備協同的問題。 ...
  • .NET 項目預設情況下 日誌是使用的 ILogger 介面,預設提供一下四種日誌記錄程式: 控制台 調試 EventSource EventLog 這四種記錄程式都是預設包含在 .NET 運行時庫中。關於這四種記錄程式的詳細介紹可以直接查看微軟的官方文檔 https://docs.microsof ...
  • 一:背景 上一篇我們聊到瞭如何去找 熱點函數,這一篇我們來看下當你的程式出現了 非托管記憶體泄漏 時如何去尋找可疑的代碼源頭,其實思路很簡單,就是在 HeapAlloc 或者 VirtualAlloc 時做 Hook 攔截,記錄它的調用棧以及分配的記憶體量, PerfView 會將這個 分配量 做成一個 ...
  • 背景 在 CI/CD 流程當中,測試是 CI 中很重要的部分。跟開發人員關係最大的就是單元測試,單元測試編寫完成之後,我們可以使用 IDE 或者 dot cover 等工具獲得單元測試對於業務代碼的覆蓋率。不過我們需要一個獨立的 CLI 工具,這樣我們才能夠在 Jenkins 的 CI 流程集成。 ...
  • 一、應用場景 大家在使用Mybatis進行開發的時候,經常會遇到一種情況:按照月份month將數據放在不同的表裡面,查詢數據的時候需要跟不同的月份month去查詢不同的表。 但是我們都知道,Mybatis是ORM持久層框架,即:實體關係映射,實體Object與資料庫表之間是存在一一對應的映射關係。比 ...
  • 我國目前並未出台專門針對網路爬蟲技術的法律規範,但在司法實踐中,相關判決已屢見不鮮,K 哥特設了“K哥爬蟲普法”專欄,本欄目通過對真實案例的分析,旨在提高廣大爬蟲工程師的法律意識,知曉如何合法合規利用爬蟲技術,警鐘長鳴,做一個守法、護法、有原則的技術人員。 案情介紹 深圳市快鴿互聯網科技有限公司 2 ...