揚騰創新golang2輪面試,二面相當硬核。我差點崩潰。。

一面

1、自我介紹,換工作的原因是什么?

2、物流開發平臺是做什么?鏈路上都有哪些核心模塊?

一個單下過來,分配給哪個3PL?有什么要求嗎?是怎么設計的?

保證履約系統穩定性方面有做過什么事情?

軌跡推送過程中的最終一致性如何保證?

任職期間單量從多少變化到了多少?

第三方OMS/ERP可以直接請求到3PL,為什么還要通過你們平臺來做轉發?


3、Prometheus了解多少?只做接口層面的監控嗎?告警是怎么實現的?


4、下單鏈路中,從三方請求到你們,你們調用下游,再到下游調用3PL,整個流程是同步還是異步的?(例如,第三方下單請求,需不需要等待3PL給你們響應成功)

3PL物流公司系統掛了的話,你們這邊OpenAPI給三方也是返回失敗的嗎?


5、數據庫用的是MySQL嗎,ADO 10w的單量是怎么存儲的,有沒有什么設計?

6、go里頭函數參數傳參,slice,map,string這些是值傳遞還是引用傳遞?

7、如果收到一個請求,里頭有100個子任務,用go編碼時直接創建100個協程并發處理,是否合適呢,會導致什么問題?

8、Interface類型,要轉成原本的類型,怎么才能安全進行轉換?

二面

1、自我介紹

2、挑一個重點項目,主要在技術層面的挑戰、難點以及自己做的有亮點的,以及遇到的一些技術難題,是如何克服的?

3、剛提到的數據一致性通過事務保證,處理邏輯是在同一個節點上,同一個服務上去處理的嗎?用事務在性能方面會不會有一些瓶頸?里頭提到的樂觀鎖,你是怎么設計的?


4、從data service回寫數據到DB,分發不同協程去并發處理,針對budget主表和category子表,是不同數據在一個協程里頭寫2張表,還是2張表用不同協程去寫數據?

Channel的緩存大小當時定的多少,是怎么設計?

剛剛樂觀鎖的設計,除了你用的version字段,稍微發散一下,還有無其它的方式?

假設這些寫操作是在不同節點上執行的,怎么去保證一致性?


5、有了解過三階段提交嗎?兩階段(2PC)有什么弊端?有沒有聽說過那個叫Paxos算法?圍繞補償事務這個機制,你能簡單講一下TCC嗎?


6、MySQL用的多嗎,有沒有遇到什么實際問題,比如主持延遲、深度分頁等?

7、慢查詢你是如何優化的,針對這種情形,分幾方面說說你的解決思路,例如SQL語句、表結構設計的優化?


8、目前表的數據量有多少?分表后,總數據量有多少?那你們現在拆成了主表+副表(擴展表)的結構,怎么去滿足業務需求呢?

是會采用2個協程,并發去查數據,然后再組裝給到前端那邊嗎?

分表后,每個子表的數據量現在有多少?采用一下join方法去聯表,會不會有一些性能方面的影響呢?


9、MySQL的分表和分區有什么區別?什么情況采用分表,什么情況采用分區?兩者可不可以結合起來使用呢,例如我先做分表,再去做分區?

在分區的情況下,我能不能在select語句里頭指定查詢條件,只查某個分區,去加快查詢速度?


10、假設現在一張表里頭,有id主鍵,有一個(a,b)的聯合索引,你能不能說說這張表的底層數據結構是怎樣的?

Where a = ? / a in (…),這個SQL查詢語句,在底層的查詢過程是怎樣的,樹的遍歷是個什么順序?

11、Offset 1000000 limit 10; 這種深度分頁場景,底層的掃描過程是怎樣的,有什么優化思路?

12、B+樹如果有3層,大概支持的數據量是多少?查詢會走幾次IO?


13、假設說現在有一張大表,幾千萬的存量數據,在線添加索引或加字段的情況下,會出現什么情況,會鎖數據還是鎖表嗎?(上行鎖還是表鎖?)

對寫操作會阻塞,那讀操作呢?假設現在主從同步已經完畢的情況下

那換個問法,假設現在有一張存量數據5000w的表,你要往里頭去加一列字段,再加一個索引,應該怎么去操作呢?


14、有用過消息隊列嗎?基于MySQL和Redis,讓你實現一個延時隊列,在不考慮性能的情況下,你會怎么設計?那kafka為什么性能比較高,主要是那幾方面的原理保證?


15、有了解過sync.RWMutex的底層原理嗎

16、map為什么遍歷是不保證有序的?有了解它底層的BMap和bucket的一些機制嗎?

17、go的內存泄漏遇到過嗎,大概會有哪些場景容易發生,怎么去避免?go的GC會自動關閉channel嗎?

18、假設現在需要你快速上手一門新語言,或一門新的技術,你的學習路線大概會是什么樣?

19、對新的工作有什么期待嗎?

20、反問


“面經哥”已累計3000+條真實面試經驗,期待你的加入~

9bfabe141406f5b7f4a9d8e5bc28202d.jpeg

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/18853.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/18853.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/18853.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【大數據面試題】33 手寫一個 Flink SQL 樣例

一步一個腳印,一天一道大數據面試題 博主希望能夠得到大家的點贊收,藏支持!非常感謝~ 點贊,收藏是情分,不點是本分。祝你身體健康,事事順心! 我們來看看 Flink SQL大概流程和樣例: …

基于雙向長短時記憶網絡的ECG心電信號識別(包括原始時域信號與時頻域特征提取,MATLAB R2021B)

循環神經網絡RNN,是一種鏈式結構,能夠對連續輸入的序列同時處理,且有不錯的效果。RNN具有記憶功能且能夠隨時接受并處理輸入數據,這得益于其特殊的連接方式,即神經元之間以一定的方向互相連接構成環,內部時…

如何使用寶塔面板搭建Tipask問答社區網站并發布公網遠程訪問

文章目錄 前言1.Tipask網站搭建1.1 Tipask網站下載和安裝1.2 Tipask網頁測試1.3 cpolar的安裝和注冊 2. 本地網頁發布2.1 Cpolar臨時數據隧道2.2 Cpolar穩定隧道(云端設置)2.3 Cpolar穩定隧道(本地設置) 3. 公網訪問測試4.結語 前…

摸魚大數據——Hive表操作——復雜類型

1、hvie的SerDe機制 其中ROW FORMAT是語法關鍵字,DELIMITED和SERDE二選其一。本次我們主要學習DELIMITED關鍵字相關知識點 如果使用delimited: 表示底層默認使用的Serde類:LazySimpleSerDe類來處理數據。 如果使用serde:表示指定其他的Serde類來處理數據,支持用戶自…

【python 進階】 繪圖

1. 將多個柱狀繪制在一個圖中 import seaborn as sns import matplotlib.pyplot as plt import numpy as np import pandas as pd# 創建示例數據 categories [A, B, C, D, E] values1 np.random.randint(1, 10, sizelen(categories)) values2 np.random.randint(1, 10, siz…

代碼隨想錄35期Day53-Java

Day53題目 LeetCode.1143最長公共子序列 核心思想:這道題是我動態規劃的啟蒙題目,已經做了很多遍了,dp數組的變化方法是:相同則是左上角1, 不相同則是上和左中的最大值 class Solution {public int longestCommonSubsequence(String text1, String text2) {int[][] dp new …

前端Vue自定義輪播圖組件的設計與實現

摘要 隨著技術的發展,前端開發的復雜性日益增加。傳統的整塊應用開發方式在面對頻繁的功能更新和修改時,往往導致整體邏輯的變動,從而增加了開發和維護的難度。為了應對這一挑戰,組件化開發應運而生。本文將以Vue中的自定義輪播圖…

GEE 利用增強的Sentinel-2像元物候特征精確提取水稻分布

題目:An enhanced pixel-based phenological feature for accurate paddy ricemapping with Sentinel-2 imagery in Google Earth Engine 期刊:ISPRS Journal of Photogrammetry and Remote Sensing(IF:14.9) 第一作者&#xff1a…

HiWoo Box工業4G網關

在飛速發展的工業4.0時代,數據已成為驅動工廠智能化、自動化的核心力量。而如何將這些散布在工廠各個角落的數據高效、安全地匯集起來,成為企業提升生產效率、降低運營成本的關鍵。今天,我們將為您介紹一款4G網關產品——HiWoo Box&#xff0…

揭秘SQL中的公用表表達式:數據查詢的新寵兒

歡迎來到我的博客,代碼的世界里,每一行都是一個故事 揭秘SQL中的公用表表達式:數據查詢的新寵兒 前言公用表表述的概述非遞歸CTE的作用遞歸CTE的作用CTE性能優化 前言 你是否曾經為SQL查詢的復雜性而困擾不已?尤其是那些讀寫層子…

服務器數據恢復—RAID5陣列崩潰如何恢復上層OA和oracle數據庫的數據?

服務器數據恢復環境&故障: 某公司的一臺服務器中的raid5磁盤陣列有兩塊磁盤先后掉線,服務器崩潰。故障服務器的操作系統為linux,操作系統部署了oa,數據庫為oracle。oracle數據庫已經不再對該oa系統提供后續支持,用…

圖形學初識--矩陣和向量

文章目錄 前言正文向量什么是向量?向量涉及哪些常見計算?1、取模2、歸一化3、向量加法4、向量減法5、向量與標量乘6、向量點乘(內積)7、向量投影 向量有哪些基本應用? 矩陣什么是矩陣?矩陣涉及哪些常見計算…

數據庫中的六大鎖

目錄 一、死鎖 二、鎖的區間劃分 1、間隙鎖(Gap Locks) 2、臨鍵鎖(Next-key Locks) 三、鎖的粒度劃分 1、表級鎖(Table-level lock) 2、行級鎖(Record Locks) 3、頁級鎖 四、…

一分鐘教你學浪app視頻怎么緩存

你是否在學浪app上苦苦尋找如何緩存視頻的方法?你是否想快速、輕松地觀看自己喜歡的視頻內容?那么,讓我們一起探索一分鐘教你如何緩存學浪app視頻的技巧吧! 學浪下載工具我已經打包好了,有需要的自己下載一下 學浪下…

【JavaScript】ECMAS6(ES6)新特性概覽(二):解構賦值、擴展與收集、class類全面解析

🔥 個人主頁:空白詩 🔥 熱門專欄:【JavaScript】 文章目錄 🌿 引言五、 Destructuring Assignment - 解構賦值,數據提取的藝術 🎨📌 數組解構📌 對象解構📌 特…

動態規劃之單詞拆分

這次分享一道關于動態規劃的leetcode,單詞拆分。 單詞拆分 給你一個字符串 s 和一個字符串列表 wordDict 作為字典。如果可以利用字典中出現的一個或多個單詞拼接出 s 則返回 true。注意:不要求字典中出現的單詞全部都使用,并且字典中的單詞…

【技術】漢諾塔的遞歸問題解析及多語言實現

漢諾塔的遞歸問題解析及多語言實現 漢諾塔(Hanoi Tower)問題是一個非常經典的遞歸問題。它起源于一個古老的傳說:有三個柱子和64個大小不一的金盤,開始時這些金盤按從小到大的順序放在柱子A上,目標是在柱子B上按同樣的…

Java——Java開發環境

一、JDK 1、什么是JDK JDK(Java Development Kit,Java 開發工具包)是用于開發 Java 應用程序的核心工具包。它包含了編寫、編譯、調試和運行 Java 程序所需的一切工具和庫。JDK 是每個 Java 開發者必備的工具。 2、JDK 主要組件 JDK主要包…

HNU-計算機體系結構-實驗3-緩存一致性

計算機體系結構 實驗3 計科210X 甘晴void 202108010XXX 文章目錄 計算機體系結構 實驗31 實驗目的2 實驗過程2.0 預備知識2.0.1 多cache一致性算法——監聽法2.0.1.1 MSI協議2.0.1.2 MESI協議2.0.1.3 本題講解 2.0.2 多cache一致性算法——目錄法2.0.2.1 有中心的目錄法2.0.2…

A2B V2.0協議學習筆記(非正式版本)

一、說明 A2B全稱是 Automotive Audio Bus 汽車音頻總線,主要是解決傳統音頻總線線多、線重、成本貴等問題。 A2B V2.0總線相對V1.0主要變化點: 速率提升,高達98.304Mbps,全雙工模式 編碼方式,由之前的曼徹斯特編碼變為QPSK(正交相移鍵控)編碼,每個符合2bit數據,因此…