vivio校招軟件開發崗(提前批)
題目類型:總共38道題目,60分鐘
25道選擇題,10道填空題,2道問答題,1道編程題
軟件開發崗涉及到的語言有:C, C++ Java (不要以爲投的是C, C++,就不考Java了,這對非科班出身的不利,所有平時要多補補基礎知識)
1. 數據庫系統數據產生不一致的根本原因是()數據冗餘
2. 王牌 在一盤紙牌遊戲中,某個人的手中有這樣的一副牌:
(1)正好有十三張牌。
(2)每種花色至少有一張。
(3)每種花色的張數不同。
(4)紅心和方塊總共五張。
(5)紅心和黑桃總共六張。
(6)屬於“王牌”花色的有兩張。紅心、黑桃、方塊和梅花這四種花色,
哪一種是“王牌”花色?
解答:據(1),(2),(3),此人手中四種花色的分佈是以下三種可能
情況之一:
(a)1237
(b)1246
(c)1345
根據(6),情況(c)被排除,因爲其中所有花色都不是兩張牌。根據(5),
情況(a)被排除,因爲其中任何兩種花色的張數之和都不是六。因此,(b)是
實際的花色分佈情況。根據(5),其中要麼有兩張紅心和四張黑桃,要麼有四
張紅心和兩張黑桃。根據(4),其中要麼有一張紅心和四張方塊,要麼有四張
紅心和一張方塊。綜合(4)和(5),其中一定有四張紅心;從而一定有兩張黑
桃。因此,黑桃是王牌花色。
概括起來,此人手中有四張紅心、兩張黑桃、一張方塊和六張梅花。
3 JAVA中關鍵字final 分別修飾類,方法,變量,各起什麼作用?
final修飾類是不能被繼承
fianl修飾方法不能在子類中被覆蓋
final修飾變量,稱爲常量,初始化以後不能改變值。
4 :地址變換機構的基本任務是:實現從邏輯地址到物理地址的轉換。
5. 大端模式的概念
6. C語言問題:內存的分配方式
內存分配方式有三種:
(1)、從靜態存儲區域分配。內存在程序編譯的時候就已經分配好,這塊內存在程序的整個運行期間都存在。例如全局變量,static變量。
(2)、在棧上創建。在執行函數時,函數內局部變量的存儲單元都可以在棧上創建,函數執行結束時這些存儲單元自動被釋放。棧內存分配運算內置於處理器的指令集中,效率很高,但是分配的內存容量有限。
(3)、從堆上分配,亦稱動態內存分配。程序在運行的時候用malloc或new申請任意多少的內存,程序員自己負責在何時用free或delete釋放內存。動態內存的生存期由程序員決定,使用非常靈活,但如果在堆上分配了空間,就有責任回收它,否則運行的程序會出現內存泄漏,頻繁地分配和釋放不同大小的堆空間將會產生堆內碎塊。
內存分配方式有三種:
(1)、從靜態存儲區域分配。內存在程序編譯的時候就已經分配好,這塊內存在程序的整個運行期間都存在。例如全局變量,static變量。
(2)、在棧上創建。在執行函數時,函數內局部變量的存儲單元都可以在棧上創建,函數執行結束時這些存儲單元自動被釋放。棧內存分配運算內置於處理器的指令集中,效率很高,但是分配的內存容量有限。
(3)、從堆上分配,亦稱動態內存分配。程序在運行的時候用malloc或new申請任意多少的內存,程序員自己負責在何時用free或delete釋放內存。動態內存的生存期由程序員決定,使用非常靈活,但如果在堆上分配了空間,就有責任回收它,否則運行的程序會出現內存泄漏,頻繁地分配和釋放不同大小的堆空間將會產生堆內碎塊。
7. 三個連續自然數,它們的最小公倍數是210,這三個連續自然數是5,6,7
8. linux基本操作命令:linux用grep在文件中查找字符串並顯示字符串在文件中的行號?
grep -niR '想要查找的字符' xxx
注:n,顯示行號 R,查找所有文件包含子目錄 i,忽略大小寫 最後的“xxx”表示想要查找的文件名
例:如果你想在當前目錄下 查找"hello,world!"字符串,可以這樣:grep -rn "hello,world!" ././ : 表示路徑爲當前目錄.-r 是遞歸查找-n 是顯示行號
9. java的源文件的擴展名是(java),編譯後的擴展名是(class)
10.安卓四大組件顯示頁面的是哪個組建:activity
11. -65的補碼是多少?
12.以下屬於網絡層的是()選ARP
13. 向一個有N個元素的順序表中插入一個元素,平均要移動的個數爲? n/2
14. 有一個用數組 C[1..m]表示的環形隊列,m 爲數組的長度。假設 f 爲隊頭元素在數組中的位置,r 爲隊尾元素的後一位置(按順時針方向)。若隊列非空,則計算隊列中元素個數的公式應爲?(選第一個)
-
(m+r-f)mod m
-
r-f
-
(m-r+f) mod m
-
(m-r-f) mod m
-
(r-f) mod m
15. 現有一個包含m個節點的三叉樹,即每個節點都有三個指向孩子結點的指針,請問:在這3m個指針中有()個空指針。——選C
-
2m
-
2m-1
-
2m+1
-
3m
16. 線程同步的四種方式的機制 :臨界區(Critical Section)、互斥量(Mutex)、信號量(Semaphore)、事件(Event)
17.以下對Java關鍵字描述錯誤的是()
18. 紅黑樹插入、刪除、查找,基數樹
19.堆排序的最壞時間複雜度爲()——選擇題
20. Java中volatile含義正確的是()
21.編程題:重疊字符串
其他題目:邏輯推理,C語言基本概念
模擬測試
1 數據結構
棧,隊列操作
2 邏輯分析題
3 進程併發運行的環境中,多個進程之間存在如下競爭和合作的關係:
- 進程中的資源爭用(間接作用)
當併發進程競爭使用同一個資源時,它們之間就會發生衝突。爲了避免衝突,當一個進程獲得資源時,另一個進程必須等待。這種情況需要通過互斥機制來解決。
- 進程間通過共享的合作(間接作用)
一個進程等待另一個進程的執行,並以另一個進程的執行結果作爲本進程的執行條件,就形成了同步機制
- 進程間通過通信的合作(直接作用)
進程間還可以通過通信進行合作,同性提供了同步和協調各種活動的方法。如操作系統提供的通信功能。
4 基本的計算機知識:
http含義,ftp含義——HTTP是Hyper Text Transfer Protocol,超文本傳輸協議;FTP是File Transfer Protocol,文件傳輸協議;HTTP是面向網頁的,而FTP是面向文件的。
補充:URL Uniform Resource Locator統一資源定位器,功能是統一的方式指定internet信息資源的位置;
TCP/IP:Transmission Control Protocol/Internet Protocol的簡寫,中譯名爲傳輸控制協議/因特網互聯協議,又名網絡通訊協議,是Internet最基本的協議、Internet國際互聯網絡的基礎,由網絡層的IP協議和傳輸層的TCP協議組成。TCP/IP 定義了電子設備如何連入因特網,以及數據如何在它們之間傳輸的標準。協議採用了4層的層級結構,每一層都呼叫它的下一層所提供的協議來完成自己的需求。通俗而言:TCP負責發現傳輸的問題,一有問題就發出信號,要求重新傳輸,直到所有數據安全正確地傳輸到目的地。而IP是給因特網的每一臺聯網設備規定一個地址。
5 軟件測試的一般步驟(4步)
(1)單元測試(也稱模塊測試):針對軟件設計的基本單元——程序模塊,進行正確性檢驗的測試工作。目的在於發現各個模塊內部可能存在的各種差錯。單元測試需要從程序內部結構出發設計測試用例,多個模塊可以平行、獨立地進行測試;
(2)集成測試(也稱組裝測試,聯合測試):在單元測試的基礎上,將所有模塊按設計要求集成在一起進行測試,以檢驗總體設計中各模塊間的接口設計問題、模塊之間的相互影響、上層模塊存在的各種差錯及全局數據結構對系統的影響等方面。
(3)確認測試(也稱驗收測試,有效性測試):主要檢驗軟件的功能和性能是否與需求說明書中的規定一致。
(4)系統測試:將軟件系統作爲一個元素,放入整個實際的計算機系統中,與計算機硬件、其他軟件、使用人員等系統元素結合在一起,在實際使用環境下進行綜合全面的測試。
6 還考到Java,C++基礎知識