百度2023年校園招聘 軟體研發筆試題

2021-06-09 18:00:17 字數 1363 閱讀 5448

昨天的筆試。

今晚才抽出空來一下寫。

下面內容基本是回憶的,正確性不敢保證。

一、簡答題(30分)

1.簡述資料庫及執行緒死鎖產生的必要條件,並簡述如何避免死鎖。

2.簡述c++物件導向思想的3大要素和5大設計原則。

3.簡述windows記憶體管理的幾種方式,及其優缺點。

二、程式設計和演算法題(40分)

1.某公司有1001個員工,公司組織羽毛球比賽,採用淘汰賽機制,最後選出乙個冠軍,問至少需要多少場比賽?並請(偽)**模擬比賽。

2.有100盞燈和100個開關,剛開始的時候等全是滅的,someone第一輪按下所有開關(開的按一下變滅,滅的按一下變開),第二輪隔乙個按一下(偶數個按),第三輪隔2個(3的倍數個按),求第100輪之後有多少盞燈是亮的。

3.有100個有序(降序)陣列,每個陣列有100個元素,請將這100*100=10000個數進行排序(降序)。

三、系統設計題(30分)

模擬乙個**簿的查詢功能。

在手機上,1-9每個數字都對應了若干個字母,如2對應abc。

**簿中儲存了如下結構:

《姓名,**號碼》

使用者按下一系列數字numstr。

有如下匹配規則:

1.數字匹配,若某**號碼的某連續子串是該numstr,則輸出幹**號碼對應的條目,如輸入234,有《張三,15202341245>,則匹配成功。

2.字母匹配,若該numstr可以對應某字母序列,該字母序列是某人名字拼音的乙個連續子串,則匹配。

給定userlist和數字字母對應規則dict,以及輸入的numstr,求最後匹配的條目,result。

下面簡要給出我的答案。

一、簡答題

1.資料庫的不懂。執行緒死鎖的必要條件:互斥條件,占有並請求,不剝奪,環路等待。避免:銀行家演算法。

2.3大要素:封裝、繼承、多型。5大設計原則:單一職責,開閉原則,黎克特制替換,依賴倒置,高內聚低耦合。

3.寫的固定分割槽分配,段頁式什麼的,應該錯了。

二、程式設計及演算法

1.一次比賽最多只能淘汰一名選手,最後只剩下冠軍,故至少1001-1=1000場比賽。

2.某盞燈亮當且僅當它是平方數。用因數分解可證。

3.用優先佇列,容量100。效率10000*log100.

三、系統設計題

類似於strstr的實現即可。

規則二略改strstr的實現。

百度2013校園招聘題

第一題,基礎題 1.資料庫及執行緒產生死鎖的原理和必要條件,如何避免死鎖。2.列舉物件導向程式設計的三個要素和五項基本原則。解答 封裝,繼承,多型物件導向的五大基本原則 單一職責原則 srp 開放封閉原則 ocp 黎克特制替換原則 lsp 依賴倒置原則 dip 介面隔離原則 isp 單一職責原則 s...

2023年百度校園招聘筆試題(研發類)

一 簡答題 30分 1 對遠端linux unix系統進行操作,通常的途徑是採用終端軟體通過ssh登陸遠端系統,但是在網路發生中斷時,linux unix端執行的程式將會中斷,請簡述這種問題發生的原理,通過何種途徑避免這種問題,以及該途徑可以規避此問題的原理。2 乙個最小值堆,同時是一棵完全二叉樹 ...

百度2014校園招聘筆試題(深圳 軟體研發崗)

一 簡答題 10分 3 1 靜態鏈結庫與動態鏈結庫的優缺點。2 輪詢任務排程與搶占式任務排程的區別。3 請列出資料庫中常用的鎖及應用場景。二 演算法與程式設計 15分 3 1 給定乙個正整數n,求比n大的第乙個 不重複數 不重複數 的定義 如果乙個數,任何相鄰兩個數字上的數字都不相同,則稱為不重複數...