【软件测试】美团一面、阿里一面复盘总结
前言
美團一面3月22日,阿里一面是在3月24日。
這兩面的面試官風格截然不同,美團一面主要想看我基礎知識到底扎不扎實,并不會繼續進行深層次的追問,覺得我原理掌握的差不多就直接跳到另一個問題。而阿里一面給我的感覺就是思路很跳脫,面試官會不斷根據我說的追問下去,而且問題往往不是那種標準的問法。
相對而言,我美團一面表現的還不錯,問題基本都答上來了,而且做了很多延伸,很多時候都是面試官打斷我說可以了。而阿里面試官不會聽我太多bb(hh,因為我回答問題都是根據我自己的理解然后用口語化的表達出來的,所以能講很長時間),往往會在我提到一個點的時候打斷我根據這個點不斷深入下去。
美團一面面了一個小時,阿里一面面了一個半小時,因為也沒太多相關面試經歷,我也不知道面試官問我的這些是不是普遍的難度。
阿里一面
1、樂觀鎖、悲觀鎖
2、表和視圖
3、索引怎么用,一定能提高查詢效率嗎
4、快速排序和歸并排序
5、介紹TCP、UDP
6、GET、POST區別
7、linux查找最近一次修改的文件
8、top指令
9、哈夫曼樹【這個以前沒問到過】
10、軟件生命周期各個階段 測試人員充當的角色
11、軟硬鏈接,原理
美團一面
1、介紹項目,有沒有學習過計算機相關的課程
2、有沒有學過計算機網絡,linux
3、說下接口自動化分別用了哪些框架,怎么實現的,你主要負責哪些部分?
4、流程場景怎么設計用例的?假如流程比較長,你怎么保障前面流程成功?
5、介紹一下hashmap和hashtable
6、數據放哪的?數據驅動怎么做的?關鍵字驅動怎么做的?
7、這套框架覆蓋了開發多少業務代碼,怎么統計出來的?多少用例,跑一次多長時間?
8、白盒測試和黑盒測試的區別
9、白盒測試有哪些測試方法
二、回答不好的地方
1.美團一面
1.正向代理和反向代理區別?Nginx 了解嗎?負載均衡算法
答:Nginx 是一款自由的、開源的、高性能的 HTTP 服務器和反向代理服務器;同時也是一個 IMAP、POP3、SMTP 代理服務器;Nginx 可以作為一個 HTTP 服務器進行網站的發布處理,另外 Nginx 可以作為反向代理進行負載均衡的實現。
正向代理:服務器位于客戶端和服務器之間,為了從服務器獲取數據,客戶端要向代理服務器發送一個請求,并指定目標服務器,代理服務器將目標服務器返回的數據轉交給客戶端。這里客戶端需要要進行一些正向代理的設置的。舉例:***,正向代理中被代理的是客戶端的請求
反向代理:客戶端對代理是無感知的,客戶端不需要任何配置就可以訪問,客戶端將請求發送到反向代理服務器,由反向代理服務器去選擇目標服務器獲取數據后,在返回給客戶端,此時反向代理服務器和目標服務器對外就是一個服務器,暴露的是代理服務器地址,隱藏了真實服務器 IP 地址。
2.緩存雪崩
緩存雪崩是指在我們設置緩存時采用了相同的過期時間,導致緩存在某一時刻同時失效,請求全部轉發到DB,DB瞬時壓力過重雪崩。
舉個簡單的例子:如果所有首頁的Key失效時間都是12小時,中午12點刷新的,我零點有個秒殺活動大量用戶涌入,假設當時每秒 6000 個請求,本來緩存在可以扛住每秒 5000 個請求,但是緩存當時所有的Key都失效了。此時 1 秒 6000 個請求全部落數據庫,數據庫必然扛不住,它會報一下警,真實情況可能DBA都沒反應過來就直接掛了。此時,如果沒用什么特別的方案來處理這個故障,DBA 很著急,重啟數據庫,但是數據庫立馬又被新的流量給打死了。這就是我理解的緩存雪崩
解決方法:
1.處理緩存雪崩簡單,在批量往Redis存數據的時候,把每個Key的失效時間都加個隨機值就好了,這樣可以保證數據不會在同一時間大面積失效
2.如果Redis是集群部署,將熱點數據均勻分布在不同的Redis庫中也能避免全部失效的問題
2.阿里一面
1.Tps 上不去什么原因,怎么排查?響應時間太長怎么分析?
答:通過各種監控技術如 prometheus 、skywalking 等 觀測系統瓶頸,基本上分為一下幾個方面 帶寬、連接池、硬件、垃圾回收機制、數據庫等方面去分析。
2.線程阻塞和死鎖問題怎么去定位分析,有什么現象?
答:在發生死鎖之后,程序卡住沒有任何反應,但程序仍在運行,因此需要借助一些命令來排查,用 JDK 自帶的命令 jstack -pid 去查看線程信息,jstack 很快就幫我們找到了死鎖的位置(在實際運行中,往往 dump 一次信息,還不足以確認問題,建議多 dump 幾次,如果每次 dump 都指向同一個問題,那么就可以確定是這個問題導致的線程死鎖)
3.內存泄露和內存溢出有什么區別?分別會有什么現象?怎么定位分析?
答:內存溢出(Out Of Memory):就是申請內存時,JVM 沒有足夠的內存空間。通俗說法就是去蹲坑發現坑位滿了。
內存泄露(Memory Leak):就是申請了內存,但是沒有釋放,導致內存空間浪費,通俗點就是占著那啥不那啥。
4.為什么使用 redis,redis 五種數據類型,如何測試 redis 的,項目中如何應用的?(后面查資料才找到滴)
答:基于內存查詢效率高,高并發情況下保護數據庫,string、hash、list、set、zset 五中數據類型,項目中主要用于請求 token 保存和失效,防重分布式鎖,冷數據(改動量小)保存,冪等性校驗等等。
5.邏輯題——A說:是B偷吃的,B說:是D偷吃的。C說;我沒有偷吃。D說:B在撒謊! 其中有一人說了真話,誰偷吃了蛋糕?
邏輯題一開始我選c,面試官問我在想一想確定不,我就不堅定,bab說了遍,還是太不堅定了,被面試嚇到了,太緊張了。
總結
首先,很感謝美團和阿里給我這個雙非本科生面試的機會,讓我認識到了自己的不足。其次,很感謝阿里面試官對我的建議——多思考,找準一個方向。
房子要一層一層蓋,知識要一點一點學。大家在學習過程中要好基礎,多上手實操,話不多說,這里狠狠上一次干貨!這是我熬夜整理好的各階段(功能、接口、自動化、性能、測開)技能學習資料+實操講解,非常適合私下里學習,比找資料自學高效多了,分享給你們。
敲字不易,如果此文章對你有幫助的話,點個贊收個藏來個關注,給作者一個鼓勵。也方便你下次能夠快速查找。
總結
以上是生活随笔為你收集整理的【软件测试】美团一面、阿里一面复盘总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .net 使用阿里云RocketMQ
- 下一篇: Regsvr32 dll OCX时报错,