阿里-測試開發(fā)面經(jīng)(十三)
點(diǎn)擊藍(lán)字關(guān)注我們,獲取更多面經(jīng)



一臺電梯:
1、功能測試:
(1)按鈕功能,開門(運(yùn)行中按開門鍵不開門),關(guān)門,電梯內(nèi)按鈕功能(電梯按鍵在按下時(shí)是否點(diǎn)亮,按錯(cuò)樓層是否可以取消);
(2)上升,下降(每一層申請是否有效,是否可以正常??浚?,超載時(shí)是否會忽略其它樓層的上行和下行申請,電梯的兩邊按鈕是否都可以使用;
(3) 電梯內(nèi)電話、燈光等
2、性能測試:反應(yīng)時(shí)間、關(guān)門時(shí)間、速度(是否造成人體不適)
3、壓力測試:超載,碰撞電梯壁
4、安全測試:
(1)進(jìn)入電梯喊話,外面是否聽到,撥打手機(jī)是否有信號;
(2)停電(不會墜落。電梯門可以通過外力打開,緊急電話可用),報(bào)警裝置(超載),通風(fēng)狀況;
(3) ??课恢?,有人扒門(不會強(qiáng)制關(guān)門),若有異物阻礙,會停在當(dāng)前樓層;
(4) 監(jiān)控裝置
5、UI測試:標(biāo)識的承重和人數(shù),僅提供可到達(dá)樓層的按鈕,美觀程度,光滑程度、形狀
6、可用性:按鍵高度、操作是否方便
7、穩(wěn)定性:長時(shí)間運(yùn)行情況,
兩臺電梯聯(lián)動:
除上述功能外,與另外一部電梯是否協(xié)作良好(一部電梯故障不影響另一部):
(1)2部均空閑時(shí),采取就近原則
(2)有一部運(yùn)行時(shí),以同行方向且順路電梯優(yōu)先運(yùn)行,否則安排空閑電梯
(3) 2部均運(yùn)行時(shí),以方向同行且順路的優(yōu)先運(yùn)行
(4) 電梯在上行或下行時(shí)若滿載,遇到有人等待電梯,是否???/span>
例如,(2)電梯本來在一樓,若有人按18樓,上到5樓時(shí),有人按10樓,是否會在10層停下


棧、隊(duì)列是一種特殊(操作受限)的線性表
區(qū)別:
僅在于運(yùn)算規(guī)則不同,鏈表和數(shù)組是常用的兩種數(shù)據(jù)存儲結(jié)構(gòu),都能用來保存特定類型的數(shù)據(jù)。兩者存在著一些差異:
占用的內(nèi)存空間
鏈表存放的內(nèi)存空間可以是連續(xù)的,也可以是不連續(xù)的,數(shù)組則是連續(xù)的一段內(nèi)存空間。一般情況下存放相同多的數(shù)據(jù)數(shù)組占用較小的內(nèi)存,而鏈表還需要存放其前驅(qū)和后繼的空間。
長度的可變性
鏈表的長度是按實(shí)際需要可以伸縮的,而數(shù)組的長度是在定義時(shí)要給定的,如果存放的數(shù)據(jù)個(gè)數(shù)超過了數(shù)組的初始大小,則會出現(xiàn)溢出現(xiàn)象。
對數(shù)據(jù)的訪問
鏈表方便數(shù)據(jù)的移動而訪問數(shù)據(jù)比較麻煩;數(shù)組訪問數(shù)據(jù)很快捷而移動數(shù)據(jù)比較麻煩
鏈表和數(shù)組的差異決定了它們的不同使用場景,如果需要很多對數(shù)據(jù)的訪問,則適合使用數(shù)組;如果需要對數(shù)據(jù)進(jìn)行很多移位操作,則設(shè)和使用鏈表。
鏈表
邏輯結(jié)構(gòu):一對一
存儲結(jié)構(gòu):順序表、鏈表
運(yùn)算規(guī)則:隨機(jī)、順序存取
棧
邏輯結(jié)構(gòu):一對一
存儲結(jié)構(gòu):順序棧、鏈棧
運(yùn)算規(guī)則:后進(jìn)先出
隊(duì)列
邏輯結(jié)構(gòu):一對一
存儲結(jié)構(gòu):順序隊(duì)、鏈隊(duì)
運(yùn)算規(guī)則:先進(jìn)先出


問題描述
假設(shè)你有一個(gè)數(shù)組,其中第i 個(gè)元素是第i天給定股票的價(jià)格。設(shè)計(jì)算法以找到最大利潤。你可以根據(jù)需要完成盡可能多的交易(即,多次買入并賣出一股股票)。
注意:您不能同時(shí)進(jìn)行多筆交易(即,您必須在再次購買之前賣出股票)
貪心算法
什么是貪心算法?
顧名思義,貪心算法總是做出在當(dāng)前看來是最好的選擇。也就是說,貪心算法并不從整體最優(yōu)上加以考慮,所做的選擇只是在某種意義上的局部最優(yōu)解。當(dāng)然,我們希望貪心算法得到的最終結(jié)果也是整體最優(yōu)的。
貪心算法的性質(zhì)
所求問題的整體最優(yōu)解可以通過一系列局部最優(yōu)解的選擇,即貪心選擇來達(dá)到。
問題分析
假如給定以下一組股票價(jià)格:2,8,1,6,3,9。
判斷第一天是否買入,可以看第二天股票價(jià)格是否高于第一天的買入價(jià)格,若高,則買入并第二天賣出,否則不買。

可知獲得的最大利潤為17。
代碼實(shí)現(xiàn)
以下為完整代碼:
using namespace std;int MaxProfit(vector<int>&profit,int n){int max=0;for (int i=0;i<n-1;i++)if (profit[i]<profit[i + 1]) //每兩天相比較判斷是否買入賣出max+=profit[i+1]-profit[i];return max;}int main(){int n;scanf("%d",&n);vector<int> nums; //定義向量用來存儲股票價(jià)格int x;for(int i=0;i<n;i++){scanf("%d",&x);nums.push_back(x);}int a=MaxProfit(nums,n);cout<<"獲得的最大利潤為:";cout<<a<<endl;return 0;}


1、連接方面區(qū)別
TCP面向連接(如打電話要先撥號建立連接)。
UDP是無連接的,即發(fā)送數(shù)據(jù)之前不需要建立連接。
2、安全方面的區(qū)別
TCP提供可靠的服務(wù),通過TCP連接傳送的數(shù)據(jù),無差錯(cuò),不丟失,不重復(fù),且按序到達(dá)。
UDP盡最大努力交付,即不保證可靠交付。
3、傳輸效率的區(qū)別
TCP傳輸效率相對較低。
UDP傳輸效率高,適用于對高速傳輸和實(shí)時(shí)性有較高的通信或廣播通信。
4、連接對象數(shù)量的區(qū)別
TCP連接只能是點(diǎn)到點(diǎn)、一對一的。
UDP支持一對一,一對多,多對一和多對多的交互通信。


軟鏈接: 類似于windows的快捷方式,—>文本文件,但是包含了真實(shí)文件的地址
源文件刪除,則軟連接也刪除
軟鏈接可以放在任何文件系統(tǒng)
目錄可以創(chuàng)建軟連接 --> 和源文件不同的文件,因?yàn)檐涍B接目錄可以放在任何地方
命令:[root@localhost omc]# ln -s ftl/ ftl.soft (第一個(gè)參數(shù)表示源文件,inittab.soft表示快捷方式)
查看:[root@localhost omc]# readlink ftl.soft (目標(biāo)文件不能事先存在,需要ln命令創(chuàng)建)
刪除軟連接::[root@localhost omc]# rm -f oldboy_soft_link<br><br>
硬鏈接:硬鏈接(Inode一致)與真實(shí)文件的大小和創(chuàng)建日期完全相同(相同inode號),類似于copy,同步更新。
通過inode索引鏈接,硬鏈接多個(gè)文件名指向同一個(gè)索引,相當(dāng)于文件的入口,硬鏈接一個(gè)文件有多個(gè)入口,相當(dāng)于文件備份
原理:通過命令ls –i ,發(fā)現(xiàn)硬鏈接文件和源文件的i結(jié)點(diǎn)數(shù)字相同,而內(nèi)核是根據(jù)文件的i結(jié)點(diǎn)來標(biāo)識文件的,這兩個(gè)文件的i結(jié)點(diǎn)相同,所有被認(rèn)為是一個(gè)文件,所有同時(shí)寫入和修改數(shù)據(jù)。
硬鏈接不能跨文件系統(tǒng),即不能跨分區(qū),類似于windows內(nèi)不能將C盤的硬鏈接放在D盤。
與拷貝區(qū)別:拷貝與真實(shí)文件的創(chuàng)建日期不同
硬鏈接屬于復(fù)制,源文件刪除不影響硬鏈接
當(dāng)所有的硬鏈接和源文件被刪除之后,再放入新的數(shù)據(jù)占用此空間、磁盤檢測,刪除的數(shù)據(jù)會被回收
可以通過設(shè)置硬鏈接,防止文件被誤刪除
注意目錄不做硬鏈接
命令:ln /etc/inittab /test/inittab.hard
查看:ls -l /etc/inittab /test/inittab.hard
查看所有文件的inode:find / -type f | xargs ls -lhi | more
文件鏈接
文件鏈接的小結(jié):
-1.ln 默認(rèn)不帶參數(shù)到的情況下,創(chuàng)建硬鏈接, -s 表示創(chuàng)建軟連接
0.軟連接可以通過readlink 查看其指向
1.刪除軟連接對原文件和硬鏈接文件無影響
2.刪除硬鏈接對源文件和軟連接文件無影響
3.刪除原文件,對硬鏈接沒影響,但是會導(dǎo)致軟連接失效
4.同時(shí)刪除源文件,硬鏈接,會導(dǎo)致整個(gè)文件被刪除(沒有后臺進(jìn)程調(diào)用的話)
5.硬件設(shè)備的拍照功能就是應(yīng)用了硬鏈接的原理
6.硬鏈接和源文件有相同的inode,可以認(rèn)為是同一個(gè)文件或者是同一個(gè)文件的多個(gè)入口
7.同時(shí)刪除硬鏈接以及源文件,整個(gè)文件才會被刪除
8.軟連接和源文件有不同的inode,是因?yàn)閯?chuàng)建了2個(gè)不同的文件,相當(dāng)于快捷方式,還有源文件的位置指向
9.軟連接是一個(gè)新文件,里面記錄了原文件的路徑,軟連接的名稱必須由ln創(chuàng)建,不能事先存在
更多面經(jīng)
掃描二維碼
獲取更多面經(jīng)
扶搖就業(yè)
