生活随笔
收集整理的這篇文章主要介紹了
学姐面了美团阿里京东的面经
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
很真實的經(jīng)歷,美團阿里京東全都嘗試過。希望對你們都有幫助
近一個多月 斷斷續(xù)續(xù)參加了一些校園秋季招聘,仍未上岸。
記錄近段時間的反思共享。
(時間順序)
【美團基礎(chǔ)研發(fā)部門-測試開發(fā)崗(功能測試,測試平臺研發(fā),白盒測試等)】第一次面試
自我介紹介紹實習工作印象最深刻的線上問題以及解決方案StringBuffer和StringBuilder的區(qū)別Java悲觀鎖Synchronized和lockhttp和tcp區(qū)別http請求有哪些Linux查看日志信息,查內(nèi)存算法->整型有序數(shù)組,只有一個已知的有重復單元,找到第一次出現(xiàn)的下標(思路:二分查找)數(shù)據(jù)庫->表(id,姓名,借閱書籍,借閱時間)查找確定7天的借閱記錄,按id排序。
[反思:
大大方方的自我介紹,來自哪里,叫什么,學校&專業(yè),校內(nèi)測試實踐,實習工作(無則空);這些經(jīng)歷讓我對測試工作和技能有了更多了解并認識到了自己的不足和提高方向,如果有機會加入該團隊會提前了解工作內(nèi)容和需要,并做好準備。由上引出關(guān)于實習的問題(或校內(nèi)實踐)。此介紹個人實習->功能測試為主,校內(nèi)學習的自動化框架和測試工具輔助測試。回答此問題時介紹了測試的業(yè)務(wù)系統(tǒng)以及服務(wù)對象,提到了要根據(jù)不同的測試場景選用對應方法,同時除了熟悉業(yè)務(wù)的黑盒邏輯還要多多了解業(yè)務(wù)的代碼邏輯。由上引出一個線上問題(即bug)怎么排查解決。①嘗試復現(xiàn)②關(guān)注數(shù)據(jù)流的各個階段,前端交互,http請求接口,后臺java api接口,數(shù)據(jù)庫③梳理代碼邏輯和數(shù)據(jù)來源(來自sql數(shù)據(jù)庫還是mongo或redis緩存,還是通過多個數(shù)據(jù)庫的拼湊數(shù)據(jù))串聯(lián)知識點StringBuffer&StringBuilder區(qū)別,除了各自應用場景一定會說到線程安全,引出保證安全的鎖機制。Linux查看日志的過程
cd 指定目錄(一般最后一級為logs)
ls 此命令會顯示出這個路徑下的各個日志文件
cat 文件名(靜態(tài)查看文件內(nèi)容)
tail –f 文件名(動態(tài)查看日志)
??????? 【在面試官讓列舉知道的Linux命令時不妨以此場景說出多個命令】
]
【阿里菜鳥部門-測試開發(fā)崗(功能測試 黑盒&白盒 數(shù)據(jù)分析等)】電話第一次面試
自我介紹。與上答的一樣。實習工作。與上答的一樣。實習時接觸的系統(tǒng)或工作有什么不好的地方嗎?怎么改進。感覺跑偏了答的系統(tǒng)架構(gòu),前后端分離什么的,完全不會 其知識點也不屬于自己的能力范圍;反思認為,應該說自己應該從多方面熟悉業(yè)務(wù)系統(tǒng)(黑盒 白盒邏輯等)同時提高測試的工作效率,測試也作為敏捷開發(fā)周期的一部分其效率也影響到整個項目的進度。看過什么源碼嗎。?????? ……最近看什么書嗎。?????? ……反問環(huán)節(jié) 系統(tǒng)優(yōu)化那個問題我該怎么答。
面試官:具體我也不清楚,但我想知道你自己去了解的東西以及去思考的東西,而不是聽別人說的。
我沒有什么開發(fā)經(jīng)驗,了解的到測試與測試開發(fā)的區(qū)別是測試開發(fā)會開發(fā)一些測試工具并以白盒測試為主?是嗎,還是有什么區(qū)別呢?
面試官(反問):我看到你簡歷上寫的完成過一些UI和http接口的測試框架,為什么說自己沒有開發(fā)經(jīng)驗呢?其實測試開發(fā)與測試都是要結(jié)合具體的業(yè)務(wù)場景的,而測試開發(fā)更注重于什么測試場景選用什么測試框架的工具,有時候也會自己mock&stub接口來進行測試的。
[反思:
其實上面也寫出一些反思了,阿里的這一面雖然涼的明顯但給了我極大的啟發(fā)和自信。我一般在面試時總會找機會提一下自己沒有實際的開發(fā)經(jīng)驗,但其實所謂“開發(fā)”并沒有多么高大、遠不可及;軟件開發(fā)時也是利用程序去梳理業(yè)務(wù)邏輯,關(guān)注消息的同步,數(shù)據(jù)的增刪改查,關(guān)注內(nèi)存的使用,CPU的利用效率,利用接口鏈接與前端交互等等。這些都是基礎(chǔ)知識的應用實踐,測試也需要具備開發(fā)技能,但我們的開發(fā)技能會更多關(guān)注測試的框架和技術(shù)。這兩者是互通的。
而源碼的學習又會帶來什么呢?能幫我們?nèi)ダ斫釰VM內(nèi)存的管理和調(diào)度,那些學習的理論也正是源代碼的體現(xiàn)。
而由原來李老師給我們看的美團lego接口測試平臺發(fā)現(xiàn)了美團的技術(shù)交流網(wǎng)站
tech.meituan.com
里面有篇文章寫道,程序員在復現(xiàn)BUG時發(fā)現(xiàn)問題代碼沒有日志,想加上日志再復現(xiàn)卻擔心重新啟動會破壞線程池等因素。而如果深入了解源碼便可以解決此困難,文章介紹了阿里團隊研發(fā)的開源框架用于解決上述問題。
?
秋招面臨的對手來自很多很多優(yōu)秀的大學,他們比我們起點高且優(yōu)秀的原因時人家曾比我們效率高,反思的更快,跑的更遠。而當我們一起去試水秋招一起競爭的時候我們也并非毫無優(yōu)勢,很多崗位其實我們的能力也絕對能夠勝任,這20年我們也經(jīng)歷過很多有益的事,也學過見過足夠的世面,我們需要反思、需要思考如何把自己有的東西更好的表達出來。讓面試官聽到 我們對已有知識的深刻反思以及能夠打動他們的事。
]
?
【美團基礎(chǔ)研發(fā)部門-測試開發(fā)崗(功能測試,測試平臺研發(fā),白盒測試等)】第二次面試
介紹實習工作 (負責的四個系統(tǒng)及業(yè)務(wù),給誰使用;根據(jù)不同的測試需求采取不同的測試方法[手工?自動化?框架輔助等])怎么看待測試工作(研發(fā)負責實現(xiàn)抽象的業(yè)務(wù)功能;產(chǎn)品負責梳理需求做出需求文檔;測試介于兩者之間即需要關(guān)注代碼邏輯和黑盒的業(yè)務(wù)功能 正向反向的去設(shè)計測試驗證,同時也需要關(guān)注產(chǎn)品的業(yè)務(wù)容錯率。同時應當結(jié)合所在團隊的應用框架、組件技術(shù)等設(shè)計相應的測試。如:前端Vue技術(shù)的雙向綁定特性能夠讓表單輸入通過Js代碼利用”formdata.Name=”填寫;由于實習所在團隊沒實現(xiàn)前后端分離而又由于前端頁面相對固定,研發(fā)系統(tǒng)實現(xiàn)前端代碼的封裝應用Json串來操作Java代碼實現(xiàn)配置。由此反思,對所測系統(tǒng)的代碼邏輯,應用技術(shù)深入理解會對測試工作有利。)怎么理解測試和測試開發(fā)(認為兩者都需要具備代碼能力,但認為除了業(yè)務(wù)測試外測試平臺的開發(fā)是由測試開發(fā)崗的人做的)。面試官:測試開發(fā)是由測試成長起來的,從業(yè)務(wù)測試入手,能在不同的測試場景應用相應的測試框架和方法。同時測試開發(fā)需要還需要具備一定的產(chǎn)品思維,對產(chǎn)品需求提出建議。實習的測試團隊有什么不太好的地方嗎(研發(fā)承擔了過多壓力,實習的測試流程為需求文檔交付測試和開發(fā),測試設(shè)計用例并熟悉業(yè)務(wù),研發(fā)投入漫長的開發(fā),待開發(fā)完成后介入測試。認為測試需要提前介入,除了了解黑盒業(yè)務(wù)外在開發(fā)過程中提前了解改造的接口和代碼邏輯,梳理開發(fā)的上下游依賴并判斷測試時是否需要提前做依賴的mock以及mock部分的回歸驗證,應實時了解研發(fā)的進度、困難點和暫不處理的地方這些地方會對應到bug的掛起等相應狀態(tài)。?????? 同時在此討論測試人員的代碼權(quán)限以及bug的定位問題<->測出bug研發(fā)不改的問題 ?bug不改是指bug確認為需要處理的bug但研發(fā)不予處理。此有兩種可能①需求更改沒同步給測試人員bug無效②bug優(yōu)先級低且研發(fā)認為不影響主要功能,其根本原因是bug在上線截止日期前改不完且bug的修復代價很大,這時如果測試人員能協(xié)助定位到每個bug的更多信息,或者提供一定程度上的bug解決方向,便會使研發(fā)修復問題的效率提高。實現(xiàn)這點需要測試人員更多的了解、理解開發(fā)人員的工作,去分擔研發(fā)的壓力)。學校學的測試和實際的測試工作有什么不同?(沒有不同,只是實際的測試與自己之前對測試的理解有不同。校內(nèi)實訓的測試業(yè)務(wù)場景和邏輯比較簡單,以保證自動化等測試技術(shù)的實踐;而實際的測試業(yè)務(wù)十分復雜,不會很容易的把一個有價值的模塊單獨提煉出來設(shè)計自動化測試,但測試工作需要嘗試應用一些自動化技術(shù)來起到輔助的作用,還有資深業(yè)務(wù)測試人員會把許多歷史遺留問題及時記錄并及時在新的業(yè)務(wù)開發(fā)后驗證該問題是否升級,還會根據(jù)不同的業(yè)務(wù)場景帶入不同的用戶角色來設(shè)計測試,這些也都是有理論支撐的[探索測試],如果我工作及時反思并與所學的知識結(jié)合起來 會 讓自己更快的成長。)代碼題:給定兩個字母組成的字符串,去除第一個字符串中含有的第二個字符串的字母,并將結(jié)果按字母字典序輸出。(思路利用set集合給第二個字符串去重,兩個遍歷,結(jié)果再用排序算法)測試代碼Java8個基本類型說出Java5個異常反問:由于之前發(fā)現(xiàn)了tech.meituan.com問了面試官美團Quake全鏈路壓測平臺的一些問題。
[反思:
????????????? 還是前面那句話,我們很多經(jīng)歷過的東西都值得思考和總結(jié)——實訓的測試框架每個模塊都有很多值得深入學習探索的價值(數(shù)據(jù)驅(qū)動怎么結(jié)合業(yè)務(wù)場景應用?監(jiān)聽器有很多種類型可以實現(xiàn)用例的調(diào)度和選擇執(zhí)行等),實習的再平常再機械的工作也有很多哲理值得總結(jié)(很多迭代里沒修復的問題根據(jù)什么理論知識記錄的?怎么與產(chǎn)品研發(fā)溝通?測試數(shù)據(jù)的協(xié)調(diào)等)。
????????????? 同時這些反思要怎么謙虛且流暢的表達給面試官
]
【京東云產(chǎn)品研發(fā)部門-測試開發(fā)工程師(無界面的后臺接口測試 對應 數(shù)據(jù)庫的增刪改查)】-初試
自我介紹實習工作Bug生命周期生命周期“掛起”狀態(tài)誰來處理
【京東云產(chǎn)品研發(fā)部門-測試開發(fā)工程師(無界面的后臺接口測試 對應 數(shù)據(jù)庫的增刪改查)】-復試
數(shù)據(jù)庫:A表(id),B表(id)查兩個表共有的id->連接查詢&子查詢一個web界面只有一個按鈕,點擊按鈕后,http請求返回200,但界面出現(xiàn)error彈窗,怎么排查是前或后端的問題。(可能前端沒有正確的封裝后臺需要類型的參數(shù);也可能是后臺捕獲的代碼異常處理時返回了200。斷定問題需要查看程序日志并關(guān)注上述的代碼邏輯和運行情況)后臺的一系列接口,對應到數(shù)據(jù)庫的增刪改查邏輯,怎么測試?判斷測試的兩個系統(tǒng)是否屬于一個網(wǎng)絡(luò)Switch語句和if else語句的區(qū)別介紹Java集合set,list,map一個頁面六個輸入框怎么測試Linux grep命令使用
[反思:
????????????? 被我忽視的兩次面試,由研發(fā)組長和系統(tǒng)架構(gòu)作為面試官,在我回答測試相關(guān)的問題時并沒有足夠的耐心聽。但有時候我們需要適應不同的面試官和面試場景,此時應提煉簡化自己的回答。
]
【美團基礎(chǔ)研發(fā)部門-測試開發(fā)崗(功能測試,測試平臺研發(fā),白盒測試等)】第三次面試(終)
介紹一個自己遇到的最具有挑戰(zhàn)的問題這個問題設(shè)計的業(yè)務(wù)場景能否用UML圖畫出來21層樓6臺電梯設(shè)計一個電梯調(diào)度程序?qū)崿F(xiàn)電梯的調(diào)度使用,考慮多個場景。抽象出類和具體的屬性方法快排的思想,時間復雜度,這個時間復雜度怎么算的,如何計算時間復雜度HashMap查找的時間復雜度,如何查找的Java集合有哪些?set和list區(qū)別?
[反思:
?????? ?……
]
最終倒在了京東云和美團的最后一次面試上,這是一段極其折磨人的經(jīng)歷。
試水秋招期間
記不清這次準備是第幾次回顧:
三次握手,四次揮手;tcp/ip tcp udp http ip https,http請求方法,post&get區(qū)別;osi七層協(xié)議(以及為什么常問七層協(xié)議)及各層之間的作用;url解析過程;長連接&短鏈接;死鎖條件;擁塞控制;流量控制
??????
終于進一步搞清了:
JVM垃圾回收機制和分代回收算法;hashmap hashtable concurrentHashMap的區(qū)別以及jdk1.7 1.8concurrentHashMap的線程機制變化;線程同步的方法以及方法的原理(樂觀鎖,悲觀鎖,volatile關(guān)鍵字);線程的狀態(tài)和線程池調(diào)度以及創(chuàng)建線程的過程。
Sql的索引、兩種引擎
?
吸取實習面試經(jīng)驗:
????????????? 刷了一些leetcode易中題型,幾種經(jīng)典算法題如:約瑟夫環(huán),topK(堆排序)等
最終反思:
面試的幾輪難度和層次是遞進的,如果一次面試后發(fā)現(xiàn)自己的所有能力點都被挖掘要及時警惕及時反思,為下一次面試做足準備要把理論與實際要面臨的工作結(jié)合,有助于分清楚知識點的主次許多知識點和考點也是需要迭代學習的,每次學習會有新發(fā)現(xiàn),會更接近與實際的應用,而把知識點掌握到能夠應用到實際->我認為是修煉的終點知識點是有限的,但對知識點的挖掘是無限的,但會有終點的。秋招不易,考研也不易,祝福大家堅持到底。也祝上岸的同學一切順利。總還是會有一些運氣成分和一些無法改變的東西影在響最終的結(jié)果,把握好自己能把握的,最終會上岸的。以上純屬個人見解,修行不夠,繼續(xù)努力。
?
總結(jié)
以上是生活随笔為你收集整理的学姐面了美团阿里京东的面经的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。