1穴翩、網(wǎng)絡TCP/IP協(xié)議
2、三層路由架構锦积,搭建局域網(wǎng)
3蕉饼、自動化測試工具robotframework的使用员咽,怎么管理測試腳本
4乌询、shell腳本可用過肪虎?怎么替換一個文本中指定的內(nèi)容?
5哮幢、python的多線程怎么使用的带膀?正則表達式中serach和match的區(qū)別?
6橙垢、性能測試工具垛叨,怎么設計性能測試?
7柜某、代碼靜掃問題有哪些分類嗽元?
學姐、學長總結(jié)的面試題??感謝學姐(針對質(zhì)量部測試開發(fā))
1.幾種常見算法看下喂击,能夠大概描述出來算法的過程剂癌,復雜度(排序、查找等)
2.給你設定幾種場景翰绊,讓你解答:比如給你兩部手機珍手,讓你站在一百層樓高的地方,假設在第n層手機摔下就會摔破辞做,問你怎樣用著兩部手機確定這個臨界層琳要。
(場景測試-百度質(zhì)量部)
3.怎樣知道一個鏈表里是否有環(huán)的存在,以及確定環(huán)的位置??如何確定兩個鏈表是否有相同的部分
4.網(wǎng)絡一些知識秤茅,比如http幾次握手的情況稚补,ack等包,結(jié)束是否只能由服務器段先斷開之類的框喳。網(wǎng)絡幾層课幕,常見網(wǎng)絡設備屬于哪層?
在TCP/IP協(xié)議中五垮,TCP協(xié)議提供可靠的連接服務乍惊,采用三次握手建立一個連接。
第一次握手:建立連接時放仗,客戶端發(fā)送syn包(syn=j)到服務器润绎,并進入SYN_SEND狀態(tài),等待服務器確認诞挨;
第二次握手:服務器收到syn包莉撇,必須確認客戶的SYN(ack=j+1),同時自己也發(fā)送一個SYN包(syn=k)惶傻,即SYN+ACK包棍郎,此時服務器進入SYN_RECV狀態(tài);
第三次握手:客戶端收到服務器的SYN+ACK包银室,向服務器發(fā)送確認包ACK(ack=k+1)涂佃,此包發(fā)送完畢,客戶端和服務器進入ESTABLISHED狀態(tài)蜈敢,完成三次握手辜荠。
5.測試幾種方法.
6.給定一個很大文件,內(nèi)存里放不下扶认,怎樣搜索里面是否有需要的關鍵字,從百度搜索內(nèi)容侨拦,描述一下大致的過程
7.?從網(wǎng)上找找百度質(zhì)量部面試面試題目
8.?C語言?內(nèi)存分配機制(堆棧區(qū)別,靜態(tài)存儲區(qū))???????
9.?數(shù)組指針和指針數(shù)組有什么區(qū)別?
10辐宾、海量搜索問題?找找海量搜索面試題看看
百度搜索關鍵字放在一個大文件里狱从,該文件在內(nèi)存里裝不下,用戶可以輸入關鍵字叠纹,在文件里查找關鍵字季研,看關鍵字是否在該文件里,給一個解決方案誉察。(用Hash方法)???????????
11与涡、搜索的原理?在百度頁面輸入關鍵字,得到搜索結(jié)果,解釋一下這個過程是什么樣的
12.深度搜索算法????????單鏈表?就地?反轉(zhuǎn)?
13.Linux常見的命令看看(必考)
14驼卖、TCP與UDP的區(qū)別
15氨肌、網(wǎng)絡設備
16、socket
1.對Linux內(nèi)核有一定的了解酌畜;??
2.熟悉數(shù)據(jù)庫的使用怎囚,
3.熟悉基本的網(wǎng)絡配置及路由器、交換機等網(wǎng)絡設備的配置桥胞;?
4.了解TCP/IP協(xié)議
5.測試流程??有幾種方式像什么白盒?黑盒???功能測試??性能測試?單元測試等等?
1.自我介紹啦?項目相關的
2.多準備?多看看常見面試題???
3.還有網(wǎng)上關于質(zhì)量部面試的題目???這些比較有針對性一些?
實際遇到的面試題
一面
首先要自我介紹
1恳守、進程與線程的區(qū)別?
一面第一個問題,自我介紹都沒介紹完說了我知道的一些贩虾,他都說沒答到點子上催烘,問到底要怎么答,面試的GG讓我自己上網(wǎng)搜答案缎罢。伊群。。
答:什么是進程(Process):普通的解釋就是屁使,進程是程序的一次執(zhí)行在岂,而什么是線程(Thread),線程可以理解為進程中的執(zhí)行的一段程序片段蛮寂。在一個多任務環(huán)境中下面的概念可以幫助我們理解兩者間的差別:
進程間是獨立的蔽午,這表現(xiàn)在內(nèi)存空間,上下文環(huán)境酬蹋;線程運行在進程空間內(nèi)及老。
一般來講(不使用特殊技術)進程是無法突破進程邊界存取其他進程內(nèi)的存儲空間;而線程由于處于進程空間內(nèi)范抓,所以同一進程所產(chǎn)生的線程共享同一內(nèi)存空間骄恶。
同一進程中的兩段代碼不能夠同時執(zhí)行,除非引入線程匕垫。
線程是屬于進程的僧鲁,當進程退出時該進程所產(chǎn)生的線程都會被強制退出并清除。
線程占用的資源要少于進程所占用的資源象泵。
進程和線程都可以有優(yōu)先級寞秃。
在線程系統(tǒng)中進程也是一個線程∨蓟荩可以將進程理解為一個程序的第一個線程
多線程同步方法
?1臨界區(qū):通過對多線程的串行化來訪問公共資源或一段代碼春寿,速度快,適合控制數(shù)據(jù)訪問忽孽。?
2互斥量:為協(xié)調(diào)共同對一個共享資源的單獨訪問而設計的绑改。?
3信號量:為控制一個具有有限數(shù)量用戶資源而設計谢床。?
4事件:用來通知線程有一些事件已發(fā)生,從而啟動后繼任務的開始厘线。
2识腿、標準模板庫STL用過的庫函數(shù)(一面)
3、做過的有關測試的項目皆的,沒有問很細覆履,測試用例是不是自己寫的,根據(jù)做的項目费薄,設計怎么測試自己的項目
4、靜態(tài)函數(shù)庫栖雾、動態(tài)函數(shù)庫?區(qū)別?自己做的項目是屬于動態(tài)的還是靜態(tài)的
5楞抡、Linux編程怎么樣(百度貌似基本上程序都跑在linux上,這個肯定要問到)
我直接答的linux常用命令還可以析藕,在linux環(huán)境下做過實驗召廷,內(nèi)核不了解
算法題
大部分是告訴他思路,面試官哥哥會把問題簡化账胧,再一點點啟發(fā)竞慢,一點點給問題加條件,要把自己思想解釋懂給他聽治泥,練練口才啊~還有準備好紙筆筹煮,一些代碼,不好憑空想象~
1居夹、在棧中败潦,找出最小值,給出push?pop?求最小值min函數(shù)(不破壞棧的原始的順序准脂、用最小的時間)
2劫扒、矩陣中?橫排?每行的數(shù)據(jù)是從小到大的,豎排?每一列也是從小到大?給出一個數(shù)用最快的時間查找一個數(shù)是否在矩陣中(空間復雜度)
3狸膏、括號匹配?{?【?(?看左右括號是否匹配?數(shù)學規(guī)則:{【(
1)不考慮數(shù)學規(guī)則
2)考慮數(shù)學規(guī)則
最后要把第三個?跟面試GG討論完解決的思路后沟饥,把這個代碼寫一下,發(fā)給他湾戳,限時近一個小時贤旷,可以用偽代碼,一開始說的院塞,寫代碼的時候不用掛電話遮晚,后來就是說了機房不能說話,就讓我把電話掛了~
二面
二面還是先自我介紹拦止,的第一個問題县遣,集合數(shù)的存儲模式糜颠,一聽就有點懵了,啥是集合數(shù)萧求?其兴?委婉的告訴她不知道什么是集合數(shù),她就說夸政,存儲模式有數(shù)組等元旬,我當時很亂,就把我自己理解的守问,所有在內(nèi)存中存儲模式的匀归,那些,數(shù)組耗帕、鏈表穆端、棧、堆仿便、常量區(qū)等等体啰,都答了,想想真2嗽仪。
之后圍繞之前做過的項目問的比較多荒勇,比較詳細,詳細到了一些功能的實現(xiàn)闻坚,遇到的問題沽翔,怎么解決的等等,根據(jù)項目問了數(shù)據(jù)庫的語句鲤氢,找出數(shù)據(jù)中最大的前十個搀擂,給忘了,就說了C++中的實現(xiàn)方法卷玉,還自己引申了一下哨颂,答了內(nèi)存中放的下的數(shù)據(jù)怎么處理、放不下怎么處理相种、找出最大的前十個怎么處理威恼,前一萬個怎么處理。寝并。箫措。
也是回答了一些測試的題,測試一個函數(shù)衬潦,設計測試用例斤蔓,函數(shù)功能:兩個已經(jīng)排好序的數(shù)組,合并成為一個有序數(shù)組镀岛。
做過的白盒測試?實驗?自動化測試?有沒有寫過腳本語言
問了?測試網(wǎng)絡是否連通ping命令
Linux我還是像一面那么答的弦牡,這回讓我列出了我自己熟悉的linux命令友驮,我就說了一些,她問了一個退出vim怎么退出驾锰,就回答了卸留,保存退出,不保存退出的命令等等椭豫。
還問了?編碼量最大的項目耻瑟,最近半年自學的東西,自學的途徑等等赏酥。
我每次最后都要面試我的人給我一些建議喳整,一是有些人給的建議很誠懇,像小米今缚,直接說基礎太差算柳,要我好好學習基礎;二是姓言,基本上可以知道還有沒有機會接著面了~直接問有沒有戲,別人不一定會說蔗蹋。
面小米遇到的面試題:
1何荚、c與c++分別是怎樣動態(tài)分配和釋放內(nèi)存的(小米)
2、存儲位置的區(qū)別?棧區(qū)猪杭、堆區(qū)餐塘、全局變量、代碼區(qū)(小米)
全局變量存儲在全局靜態(tài)存儲區(qū)皂吮,局部變量存在堆棧中
3戒傻、自己寫一串代碼實現(xiàn)atoi函數(shù)的功能,然后根據(jù)自己寫的代碼蜂筹,寫出測試用例需纳,再根據(jù)測試用例完善些的代碼(小米)
之前面小米的一個經(jīng)驗:不會的千萬不要說你會,我提了下C#艺挪,面試官直接問我C#跟C++的區(qū)別不翩,勉強說了一些,說著說著麻裳,說了一底層接口這個名詞口蝠,面試官又問我底層接口有哪些,我當時想死的心都有了津坑,于是妙蔗,自己不熟悉的,在他還沒具體細問問題的時候先告訴他會什么疆瑰,不會什么眉反,例如linux昙啄,我直接答的linux常用命令還可以,在linux環(huán)境下做過實驗禁漓,內(nèi)核不了解跟衅,就不會死很慘。
還有播歼,簡歷注意下伶跷,之前朋友簡歷上寫的?學過的課程中?有一個linux內(nèi)核?,這課確實是學了秘狞,百度的面試官問了一個問題?你比較熟悉哪一個linux內(nèi)核命令叭莫,我們來深入探討一下啊,這個就不好答了~