1. 程式人生 > 實用技巧 >2020.10.14京東雲測開二面

2020.10.14京東雲測開二面

文章目錄


前言

本來以為京東一面已經涼了,因為是國慶之前面的,時間太久了。沒想到,昨天面試官小姐姐打電話約了二面,還是蠻激動的。這次面試還是電話面,聊了50分鐘,涉及到專案、演算法、測試、未來的方向

一、專案

1.介紹下這些專案中你認為做的最好的,說下亮點。

我介紹了聊天室,(畢竟印象最深,並且有東西可以聊),說了兩個亮點:通訊協議、UDP檔案傳輸,又講了專案的不足:BIO模型,可以擴充套件為NIO模型。

2.介紹貓眼影院專案,服務閘道器的功能是怎麼做的?

我講了做這個專案的初衷(涉及到另一個專案),講了服務聚合、許可權控制、服務熔斷這些的概念。
但是面試官又問,這些具體是怎麼實現的?
答:用工具 org
有考慮過底層原理嘛?
只是實現,沒有深入瞭解。。。

定個目標:搞懂Zookeeper、Dubbo原始碼原理

3.專案開發過程中有做過測試嗎?

答:做過簡單的測試,針對後端生成的介面進行測試,針對service進行測試,對mapper.xml程式碼中的sql進行測試。(我覺得面試時候問的問題,即使自己答不出來或者沒有把握自己說的對不對,也不要說完全不會或者沒做過)

4.程序之間通訊?

這道題搞得我有點懵,沒答出來(其實本來就不會)。文章:程序間的五種通訊方式

後來發現,我可以跟她講併發程式設計底層原理,進而把話題引導到volatile可見性
這個圖其實就說明了一種通訊方式,共享記憶體

關於併發程式設計底層原理,可以看我另一篇部落格:https://blog.csdn.net/qq_44357371/article/details/108431690

測試(包括寫程式碼)

5.手寫字串轉int(比如:“123”轉成123)

這道題是面位元組時候的原題,但是,,,我面完之後,沒再去刷這道題,後悔死。
我把我當時的思路又寫了一遍(bug多多):

6.針對這個程式碼,寫幾個測試用例,你會怎樣改進?

(當問到這個問題,我雖然有點懵,但還是比較慶幸,慶幸自己上面寫了這麼多bug,讓我後面有東西能說)

  1. 輸入正常的數,比如“12345”,看是否出來正確結果
  2. 輸入“123abc”,報錯,需要排除非數字的字元
  3. 輸入“10022”(高位為0),會出錯。在for迴圈加判斷。
  4. 輸入超長的字串,會導致越界。沒想出來怎麼解決,可能會用到ArrayList

7.瞭解哪些簡單的測試方法?或者說點概念?

突然想起了昨天測試課和之前軟工課上老師講的知識點,就說了黑盒測試,白盒測試,系統測試,單元測試等等。

8.專案中的單元測試?

9.未來方向

(雖然面的是測開,但是未來還是要往架構師或者管理層發展)

10.反問

問了測試開發的工作,開發的話主要做什麼。


總結

所有的面試官都會問的東西:專案中用到的工具(比如我用到了Zookeeper、Zipkin等)的底層原理。 這次面試的節奏比較好,基本上避開了我的盲點LOL