2021年奇虎360技術(shù)崗(程序員)面試題
小編:管理員 2068閱讀 2021.06.24
Class A;
Class B;
void F() {
????????A a;
????????B b;
}
??
在函數F中,本地變量a和b的構造函數(constructor)和析構函數(destructor)的調用順序是:
?????????
A? b構造 a構造 a析構 b析構
B? a構造 a析構 b構造 b析構
C? b構造 a構造 b析構 a析構
D? a構造 b構造 b析構 a析構
D?
按變量聲明順序構造對象,然后入棧
按相反順序出棧,析構對象。
?假定指針變量p定義為“int *p=new int(100);”,要釋放p所指向的動(dòng)態(tài)內存,應使用語(yǔ)句( )
?
A? delete p;
B? delete *p;
C? delete &p;
D? delete []p;
?A
?選擇填空:
#include
void test(void *data) {
????unsigned int value = (此處應填入)
????printf("%u", value);
}
using namespace std;
int main() {
????unsigned int value = 10;
????test(&value);
????return 0;
}
?
A? *data
B? (unsigned int)(*data)
C? (unsigned*)data
D? *((unsigned int *)data)
?D
解釋?zhuān)?
? void
?注意,參數類(lèi)型是void, ? ??所以先要進(jìn)行指針轉換:(unsigned ? ?int *)然后再取值。
?在C++, 下列哪一個(gè)可以做為對象繼承之間的轉換
????
A? static_cast
B? dynamic_cast
C? const_cast
D? reinterpret_cast
?B
dynamic_cast 動(dòng)態(tài)轉換
?如果進(jìn)棧序列為e1,e2,e3,e4,則不可能的出棧序列是( )
?????
A? e2,e4,e3,e1
B? e4,e3,e2,e1
C? e1,e2,e3,e4
D? e3,e1,e4,e2
?D
如果e3第一個(gè)出棧,拿下一個(gè)應該是e4或者e2,但絕不可能是e1
?若某二叉樹(shù)的前序遍歷訪(fǎng)問(wèn)順序是abdgcefh,中序遍歷訪(fǎng)問(wèn)順序是dgbaechf,則其后序遍歷的結點(diǎn)訪(fǎng)問(wèn)順序是( )
?
A? gdbehfca
B? hcdeabf
C? fdcehgba
D? gdbehcfa
?A
根據前序和中序序列畫(huà)出二叉樹(shù)的結構,寫(xiě)出其后序序列即可。
?用二分法查找長(cháng)度為10的、排好序的線(xiàn)性表,查找不成功時(shí),最多需要比較多少次?
??
A? 3
B? 4
C? 5
D? 6
?B
8<10<16,而log16=4
?以下程序是用輾轉相除法來(lái)計算兩個(gè)非負數之間的最大公約數:
long long gcd(long long x, long long y) {
????if (y == 0)
????????return x;
????else
????????return gcd(y, x % y);
}
??
我們假設x,y中最大的那個(gè)數的長(cháng)度為n,x>y,基本運算時(shí)間復雜度為O(1),那么該程序的時(shí)間復雜度為( )
?
A? O(1)
B? O(logy)
C? O(n)
D? O(x)
?求最大公約數的最常用的算法是歐幾里得算法,也稱(chēng)為輾轉相除法.
問(wèn)題定義為求i和j的最大公約數gcd(i,j),其中i和j是整數,不妨設i>j.
算法可以遞歸的表示:
1.如果j能整除i,那么gcd(i,j)=j;
2.j不能整除i,令r=i%j,那么gcd(i,j)=gcd(j,r).
使用C語(yǔ)言實(shí)現:
int gcd(int i, int j)
{
??? int r = i % j;
??? return r == 0 ? j : gcd(j, r);
}
正確性分析:
算法的步驟1,顯然成立(最大公約數定義).關(guān)鍵是要證明步驟2.
設d是i和j的最大公約數,
那么i=md,j=nd,m和n互質(zhì)(否則d不是最大公約數).
由r=i%j可以得到i=kj+r,k=?m/n?,k≥1(我們前面假設過(guò)i>j).
把i=md,j=nd代入得到
md=knd+r
那么
r=(m-kn)d
m-kn和m也是互質(zhì)的.
所以得到d是j和r的最大公約數.
時(shí)間復雜度分析:
逆著(zhù)看該算法,最后的余數是0,倒數第二次余數是d,倒數第三次是kd,k>1…
由于組成了一個(gè)數列,{0,d,kd,nkd+d,…}
數列的n項加上n+1項,比n+2項要小,所以比斐波納契數列增長(cháng)的要快.
我們已知斐波納契數列增長(cháng)速度是指數,那么待分析的數列也是指數增長(cháng).
設歐幾里得算法需要k次,那么j=O(2^k),則k=O(lg j).
所以歐幾里得算法求最大公約數的時(shí)間復雜度是對數量級的,速度非?.
?一棵有124個(gè)葉節點(diǎn)的完全二叉樹(shù),最多有( )個(gè)節點(diǎn)。
?
A? 247
B? 248
C? 249
D? 250
?B
n0 = n2 + 1,于是度為2的結點(diǎn)個(gè)數123個(gè)完全二叉樹(shù)中度為1結點(diǎn)個(gè)數最多1個(gè)因此該完全二叉樹(shù)中結點(diǎn)最多有123 ?+ 1 + 124 = 248個(gè)
?鏈表不具備的特點(diǎn)是( )
?
A? 可隨機訪(fǎng)問(wèn)任何一個(gè)元素
B? 插入、刪除操作不需要移動(dòng)元素
C? 無(wú)需事先估計存儲空間大小
D? 所需存儲空間與線(xiàn)性表長(cháng)度成正比
?A
不同于尋秩訪(fǎng)問(wèn)的數組,鏈表無(wú)法實(shí)現隨機訪(fǎng)問(wèn)任何一個(gè)元素O(1), 訪(fǎng)問(wèn)時(shí)需要遍歷鏈表直到訪(fǎng)問(wèn)到該元素。
?下列排序算法中,在待排序數據有序的情況下,花費時(shí)間最多的是( )
?
A? 快速排序
B? 希爾排序
C? 冒泡排序
D? 堆排序
?A
待排序數據有序就是快排的最差情況,此時(shí)的時(shí)間復雜度是O(n ? 2 ? )
?有 1000 個(gè)無(wú)序的整數,希望使用最快的方式找出前 50 個(gè)最大的,最佳的選擇是( )
A? 冒泡排序
B? 基數排序
C? 堆排序
D? 快速排序
?C
找出若干個(gè)數中最大/最小的前K個(gè)數,用堆排序是最好的
找最大數,用小根堆
找最小數,用大根堆
?下面哪個(gè)不是用來(lái)解決哈希表沖突的開(kāi)放地址法?
?
A? 線(xiàn)性探測法
B? 線(xiàn)性補償探測法
C? 拉鏈探測法
D? 隨機探測法
?C
拉鏈探測法,開(kāi)放定址法區分為線(xiàn)性探查法、線(xiàn)性補償探測法、隨機探測等。
?下列數最大的是( )。括號內為數字,括號外為進(jìn)制。
?
A? (10010101)2
B? (227)8
C? (96)16
D? (143)10
?B
?在CPU和內存之間增加cache的作用是( ?)
?????
A? 提高內存穩定性
B? 解決內存速度低于CPU的性能問(wèn)題
C? 增加內存容量
D? 增加內存容量且加快存取速度
?B
這是存儲器分層部分的內容,可以參考《深入理解計算機系統》
?假設整數0x12345678 存放在內存地址0x0開(kāi)始的連續四個(gè)字節中 (即地址0x0到 0x3). 那么在以L(fǎng)ittle Endian字節序存儲的memory中,地址0x3的地方存放的字節是:
A? 0x12
B? 0x34
C? 0x56
D? 0x78
?A
a) Little-Endian就是低位字節排放在內存的低地址端, ? 高位字節排放在內存的高地址端。
b) ?Big-Endian就是高位字節排放在內存的低地址端,低位字節排放在內存的高地址端。
c) ? 網(wǎng)絡(luò )字節序:TCP/IP各層協(xié)議將字節序定義為Big-Endian,因此TCP/IP協(xié)議中使用的字節序通常稱(chēng)之為網(wǎng)絡(luò )字節序。
如果是?Little-Endian:0x0-0x3內存分別存放的是:0x78、0x56、0x34、0x12; ? ? ??
如果是? ? ? ? Big-Endian ? ? :0x0-0x3內存分別存放的是:0x12、0x34、0x56、0x78; ? ? ?? ??
?將邏輯代碼:
if (x % 2) {
????return x - 1;
} else {
????return x;
}
??
用表達式:return x & -2; 替代,以下說(shuō)法中不正確的是( )
???
A? 計算機的補碼表示使得兩段代碼等價(jià)
B? 用第二段代碼執行起來(lái)會(huì )更快一些
C? 這段代碼只適用于x為正數的情況
D? 第一段代碼更適合閱讀
?
?C
?代碼生成階段的主要任務(wù)是( )
?????????
A? 把高級語(yǔ)言翻譯成匯編語(yǔ)言
B? 把高級語(yǔ)言翻譯成機器語(yǔ)言
C? 把中間代碼變換成依賴(lài)具體機器的目標代碼
D? 把匯編語(yǔ)言翻譯成機器語(yǔ)言
?C
編譯程序的工作過(guò)程一般劃分為五個(gè)階段:詞法分析、語(yǔ)法分析、語(yǔ)義分析與中間代碼產(chǎn)生、優(yōu)化、目標代碼生成。所以選C 。
?后綴式 ab+cd+/可用表達式( )來(lái)表示
?
A? a+b/c+d
B? (a+b)/c+d
C? a+b/(c+d)
D? (a+b)/(c+d)
?D
后綴表達式不包含括號,運算符放在兩個(gè)運算對象的后面,所有的計算按運算符出現的順序,嚴格從左向右進(jìn)行,不再考慮運算符的優(yōu)先規則。
?最后一個(gè)操作是'/',而且前面是一個(gè)+操作,后面沒(méi)有操作,可知/操作最后進(jìn)行,由此可得,另外兩個(gè)操作數是a+b和c+d,因此表達式為D (a+b)/(c+d)
?以下關(guān)于函數調用的說(shuō)法哪個(gè)是正確的?
??????
A? 傳值后對形參的修改會(huì )改變實(shí)參的值
B? 傳地址后實(shí)參和形參指向不同的對象
C? 傳引用后形參和實(shí)參是不同的對象
D? 以上都不對
?D
解釋?zhuān)簜鞯刂泛蛡饕,形參,?shí)參指向同一對象,修改形參會(huì )影響實(shí)參
傳值則相反,修改形參不會(huì )影響實(shí)參
?一個(gè)合法的 360 賬戶(hù)名稱(chēng)要求如下:是一個(gè)合法的郵箱地址,如 [email protected];郵箱前綴的長(cháng)度為 [ 4, 16 ] 個(gè)字符;郵箱前綴必須以字母開(kāi)頭,字母或數字結尾;郵箱前綴可以包括字母、數字、下劃線(xiàn)。請問(wèn)如下正則表達式中,哪一個(gè)能正確校驗用戶(hù)名的合法性:
?
A? \w[0-9a-zA-Z_]{3,15}\@\w+.([-.]\w+)*
B? [a-zA-Z]\w{3,15}@\w+.\w*
C? [a-zA-Z]\w{2,14}[0-9a-zA-Z]\@\w+([-.]\w+)*
D? [a-zA-Z]\w{2,14}[0-9a-zA-Z]@\w
?C
郵箱前綴必須以字母開(kāi)頭,字母或數字結尾 ? ?這句話(huà) 排除A
郵箱中肯定有“.” ? ? ,D中沒(méi)有 排除D
郵箱前綴可以包括字母、數字、下劃線(xiàn) ? ?,B中 沒(méi)有數字,排除B
所以答案是C
?詞法分析器用于識別( )
??
A? 句子
B? 句型
C? 單詞
D? 生產(chǎn)式
?C
思路:參見(jiàn)維基百科:http://zh.wikipedia.org/zh/%E8%AF%8D%E6%B3%95%E5%88%86%E6%9E%90
詞法分析器是將源文件識別為單詞,對單詞進(jìn)行分類(lèi)
?在下列說(shuō)法中,哪個(gè)是錯誤的( )
?
A? 若進(jìn)程A和進(jìn)程B在臨界段上互斥,那么當進(jìn)程A處于該臨界段時(shí),它不能被進(jìn)程B中斷
B? 虛擬存儲管理中采用對換(swapping)策略后,用戶(hù)進(jìn)程可使用的存儲空間似乎增加了
C? 虛擬存儲管理中的抖動(dòng)(thrashing)現象是指頁(yè)面置換(page replacement)時(shí)用于換頁(yè)的時(shí)間遠多于執行程序的時(shí)間
D? 進(jìn)程可以由程序、數據和進(jìn)程控制塊(PCB)描述
?C
c選項中:是請求分頁(yè)虛擬存儲管理。
當需要執行否條的指令或使用某個(gè)數據而發(fā)現他們不再內存中時(shí)候,會(huì )產(chǎn)生缺頁(yè)異常。
系統從磁盤(pán)中把此指令或數據所在的頁(yè)面裝入。缺頁(yè)異常是由硬件所產(chǎn)生的一種特殊終端信號,其中當中斷率較高時(shí),整個(gè)系統的頁(yè)面調度非常頻繁造成大部分時(shí)間都花費在來(lái)回調度上,而不是執行任務(wù),這種現象叫做“抖動(dòng)”!恫僮飨到y》
?操作系統采用分頁(yè)式存儲管理(PAGING)方法,要求( )
??
A? 每個(gè)進(jìn)程擁有一張頁(yè)表,且進(jìn)程的頁(yè)表駐留在內存中
B? 每個(gè)進(jìn)程擁有一張頁(yè)表,但只要執行進(jìn)程的頁(yè)表駐留在內存中,其他進(jìn)程的頁(yè)表不必駐留在內存中
C? 所有進(jìn)程共享一張頁(yè)表,以節約有限的內存空間,但頁(yè)表必須駐留在內存中
D? 所有進(jìn)程共享一張頁(yè)表,只有頁(yè)表中當前使用的頁(yè)面必須駐留在內存中,以最大限度地節約有限的內存空間
?B?
在內核中 所有進(jìn)程都是用一個(gè)頁(yè)目錄表,每個(gè)進(jìn)程都有自己的頁(yè)表?
?計算機操作系統出現死鎖的原因是什么?
???????
A? 資源數大大少于進(jìn)程數,或進(jìn)程同時(shí)申請的資源數大大超過(guò)資源總數
B? 有多個(gè)封鎖的進(jìn)程同時(shí)存在
C? 一個(gè)進(jìn)程進(jìn)入死循環(huán)
D? 若干進(jìn)程因競爭資源而無(wú)休止的等待著(zhù)其他進(jìn)程釋放已占有的資源
?D
死鎖的原因在于進(jìn)程在等待其它進(jìn)程占有的某些資源,而自身的資源又被其它進(jìn)程等待著(zhù),造成了死循環(huán)。
?進(jìn)程間通訊的方式中哪種的訪(fǎng)問(wèn)速度最快?
????
A? 管道
B? 消息隊列
C? 共享內存
D? 套接字
?C
常見(jiàn)進(jìn)程間通信方式的比較:
管道:速度慢,容量有限
消息隊列:容量受到系統限制,且要注意第一次讀的時(shí)候,要考慮上一次沒(méi)有讀完數據的問(wèn)題。
信號量:不能傳遞復雜消息,只能用來(lái)同步
共享內存區:能夠很容易控制容量,速度快 ,但要保持同步,比如一個(gè)進(jìn)程在寫(xiě)的時(shí)候,另一個(gè)進(jìn)程要注意讀寫(xiě)的問(wèn)題,相當于線(xiàn)程中的線(xiàn)程安全,當然,共享內存區同樣可以用作線(xiàn)程間通訊,不過(guò)沒(méi)這個(gè)必要,線(xiàn)程間本來(lái)就已經(jīng)共享了一塊內存的。
?TCP的關(guān)閉過(guò)程,說(shuō)法正確的是( )
A? 處于TIME_WAIT狀態(tài)的連接等待2MSL后真正關(guān)閉連接
B? 對一個(gè)established狀態(tài)的TCP連接,在調用shutdown函數之前調用close接口,可以讓主動(dòng)調用的一方進(jìn)入半關(guān)閉狀態(tài)
C? 主動(dòng)發(fā)送FIN消息的連接端,收到對方回應ack之前不能發(fā)只能收,在收到對方回復ack之后不能發(fā)也不能收,進(jìn)入CLOSING狀態(tài)
D? 在已經(jīng)成功建立連接的TCP連接上,任何情況下都不允許丟失數據。
?A
?TIME_WAIT狀態(tài)下發(fā)送的ACK丟失,服務(wù)器端的LAST_ACK時(shí)刻設定的重傳定時(shí)器超時(shí),發(fā)送重傳的FIN,很不幸,這個(gè)FIN也丟失,主動(dòng)關(guān)閉方在 ? TIME_WAIT狀態(tài)等待2MSL沒(méi)收到任何報文段,進(jìn)入CLOSED狀態(tài),當此時(shí)被動(dòng)關(guān)閉方并沒(méi)有收到最后的ACK。所以即使要主動(dòng)關(guān)閉方在 TIME_WAIT狀態(tài)下停留2MSL,也不一定表示四次握手關(guān)閉就一定正常完成
?linux中調用write發(fā)送網(wǎng)絡(luò )數據返回n(n>0)表示( ?)
???
A??對端已收到n個(gè)字節
B? 本地已發(fā)送n個(gè)字節
C? 系統網(wǎng)絡(luò )buff收到 n個(gè)字節
D? 系統調用失敗
?B
已發(fā)送,但不保證對方收到
write函數的返回值的含義本來(lái)就是這樣 ?
?HTTP 應答中的 500 錯誤是:
?????
A? 服務(wù)器內部出錯
B? 文件未找到
C? 客戶(hù)端網(wǎng)絡(luò )不通
D? 沒(méi)有訪(fǎng)問(wèn)權限
?A
403:禁止訪(fǎng)問(wèn);
404:找不到該頁(yè)面;
503:服務(wù)器繁忙;
500:內部服務(wù)器訪(fǎng)問(wèn)出錯。
?下列關(guān)于 Android 數字簽名描述錯誤的是:
?????
A? 所有的應用程序都必須有數字證書(shū),Android系統不會(huì )安裝一個(gè)沒(méi)有數字證書(shū)的應用程序
B? Android程序包使用的數字證書(shū)可以是自簽名的,不需要一個(gè)權威的數字證書(shū)機構簽名認證
C? 如果要正式發(fā)布一個(gè)Android程序,可以使用集成開(kāi)發(fā)工具生成的調試證書(shū)來(lái)發(fā)布。
D? 數字證書(shū)都是有有效期的,Android只是在應用程序安裝的時(shí)候才會(huì )檢查證書(shū)的有效期。如果程序已經(jīng)安裝在系統中,即使證書(shū)過(guò)期也不會(huì )影響程序的正常功能。
?C
必須要使用一個(gè)合適的私鑰生成的數字證書(shū)來(lái)給程序簽名,而不能使用adt插件或者ant工具生成的調試證書(shū)來(lái)發(fā)布。
?二、填空題
小支欲用積分兌換安仔娃娃。兌換的規則是10積分可以?xún)兑粋(gè)安仔并返還5積分。小支有200積分,最多可以?xún)兜???????? ________個(gè)安仔?(假設可以借積分)
?40
借我200積分換成40個(gè)按仔,返回的200積分還給你
?五對夫婦甲,乙,丙,丁,戊舉行家庭聚會(huì ) 每一個(gè)人都可能和其他人握手, 但夫婦之間絕對不握手. 聚會(huì )結束時(shí), 甲先生問(wèn)其他人: 各握了幾次手? 得到的答案是: 0,1,2,3,4,5,6,7,8. 試問(wèn): 甲太太握了__________ 次手?
?4
甲太太握了4次手。 首先,可以斷言握了8次手的人和握了0次手的人是一家人。因為一個(gè)人握了0次手,說(shuō)明他(她)沒(méi)有和其他任何人握手,而握了8次手的人握了別家的所有人的手,如果握了8次手的這個(gè)人和握了0次手的這個(gè)人不是一家人,握了8次手的這個(gè)人就必然握過(guò)握了0次手的人,那么,握了0次手的人就被握了8次手的人握了1次,這就矛盾了。 其次,可以斷言握了1次手的人和握了7次手的人是一家人。因為現在大家都至少握過(guò)一次手了(和握過(guò)8次手的那個(gè)人握的),所以握過(guò)7次手的人必須和除了第一家和自己家的所有人握手,而握過(guò)1次手的人已經(jīng)不能再和任何人握手了,因此,他們只能是一家人。 同理,握了2次手的人和握了6次手的人是一家人,握了3次手的人和握了5次手的人是一家人,握了4次手的是最后一家人。 現在來(lái)看,如果甲太太握了0次手,那么甲先生必然要握8次手,而且沒(méi)有其他人可以握8次手,但是,甲先生是提問(wèn)的人,因此,他沒(méi)有握8次手,因此,甲太太也就不可能握0次手。 同理,甲太太也不可能握了1,2,3,5,6,7,8次手。 甲太太只可能握了4次手。
?賽馬,有25匹馬,每次只能5匹馬進(jìn)行比賽,比賽只能得到5匹馬之間的快慢程度,而不是速度,請問(wèn),最少要比_____________次,才能獲得最快的前3匹馬?
?7
25匹馬,速度都不同,但每匹馬的速度都是定值,F在只有5條賽道,無(wú)法計時(shí),即每賽一場(chǎng)最多只能知道5匹馬的相對快慢。問(wèn)最少賽幾場(chǎng)可以找出25匹馬中速度最快的前3名? 每匹馬都至少要有一次參賽的機會(huì ),所以25匹馬分成5組,一開(kāi)始的這5場(chǎng)比賽是免不了的。接下來(lái)要找冠軍也很容易,每一組的冠軍在一起賽一場(chǎng)就行了 (第6場(chǎng))。最后就是要找第2和第3名。我們按照第6場(chǎng)比賽中得到的名次依次把它們在前5場(chǎng)比賽中所在的組命名為A、B、C、D、E。即:A組的冠軍是第 6場(chǎng)的第1名,B組的冠軍是第6場(chǎng)的第2名……每一組的5匹馬按照他們已經(jīng)賽出的成績(jì)從快到慢編號: A組:1,2,3,4,5 B組:1,2,3,4,5 C組:1,2,3,4,5 D組:1,2,3,4,5 E組:1,2,3,4,5 從現在所得到的信息,我們可以知道哪些馬已經(jīng)被排除在3名以外。只要已經(jīng)能確定有3匹或3匹以上的馬比這匹馬快,那么它就已經(jīng)被淘汰了?梢钥吹, 只有上表中粗體的那5匹馬是有可能為2、3名的。即:A組的2、3名;B組的1、2名,C組的第1名。取這5匹馬進(jìn)行第7場(chǎng)比賽,第7場(chǎng)比賽的前兩名就是 25匹馬中的2、3名。故一共最少要賽7場(chǎng)。
?店主銷(xiāo)售電話(huà)卡,他以60元的價(jià)格各銷(xiāo)售了兩張。其中一張是賺了20%,另一張是虧了20%。 請問(wèn)他總共賺了_____________錢(qián)(虧了的話(huà)請用負數表示)?
?-5
有兩個(gè)電話(huà)卡,a(賺錢(qián))和b(虧錢(qián)),a的成本為x,x(1+0.2)=60,所以x=50,a賺10元
b的成本為y,y(1-0.2)=60,y=75,b虧15元
所以綜合起來(lái) 虧5元
?三、問(wèn)答題
在審計某一開(kāi)源項目的代碼時(shí),假設有下面一個(gè)foo()子函數的實(shí)現。 從安全的角度看,會(huì )存在安全漏洞嗎?有的話(huà),請
(1)描述漏洞細節,
(2)說(shuō)明可以利用的方法,
(3) 還有該怎么修補漏洞。沒(méi)有的話(huà),也請說(shuō)明為什么。
int foo((void*funcp)()) {
????char *ptr = pointer_to_an_array;
????char buf[128];
????gets(buf);
????strncpy(ptr,buf,8)
????(*funcp)();
}
?ptr 定義在 buf 的前面。在棧上開(kāi)變量的話(huà),后開(kāi)的內存地址較小,也就是 ptr 是恰好接在 buf 數組的后面。所以如果數組越界就可以修改 ptr 指向的內存地址。
?寫(xiě)一個(gè)函數找出一個(gè)整數數組中,第二大的數
?
int Find_Second_Max(int data[],int n)
{
????if(n<2) return -1;
????int max_num = max(data[0],data[1]);
????int sec_num = min(data[0],data[1]);
????for(int i=2;i
????{
????????if(data[i]>=max_num);
????????{
????????????sec_num = max_num;
????????????max_num = data[i];
????????}
????????else if(data[i] > sec_num)//排除等于情況
????????????sec_num = data[i];
????}
????return sec_num;
}
相關(guān)推薦
- 2021年迅雷網(wǎng)絡(luò )技術(shù)公司面試題(C++工程師崗位) 第1題: 一、單選題下列for循環(huán)的循環(huán)體執行次數為 for(int i=10, j=1; i=j=0; i++, j--) A 0B 1C 無(wú)限D 以上都不對 答案: A 解析:這個(gè)問(wèn)題可以這樣理解,在for(string1;string2;string3)中,string1用于設定循環(huán)變量處置,string2用于循環(huán)判斷,s…
- 2021年奇虎360產(chǎn)品面試題 第1題: 設計一個(gè)課程表(包括目標人群、核心功能、特色設計)第2題: 說(shuō)ATM的缺點(diǎn),改進(jìn)方法第3題: 如何讓李開(kāi)復等互聯(lián)網(wǎng)大牌關(guān)注你的微? 第4題: 數字推理:1,4,5,6,7,9,11,() 第5題: 安卓系統是什么語(yǔ)言開(kāi)發(fā)的?第6題: 12個(gè)雞蛋,有一個(gè)重量…
- 經(jīng)典筆試題-JDBC及Hibernate篇 五、JDBC 及Hibernate:(共12 題:基礎10 道,中等難度2 道)110、數據庫,比如100 用戶(hù)同時(shí)來(lái)訪(fǎng),要采取什么技術(shù)解決?【基礎】 答:可采用連接池。111、什么是ORM?【基礎】 答:對象關(guān)系映射(Object—Relational Mapping,簡(jiǎn)稱(chēng)ORM)是一種為了解決面向對象…