面試概況
- 崗位:golang開發
- 公司:*** (公司名字就匿了哈,避免看了題再去面試對其他小夥伴不公平)
- 途經:朋友內推
- 方向:IoT(物聯網)/區塊鏈
- 結果:
- 雖然失敗了但是還是有很多值得參考的地方,我還是挺看好這個公司發展的方向的,希望想到這個(類)公司面試的小夥伴有幫助
面試題目
共10題,答題時間30min,其實這些題都很基礎,好好學過go的都會吧,答案我放最後
不定項選擇題
- 對於
func add(args ...int) int {}
呼叫方式正確的選項有()
A. add(1, 2)
B. add(1, 3, 7)
C. add([]int{1, 2})
D. add([]int{1, 3, 7}…) - 變數的初始化,下面正確的使用方式是()
A. var i int = 10
B. var i = 10
C. i := 10
D. i = 10 - golang中的引用型別包括()
A. string
B. map
C. channel
D. interface - 關於整型切片的初始化,下面正確的是()
A. s := make([]int)
B. s := make([]int, 0)
C. s := make([]int, 5, 10)
D. s := []int{1, 2, 3, 4, 5} - 關於channel,下面語法正確的是()
A. var ch chan int
B. ch := make(chan int)
C. <- ch
D. ch <- - 關於無緩衝和有緩衝的channel,下面說法正確的是()
A. 無緩衝的channel是預設的緩衝為1的channel
B. 無緩衝的channel和有緩衝的channel都是同步的
C. 無緩衝的channel和有緩衝的channel都是非同步的
D. 無緩衝的channel是同步的,而有緩衝的channel是非同步的
答案
以下答案僅供參考,筆記主程沒給我答案,上面部分問題是我在網上搜尋golang面試題後才想起來的,只要好好準備,這些題都簡單,全是基礎
- ABD
- ABC
- BCD(我當時直接反著答了個A成功排除所有正確答案,然後給面試官解釋了下我的想法要麼A要麼BCD,面試官還是覺得很ok的)
- BCD
- ABCD(我不知道D是不是對的,我答了D)
- D
解答題
講道理我tmd做到原題了,所以得出結論,多刷leetcode沒毛病
給我出的都是leetcode裡面的簡單難度的演算法題,以至於我都覺得不算演算法題了~
除了演算法還考了點基礎概念
- 簡要面試下變數逃逸
- 給定一個整數陣列 nums 和一個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。leetcode連結
- 給定兩個陣列,編寫一個函式來計算它們的交集、以及差集(交集很簡單,重點在差集上)leetcode上只講了交集沒講差集
如輸入nums1 = [4,9,5], nums2 = [7,5,10,8,4]
交集返回[4,5]
差集返回[9],[7,10,8]
變數逃逸這題我懵了,我沒看過這個的定義,所以就亂寫了一堆
不知次題是否想考golang的垃圾回收機制,golang的垃圾回收機制使用三色
這兩道演算法題都是原題我就不一一解答了
最後兩題由於時間問題,我直接答的最簡單的解法,時間和空間都得分不高,後面面試時,面試官問了我更優解,給他解釋了更好的方案
第二題的差集用map的delete方法減少迴圈,這個我們想到,面試官給我講了下用delete的方式獲得才是相對更優的解答,可以把你們的答案留在評論區
做完題我感覺我有了,我在考慮要15K?16K?18K?了
主程面試
由於是內推(在此感謝@劉水水同學的推薦),直接跳過了前面的步驟,做完題面主程了~(好像也沒跳過啥哈哈哈,反正給了機會嘛)
面試題講解
主程先給我講了下第三題,我選反了…給說了下引用型別的概念,我還在第三題下面備註了下
抱歉,對於應用型別的概念我不熟悉,我猜測答案要麼是A要麼是BCD即反過來
結果我還是選反了~哈哈哈不過面試官還是比較滿意的
演算法題1 我用的是兩次for迴圈遍歷,在面試官說之前我就先解釋了下,一共半個小時,外加手寫程式碼,沒辦法去考慮更優解,然後就講了用map來解的方案(完美混過去)
第二道演算法題,交集我的做法是把長slice放map裡面,然後迴圈短的slice判定map裡面是否含有,若有,則把對應項append到結果集中
差集同樣的用map加上slice的迴圈找出結果,主程給我說,此處更好的解決方案是使用map自帶的delete方法,把交集刪除後,剩下的就是差集了。。。。emmmm好像的確更好哈,可惜我沒想到
ok面試題就到這裡了,接下來是考了些go的基礎
go基礎的考核
考了哪些只是點呢~~我也只能儘量回憶下,不確定能回憶完
待續… …
本作品採用《CC 協議》,轉載必須註明作者和本文連結