大概問了項目
1.要求測試挪客在線面試的右邊視頻框
2.對問題三每個功能點做自動化測試
3.項目怎么測試?
4.主要使用黑盒測試和白盒測試進(jìn)行測試:
白盒測試部分:主要對代碼進(jìn)行單元測試和集成測試聪舒,測試每個功能模塊的編寫是否正確
黑盒測試部分:一些功能測試辨液,如表單的測試,根據(jù)需求箱残,對表單輸入不同的值滔迈,測試預(yù)期結(jié)果止吁;鏈接的測試;
非功能性測試:使用不同版本的瀏覽器打開當(dāng)前管理系統(tǒng)均可進(jìn)行登錄燎悍,終端只可在安卓設(shè)備敬惦,如平板,手機(jī)上進(jìn)行測試
5.web測試和app測試的例子
6.手寫快排间涵、多線程
7.軟件測試的方法(黑盒測試方法:等價類仁热,邊界值,錯誤推斷勾哩,決策表,窮舉)
舉例闡述軟件測試方法的使用(給定輸入框举哟,限定輸入字符串和數(shù)字不限制長度思劳,設(shè)計測試用例,使用等價類方法)
抽象類和接口的區(qū)別
8.正交試驗法妨猩,使用場景是什么
實際的項目中潜叛,輸入條件的因素很多,而且每個因素不能用“是”或“否”來回答壶硅,每個因素可能又有多個選項威兜,這樣測試組合會變得很多,而導(dǎo)致了極大的工作量庐椒,這時可以使用正交法椒舵。
9.簡述常用的Bug管理或者用例管理工具,并且描述其中一個工作流程
知道有bugzilla,bugfree等
http://www.docin.com/p-693585620.html
wiki做測試用例的管理
10.列舉出你熟悉的自動化工具,并說明其實現(xiàn)原理
soapui的介紹:http://p.primeton.com/articles/53c641c5e138232cbd000011
11.自動化測試的使用場景
項目開發(fā)周期較長约谈、測試較為頻繁笔宿、手工測試無法勝任、人力財力資源充足
12.公有繼承棱诱、保護(hù)集成泼橘、私有繼承然后分析下區(qū)別
13.索引的分類和原理這些。
索引分為聚簇索引和非聚簇索引,InnoDB使用B+樹實現(xiàn)聚簇索引迈勋,MyIsam使用非聚簇索引炬灭。
B+樹所有的信息都存在葉子節(jié)點中,B-樹所有信息存在每個節(jié)點中靡菇,可能在非葉子節(jié)點就返回一個結(jié)果重归。
http://www.imooc.com/article/17292
在10w個數(shù)據(jù)中找到最大的10%的數(shù)、
二叉樹上兩個點的最近公共父節(jié)點的求法镰官,然后還給了一張紙讓直接寫一下二分法進(jìn)行排序的代碼提前。
1.鏈表的定義
2.怎么實現(xiàn)鏈表翻轉(zhuǎn)
3.怎么判斷鏈表是否有環(huán)
4.二叉平衡樹,怎么用一維數(shù)組存儲
5.講講jvm分區(qū)
6.講講jvm gc
7.怎么求數(shù)組的最大子序列和
8.final關(guān)鍵字4種用法
用來修飾數(shù)據(jù)泳唠,包括成員變量和局部變量狈网,該變量只能被賦值一次且它的值無法被改變。對于成員變量來講,我們必須在聲明時或者構(gòu)造方法中對它賦值拓哺;
用來修飾方法參數(shù)勇垛,表示在變量的生存期中它的值不能被改變;
修飾方法士鸥,表示該方法無法被重寫闲孤;
修飾類,表示該類無法被繼承烤礁。
9.sleep用法
10.await關(guān)鍵字
11.線程池
12.spring ioc讼积,aop以及其優(yōu)點
13.棧和堆的定義
鏈表,判斷是否有環(huán)脚仔,反轉(zhuǎn)勤众、鏈表去重,合并鏈表鲤脏,樹们颜,二叉樹,平衡樹猎醇,遍歷窥突、堆和棧
排序,冒泡硫嘶,歸并阻问,穩(wěn)定性
final的四種情景
jvm
gc的Gengerational collector
Thread Pool
Spring
Servlet
1、簡歷上的項目是怎么來的音半?是興趣還是接的则拷?
2、項目里面用到了那些框架與技術(shù)曹鸠,簡述一下煌茬。都是自己做的么?
3彻桃、你常用的數(shù)據(jù)結(jié)構(gòu)有哪些坛善?
HaspMap\ArrayList
4、HashMap是如何實現(xiàn)的邻眷? 使用除留余數(shù)法和鏈地址法實現(xiàn)
5眠屎、進(jìn)程和線程的區(qū)別?
進(jìn)程是資源分配和調(diào)度的基本單位肆饶,一個進(jìn)程可以包含多個線程改衩,每個進(jìn)程有其私有的內(nèi)存和資源
線程是處理機(jī)調(diào)度的基本單位,可共享進(jìn)程的全部資源
6驯镊、如何實現(xiàn)線程同步葫督?
1竭鞍、介紹一下你認(rèn)為最突出的項目。
2橄镜、項目里用到的技術(shù)偎快,為什么用這個技術(shù)。
3洽胶、講述一下HTTP的原理
計算機(jī)通過網(wǎng)絡(luò)進(jìn)行通信的規(guī)則
4晒夹、HashMap是怎么實現(xiàn)的?
5姊氓、設(shè)置負(fù)載因子的目的是什么丐怯?
6、如何實現(xiàn)線程同步他膳?
7响逢、HashMap如何實現(xiàn)線程安全?
8棕孙、如何讓HashMap保證在多線程寫數(shù)據(jù)的同時,仍然可以被其他線程讀數(shù)據(jù)些膨?怎么做蟀俊?
9、最后一個代碼題:實現(xiàn)鏈表反轉(zhuǎn)订雾。
3.數(shù)據(jù)庫的索引分為哪幾種肢预,特點是什么。
4.算法:數(shù)組中找出最大的n個元素洼哎,怎么做烫映?
堆排序,小根堆
5.二叉樹:二叉樹鏡像反轉(zhuǎn)噩峦。
- List锭沟、HashTable、Dictionary用過嗎识补?
7.GC族淮,解釋原理。
? 介紹ConcurrentHashMap實現(xiàn)原理 安全高效的Map
? ConcurrentHashMap和LinkedHashMap差異和適用情形
LinkedHashMap 會將put進(jìn)去的key value 按照次序進(jìn)行遍歷凭涂。
? 如果讓你自己實現(xiàn)一個orm框架會如何實現(xiàn)
? 說一說了解的鎖(主要介紹可重入鎖
ReentrantLock)
? mysql數(shù)據(jù)庫索引及底層實現(xiàn)(B+樹)及使用索引的優(yōu)缺點
? 說一說對jvm內(nèi)存模型的了解(扯了一點GC)
? equals和hashcode的區(qū)別
? 說一說快速排序
? 各種排序算法的時間復(fù)雜度和空間復(fù)雜度
? 算法講思路:兩個有序數(shù)組合并并且找出第k小的數(shù)字
? 算法講思路:二叉樹的層序遍歷(借助輔助隊列完成祝辣,牛客網(wǎng)原題)
? 算法講思路:Dijkstra(求最短路徑)
? 介紹常用的GC策略以及年輕代中為什么要分Eden切油、Survivor區(qū)蝙斜、年輕代為什么要使用復(fù)制-清除算法(因為大部分對象都是朝生夕死的)
? equals和hashcode的區(qū)別、hashcode的作用(二面真的是又問了一遍)
? 數(shù)據(jù)庫索引澎胡,MyISAM孕荠、InnoDB的區(qū)別(一個B+樹葉子節(jié)點存的地址娩鹉,一個是直接存的數(shù)據(jù))
? 進(jìn)程與線程的區(qū)別,多線程有可能會造成的問題(占用內(nèi)存岛琼,資源競爭產(chǎn)生死鎖啊之類的)
? java基本類型與引用類型的區(qū)別
? 類中定義static和非static底循,有什么區(qū)別,static要注意什么
? 新生代槐瑞、老年代是怎么定義和分配的
? 堆排序的過程
? 100GB的數(shù)據(jù)在4GB內(nèi)存中排序 使用外排序熙涤,歸并排序