哔哩哔哩2019秋招技术岗(前端、运维、后端、移动端)第一套笔试题
1. 下面哪些項是TCP具有的能力?(A B D)
A. 有連接
B. 數(shù)據(jù)可靠傳輸
C. 數(shù)據(jù)按序到達
D. 端到端流量控制
解析:TCP數(shù)據(jù)報還要由下層的IP協(xié)議封裝,由于IP數(shù)據(jù)報到達目的后可能順序變亂,因此TCP報文順序也可能變亂。因此到達目的后如果報文順序混亂,TCP協(xié)議會進行排序。
2. 在公司局域網(wǎng)上ping www.bilibili.com 沒有涉及到的網(wǎng)絡(luò)協(xié)議是?(A)
A. TCP
B. DNS
C. ICMP
D. ARP
解析:域名DNS,ping指令I(lǐng)CMP協(xié)議發(fā)送(ICMP請求回顯數(shù)據(jù)包),通過IP獲取mac地址的ARP
3. 以下哪個數(shù)據(jù)結(jié)構(gòu)底層是用紅黑樹實現(xiàn)的? (C)
A. vector
B. list
C. map
D. deque
解析:map 散列表+紅黑樹(jdk1.8)
4. 以下ip地址中不屬于私網(wǎng)地址的是:(C)
A. 192.168.1.26
B. 172.21.213.56
C. 127.2.0.1
D. 10.1.1.200
解析:
IP地址分為5類,其中A,B,C三類中各保留了3個區(qū)域作為私網(wǎng)地址,也就是局域網(wǎng)用的,私網(wǎng)地址不能在公網(wǎng)上出現(xiàn),只能用在內(nèi)部網(wǎng)路中,所有的路由器都不能發(fā)送目標地址為私網(wǎng)地址的數(shù)據(jù)報。
私網(wǎng)地址是:
A類地址:10.0.0.0~10.255.255.255
B類地址:172.16.0.0 ~172.31.255.255
C類地址:192.168.0.0~192.168.255.255
127開頭的ip地址是保留本地回環(huán)地址,不會出現(xiàn)在網(wǎng)絡(luò)上的,不論是私網(wǎng)還是公網(wǎng)。
5. 以下排序算法中,最壞情況時間復(fù)雜度與其他選項不同的是(D)
A. 冒泡排序
B. 插入排序
C. 快速排序
D. 歸并排序
解析:
6. 以下哪一項正則能正確的匹配網(wǎng)址: http://www.bilibili.com/video/av21061574 (B)
解析:
首先,^表示匹配輸入的開始,$表示匹配輸入的結(jié)束
每個選項從前向后看,http都能夠嚴格匹配
?表示匹配某元素0次或1次,這里四個選項都沒有問題,能夠匹配0次或1次字符s
接下來:嚴格匹配,//嚴格匹配兩個//
接著往下看,[]表示字符集合,它用在正則表達式中表示匹配集合中的任一字符
A D 選項中的 [a-zA-Z\d] 表示匹配一個小寫字母 或者 大寫字母 或者 數(shù)字
B C 選項中的 \w 表示匹配字母數(shù)字或下劃線(注意這里比A D中能多匹配下劃線類型)
+表示匹配某元素1次或多次,到這里四個選項都能夠完美匹配字符www
.可以匹配除了換行符\n \r外的任何字符
接下來我們看選項A,bilibili com video av都嚴格匹配,而 \D 表示匹配一個非數(shù)字字符而非數(shù)字字符,av后的數(shù)字是無法匹配成功的,A錯誤
B選項,\d匹配數(shù)字,{m,n}表示最少匹配m次,最多匹配n次,/?能匹配末尾的0個或1個/字符,B正確
C選項,*表示匹配某元素0次或多次,但 \w 并不能匹配字符 /,C錯誤
D選項,前面都對,錯在最后的/+至少要匹配一個/,而原字符串最后并沒有/
7. 以下設(shè)計模式的應(yīng)用場景中,屬于代理模式的選項有(C D)
A. 樹形結(jié)構(gòu)的遍歷
B. 產(chǎn)品簇創(chuàng)建場景
C. 防火墻
D. CopyOnWriteList
解析:
JUC中與ArrayList有關(guān)的線程安全容器類?CopyOnWriteArrayList,在對數(shù)組進行remove()、clear()、set()和add()?操作時,在方法里先用ReentrantLock加鎖?,再復(fù)制一個新數(shù)組,修改操作在新數(shù)組上完成,再將原數(shù)組指向到新數(shù)組中,最后解鎖。這里的新數(shù)組就相當于一個代理
8. 由3 個“1”和 5 個“0”組成的 8 位二進制補碼,能表示的最小整數(shù)(B)
A. -126
B. -125
C. -32
D. -3
解析: 既然求最小整數(shù),那肯定先想到負數(shù),則最高位(符號位)一定為1,原碼中肯定是1所在的位數(shù)越高,值越小,而補碼是由原碼取反加1得到的,則在補碼中1所在的位數(shù)一定要越低,即補碼為1000 0011;由補碼求得原碼:1111 1101=-(64+32+16+8+4+1)=-125;
9. 深度為k的二叉樹至多有幾個結(jié)點(C)
A. 2^k
B. 2^(k-1)
C. 2^k-1
D. 2^k+1
解析:
10. 以下軟件設(shè)計模式的應(yīng)用場景中,屬以下git命令中,用于顯示工作區(qū)和當前分支文件的差異的命令是(D)
A. git diff
B. git diff HEAD HEAD^
C. git diff --cached
D. git diff HEAD
解析:
git diff:是查看 workspace 與 index 的差別的。
git diff --cached:是查看 index 與 local repositorty 的差別的。
git diff HEAD:是查看 workspace 和 local repository 的差別的。(HEAD 指向的是 local repository 中最新提交的版本)
11. 以下哪些技術(shù)屬于局域網(wǎng)技術(shù)(A D)
A. FDDI
B. ATM
C. ISDN
D. 令牌環(huán)
解析:
局域網(wǎng)的類型很多,
若按網(wǎng)絡(luò)使用的傳輸介質(zhì)分類,可分為有線網(wǎng)和無線網(wǎng);
若按網(wǎng)絡(luò)拓撲結(jié)構(gòu)分類,可分為總線型、星型、環(huán)型、樹型、混合型等;
若按傳輸介質(zhì)所使用的訪問控制方法分類,又可分為以太網(wǎng)、令牌環(huán)網(wǎng)、FDDI網(wǎng)和無線局域網(wǎng)等。其中,以太網(wǎng)是當前應(yīng)用最普遍的局域網(wǎng)技術(shù)。
ATM是Asynchronous Transfer Mode(ATM)異步傳輸模式的縮寫,是實現(xiàn)B-ISDN的業(yè)務(wù)的核心技術(shù)之一。ATM是以信元為基礎(chǔ)的一種分組交換和復(fù)用技術(shù)。(廣域網(wǎng))
12. 線程的哪些資源可以共享(A C)
A. 堆
B. 棧
C. 靜態(tài)變量
D. 存儲器
解析:
線程共享資源有:
1 . 堆由于堆是在進程空間中開辟出來的,所以它是理所當然地被共享的;因此new出來的都是共享的(16位平臺上分全局堆和局部堆,局部堆是獨享的)
2 . 全局變量 它是與具體某一函數(shù)無關(guān)的,所以也與特定線程無關(guān);因此也是共享的
3 . 靜態(tài)變量 雖然對于局部變量來說,它在代碼中是“放”在某一函數(shù)中的,但是其存放位置和全局變量一樣,存于堆中開辟的.bss和.data段,是共享的
4 . 文件等公用資源是共享的,使用這些公共資源的線程必須同步。Win32 提供了幾種同步資源的方式,包括信號、臨界區(qū)、事件和互斥體。
13. 下列哪個是建立TCP連接的正確流程:(A)
A. 客戶端向服務(wù)器端發(fā)送SYN包;服務(wù)端向客戶端發(fā)送SYN+ACK;客戶端回復(fù)ACK。
B. 客戶端向服務(wù)器端發(fā)送SYN包;服務(wù)端向客戶端發(fā)送SYN+ACK。
C. 客戶端向服務(wù)器端發(fā)送FIN;服務(wù)器端回復(fù)ACK,并進入wait狀態(tài);服務(wù)器端確認并發(fā)送FIN;客戶端回復(fù)ACK。
D. 客戶端向服務(wù)器端發(fā)送FIN;服務(wù)器端回復(fù)ACK,并進入wait狀態(tài);服務(wù)器端確認并發(fā)送FIN。
解析:
A 是TCP連接時的3次握手
C 是TCP斷開時的4次揮手
有關(guān)SYN和ACK的部分:
https://blog.csdn.net/u014507230/article/details/45310847
https://blog.csdn.net/zzz_781111/article/details/4183743
14. 以下說法正確的是:(B)
A. 非靜態(tài)方法的使用效率比靜態(tài)方法的效率高。
B. 非靜態(tài)方法不存在線程安全的問題。
C. 非靜態(tài)方法可以直接通過類名.方法名的方法來調(diào)用。
D. 非靜態(tài)方法中不可調(diào)用靜態(tài)方法 。
15. 兩個人拋硬幣,規(guī)定第一個拋出正面的人必須穿女裝,請問先拋的人穿女裝的概率多大?(C)
A. 1/2
B. 1/3
C. 2/3
D. 5/6
解析:
16. 有限狀態(tài)自動機能識別(B)
A. 上下文無關(guān)文法
B. 正規(guī)文法
C. 上下文有關(guān)文法
D. 短語文法
解析:
A. 下推自動機識別上下文無關(guān)文法
B. 有限狀態(tài)自動機識別正規(guī)文法
C. 線性有限狀態(tài)機(LBA) 識別上下文有關(guān)文法
D. 圖靈機識別短語文法
參考鏈接: https://blog.csdn.net/tang_huan_11/article/details/7670268
17. 按照二叉樹的定義,具有3個結(jié)點的二叉樹有幾種。(C)
A. 3
B. 4
C. 5
D. 6
解析:
18. 無向圖G=(V,E),其中V={a,b,c,d,e,f} E={(a,b),(a,e),(a,c),(b,e),(c,f),(f,d),(e,d)} 對該圖進行深度優(yōu)先遍歷,得到的頂點序列正確的是(D)
A. a,b,e,c,d,f
B. a,c,f,e,b,d
C. a,e,b,c,f,d
D. a,b,e,d,f,c
解析:
A.a,b,e,d,f,c(從a-b路線走)
B.a,c,f,d,e,b(從a-c路線走)
C.a,e,b,d,f,c或者a,e,d,f,c,b(從a-e路線走)
19. 如果文法G存在一個句子,滿足下列條件 之一時,則稱該文法是二義文法。(B C D)
A. 該句子的最左推導(dǎo)與最右推導(dǎo)相同
B. 該句子有兩個不同的最左推導(dǎo)
C. 該句子有兩棵不同的最右推導(dǎo)
D. 該句子有兩棵不同的語法樹
解析:
參考鏈接:https://blog.csdn.net/qq_33230935/article/details/78108309
20. 設(shè)指針q指向單鏈表中結(jié)點A,指針p指向單鏈表中結(jié)點A的后繼結(jié)點B,指針s指向被插入的結(jié)點X,則在結(jié)點A和結(jié)點B插入結(jié)點X的操作序列為(B)
A. s->next=p->next; p->next=-s;
B. q->next=s; s->next=p;
C. p->next=s->next; s->next=p;
D. p->next=s; s->next=q;
解析:
s->next=q->next;q->next=s
21. a - (b + c) * d + e / f 的逆波蘭式是??? abc+d*-ef/+
解析:
1、先根據(jù)表達式的運算法則的先后順序進行樹的構(gòu)建(括號不參與構(gòu)樹)
2、逆波蘭表達式也叫作后綴表達式 通過樹的后序遍歷得到結(jié)果
22. 當前發(fā)送幀數(shù)據(jù)為101010,發(fā)送方和接收方約定除數(shù)為1101,用循環(huán)冗余算法進行封裝后,接收方拿到的數(shù)據(jù)是??? 101010011
解析:
CRC算法原理:https://blog.csdn.net/u010190210/article/details/80707698
23. 一個完全二叉樹有870個節(jié)點 其葉子節(jié)點個數(shù)為??? 435
解析:
鏈接:
1層滿二叉樹節(jié)點數(shù)=2^1-1;
2層滿 2^2-1;
…
9層滿 2^9-1=511
10 1023
所以870個節(jié)點是一個10層的完全二叉樹,且它的
第十層有870-511=359個葉子節(jié)點;
第九層有256個節(jié)點
其中180個節(jié)點有孩子節(jié)點(下一層的359個葉子)
剩下256-180=76個節(jié)點
總計:76+359=435各節(jié)點
24. 設(shè)某棵二叉樹的中序遍歷序列為cadb,前序遍歷序列為acbd,這個二叉樹的后序遍歷序列是??? cdba
解析:
25. 設(shè)一組初始關(guān)鍵字序列為(38,65,97,76,13,27,10),則第3趟冒泡排序結(jié)束后的結(jié)果為??? 38,13,27,10,65,76,97
解析:
第1趟跑完
結(jié)果
[38, 65, 76, 13, 27, 10, 97]
第2趟跑完
結(jié)果
[38, 65, 13, 27, 10, 76, 97]
第3趟跑完
結(jié)果
[38, 13, 27, 10, 65, 76, 97]
26. 在TCP/IP網(wǎng)絡(luò)中,TCP協(xié)議工作在??? 傳輸層 ,FTP協(xié)議工作在 ??? 應(yīng)用層
解析:
參考鏈接:https://blog.csdn.net/qq_22238021/article/details/80279001
27. HTTP協(xié)議中的禁止訪問(Forbidden)的狀態(tài)碼是 ??? 403
解析:
常見HTTP狀態(tài)碼
200 ok 服務(wù)器成功處理請求
301/302 重定向 請求的URL已經(jīng)轉(zhuǎn)移
304 未修改 客戶緩存的資源是最新的 客戶端使用緩存內(nèi)容
403 Forbidden 禁止。服務(wù)器拒絕請求
404 NotFound 未找到資源
405 Method Not Allowed 不允許使用的方法
28. 在SQL查詢時,如果去掉查詢結(jié)果中的重復(fù)組,需使用?? distinct ??參數(shù)
29. 執(zhí)行C語言程序段“y=1; x=5; while(x–); y++;”后,y的值為?? 2 ??
解析:
while后面有分號
30. 對下列遞歸函數(shù) int f(int n) { return((n==0)?1:f(n-1)+2);},函數(shù)調(diào)用f(3)的返回值是?? 7 ??
解析:
f(3)=f(2)+2
f(2)=f(1)+2
f(1)=f(0)+2
f(0)=1
即 f(3)=1+2+2+2
31. 實現(xiàn)一個HTML語法檢查器。HTML語法規(guī)則簡化如下:
1. 標簽必須閉合,可以由開始和結(jié)束兩個標簽閉合,如<div></div>,也可以自閉合,如<div />
2. 標簽可以嵌套如<div><a></a></div>或者 <div><a/></div>,但是標簽不能交叉:<div><a></div></a>是不允許的
3. 標簽里可以有屬性如<div id=“a<1”></div>,屬性的規(guī)則是name=“任意非引號字符”,多屬性聲明之間必須有空格,屬性聲明不符合規(guī)則時,整段HTML都算語法錯誤輸入文本只會出現(xiàn)字母a-z和<>"=
請用任意語言實現(xiàn)一個HTML語法檢查器函數(shù),有語法錯誤返回1,沒有語法錯誤返回0
參考代碼:
作者:邂逅的瞬間(牛客網(wǎng))
代碼(JAVA):
試題內(nèi)容來自牛客網(wǎng):https://www.nowcoder.com/profile/4821886/test/28859685/362301
部分解析來自牛客網(wǎng)題解
總結(jié)
以上是生活随笔為你收集整理的哔哩哔哩2019秋招技术岗(前端、运维、后端、移动端)第一套笔试题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 服务器超级电容什么作用,超级电容器基础知
- 下一篇: 源码手机阅读工具