個人筆經2019校招京東C++

下面有關值類型和引用類型描述正確的是()?
正確答案: A B C 你的答案: A B C D (錯誤)
值類型的變量賦值只是進行數據複製,創建一個同值的新對象,而引用類型變量賦值,僅僅是把對象的引用的指針賦值給變量,使它們共用一個內存地址。
值類型數據是在棧上分配內存空間,它的變量直接包含變量的實例,使用效率相對較高。而引用類型數據是分配在堆上,引用類型的變量通常包含一個指向實例的指針,變量通過指針來引用實例。
引用類型一般都具有繼承性,但是值類型一般都是封裝的,因此值類型不能作爲其他任何類型的基類。
值類型變量的作用域主要是在棧上分配內存空間內,而引用類型變量作用域主要在分配的堆上。

如何在多線程中避免發生死鎖?
正確答案: A B C D 你的答案: B C D (錯誤)
允許進程同時訪問某些資源。
允許進程強行從佔有者那裏奪取某些資源。
進程在運行前一次性地向系統申請它所需要的全部資源。
把資源事先分類編號,按號分配,使進程在申請,佔用資源時不會形成環路。

*******死鎖的四個必要條件
1.互斥條件:一個資源每次都只能被一個執行流使用
2.請求與保持條件:一個執行流因請求資源而阻塞時,對已獲得的資源保持不放
3.不剝奪條件:一個執行流已獲得的資源,在未使用完之前,不能進行強行剝奪
4.循環等待條件:若干執行流之間形成一種頭尾相接的循環等待資源的關係

避免死鎖
1.破壞死鎖的四個必要條件
2.加鎖順序一致
3.避免鎖未釋放的場景
4.資源一次性分配

TCP協議的擁塞控制就是防止過多的數據注入到網絡中,這樣可以使網絡中的路由器或鏈路不致過載。常用的方法有:
正確答案: B C 你的答案: A B C (錯誤)
慢啓動、窗口滑動
慢開始、擁塞控制
快重傳、快恢復
快開始、快恢復

*******慢啓動,擁塞避免,快速重傳,快速恢復

對於京東商城高流量訪問,預防Ddos的方法可以有?
正確答案: A B C 你的答案: A B C D (錯誤)
限制同時打開SYN半鏈接的數目。
縮短SYN半鏈接的Time out 時間。
關閉不必要的服務。
限制客戶端請求服務器時長。

網絡管理員把優盤上的源代碼給程序員參考,但要防止程序誤刪除或修改,以下正確的加載方式是( )
正確答案: B C 你的答案: A B C (錯誤)
mount -o defaults /dev/sdb1 /tools
mount -r /dev/sdb1 /tools
mount -o ro /dev/sdb1 /tools
mount -o ro /dev/sdb /tools

mount
-o<選項> 指定加載文件系統時的選項,包括:
1)defaults 使用默認的選項。默認選項爲rw、suid、dev、exec、anto nouser與async。
2)ro 以只讀模式加載。
3)rw 以可讀寫模式加載。
4)-r 以只讀方式加載設備。
5)-w 以可讀寫模式加載設備,默認設置。

所以:
A:錯,defaults 默認選項爲rw
B:C:對
D:sdb指的是系統中的第2塊SCSI磁盤,U盤應該是/dev/sdbx
mount -o 指定掛載選項,-t指定文件類型 -r只讀 ro,rw:只讀或者讀寫的方式掛載,默認是rw. - sdb 和sdb1的差別。sdb表示整個SD卡設備名

ELETE和TRUNCATE TABLE都是刪除表中的數據的語句,它們的不同之處描述正確的是:
正確答案: A B C D 你的答案: A B (錯誤)
TRUNCATE TABLE比DELETE的速度快
在刪除時如果遇到任何一行違反約束(主要是外鍵約束),TRUNCATE TABLE仍然刪除,只是表的結構及其列、約束、索引等保持不變,但DELETE是直接返回錯誤
對於被外鍵約束的表,不能使用TRUNCATE TABLE,而應該使用不帶WHERE語句的DELETE語句。
如果想保留標識計數值,要用DELETE,因爲TRUNCATE TABLE會對新行標誌符列使用的計數值重置爲該列的種子

******delete 作用是在指定表或者指定視圖的基表中刪除記錄,用戶可以刪除位於自己模式中的表的記錄行,也可以刪除表上具有delete權限的記錄行,且在刪除指定表的記錄行時,必須滿足該表上的完整性約束條件。 truncate用於刪除表的所有數據,執行速度快,釋放表的佔用空間,操作不可撤銷。delete刪除表的所有數據時,不會釋放招用的空間,且操作時可以撤銷的。

友元本質上是普通函數,不在類範疇中,沒有 this、成員的概念。
友元類不具有傳遞性、繼承性、雙向性。
可以直接調用友元函數,不需要通過對象或指針
友元破壞了封裝

系統管理員編寫掃描臨時文件的shell程序tmpsc.sh, 測試該程序時提示拒絕執行,解決的方法有( )
正確答案: B C D 你的答案: A C (錯誤)
chmod 644 tmpsc.sh
chmod 755 tmpsc.sh
chmod a+x tmpsc.sh
chmod u+x tmpsc.sh

mod [可選項] <file…>
Linux下文件的權限類型一般包括讀,寫,執行。對應字母爲 r、w、x,讀(r=4),寫(w=2),執行(x=1) 。 綜合起來還有可讀可執行(rx=5=4+1)、可讀可寫(rw=6=4+2)、可讀可寫可執行(rwx=7=4+2+1)。
所以,chmod 755 設置用戶的權限爲:
1.文件所有者可讀可寫可執行 --7
2.與文件所有者同屬一個用戶組的其他用戶可讀可執行 --5
3.其它用戶組可讀可執行 --5
Just doing +x will apply it to all flags: [u]ser, [g]roup, [o]thers.

1在對問題的解空間樹進行搜索的方法中,一個結點有多次機會成爲活結點的是:()
回溯法

2一棵完全二叉樹共有2018個結點,則葉子結點的個數是?
1009
共有2018個節點說明有11層,前10層的節點總數爲1023,所以第11層節點總數爲995,995個節點需要佔據第10層498個節點,所以第10層的葉節點爲512-498=14,所以總共葉節點爲995+14=1009啊。

3廣義表即我們通常所說的列表(lists)。它放鬆了對錶元素的原子性限制,允許他們有自身結構。那麼廣義表E((a,(a,b),((a,b),c)))的長度和深度分別爲:
1和4
廣義表長度:由於廣義表中可以同時存儲原子和子表兩種類型的數據,因此在計算廣義表的長度時規定,廣義表中存儲的每個原子算作一個數據,同樣每個子表也只算作是一個數據。
例如,在廣義表 {a,{b,c,d}} 中,它包含一個原子和一個子表,因此該廣義表的長度爲 2。
再比如,廣義表 {{a,b,c}} 中只有一個子表 {a,b,c},因此它的長度爲 1。

4關於DNS協議
域名服務:UDP
可以進行從域名到ip的解析

5在vi編輯器中,退出不保存的命令是?
:q!

6觀察者模式,一個目標物件管理所有相依於它的觀察者物件,並且在它本身的狀態改變時主動發出通知。

  1. 下列哪種方法不能用於文本加密()
    MD5
    1.RSA:由 RSA 公司發明,是一個支持變長密鑰的公共密鑰算法,需要加密的文件塊的長度也是可變的,非對稱算法;
    2.RC2和RC4:對稱算法,用變長密鑰對大量數據進行加密,比 DES 快;
    3.DES(Data Encryption Standard):對稱算法,數據加密標準,速度較快,適用於加密大量數據的場合;
    4.MD5:嚴格來說不算加密算法,只能說是摘要算法;

8關於指針下列說法正確的是?
任何指針都可以轉化爲void *
void *可以轉化爲任何指針
指針雖然高效、靈活但可能不安全

9以下哪個命令可實現文件去重並排序:
sort demo.txt|uniq

10 linux命令執行成功後會返回
0

11以下不合法的shell頭是(不合法指運行會報錯):
!#/bin/bas

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章