百度2013校園招聘筆試題[軟體研發]及答案
百度2013校園招聘筆試題[軟體研發]及答案
一、簡答題
1.簡述資料庫以及執行緒死鎖產生的原理及必要條件,簡述如何避免死鎖。
1)互斥條件:指程式對所分配到的資源進行排它性使用,即在一段時間內某資源只由一個程式佔用。如果此時還有其它程式請求資源,則請求者只能等待,直至佔有資源的程式用畢釋放。
2)請求和保持條件:指程式已經保持至少一個資源,但又提出了新的資源請求,而該資源已被其它程式佔有,此時請求程式阻塞,但又對自己已獲得的其它資源保持不放。
3)不剝奪條件:指程式已獲得的資源,在未使用完之前,不能被剝奪,只能在使用完時由自己釋放。
2.請列舉物件導向設計的三個基本要素和五種主要設計原則。
答:三個基本要素:繼承、封裝、多型
主要設計原則:單一職責原則、里氏代換原則、依賴倒置原則、介面隔離原則、迪米特原則、開放-封閉原則。具體參考:
http://blog.csdn.net/kuzuozhou/article/details/8043265
3.簡述windows記憶體管理的幾種方式及優缺點。
二、演算法和程式設計
1.公司組織一次羽毛球比賽,採用淘汰機制,假設公司有1001個人,如果要評出“公司羽毛球第一高手”的稱號,至少需要進行多少場比賽?請簡述設計過程,並寫出程式碼模擬比賽過程。
2.一百個燈泡排成一排,第一輪將所有燈泡開啟;第二輪每隔一個燈泡關掉一個。即排在偶數的燈泡被關掉,第三輪每隔兩個燈泡,將開著的燈泡關掉,關掉的燈泡開啟。依次類推,第100輪結束的時候,還有幾盞燈泡亮著。
1.對於每盞燈,拉動的次數是奇數時,燈就是亮著的,拉動的次數是偶數時,燈就是關著的。
2.每盞燈拉動的次數與它的編號所含約數的個數有關,它的編號有幾個約數,這盞燈就被拉動幾次。
3.1—100這100個數中有哪幾個數,約數的個數是奇數。
我們知道:一個數的約數都是成對出現的,只有完全平方數約數的個數才是奇數個。
所以這100盞燈中有10盞燈是亮著的,它們的編號分別是:1、4、9、16、25、36、49、64、81、100
2.每盞燈拉動的次數與它的編號所含約數的個數有關,它的編號有幾個約數,這盞燈就被拉動幾次。
3.1—100這100個數中有哪幾個數,約數的個數是奇數。
#include<stdio.h>
int factorIsOdd(int a)
{
int total =0;
int i;
for(i=1; i<=a; i++ )
{
if(a%i == 0)
total++;
}
if(total%2 == 1 )
return 1;
else return 0;
}
int totalCount(int num[],int n)
{
int i;
int count = 0;
for(i=0; i<n; i++)
{
if(factorIsOdd(num[i]))//判斷因子數是不是奇數,奇數(燈亮)則加1
{
printf("亮著的燈的編號是:%d ",num[i]);
count++;
}
}
printf("\n");
return count;
}
int main()
{
int i,count;
int num[100];
for(i=0;i<100;i++)
{
num[i] = i+1;
}
count = totalCount(num,100);
printf("最後總共有%d盞燈亮著。\n",count);
}
3.假定有20個有序陣列,每個陣列有500個數字,數字型別32位uint數值,現在需要取出這10000個數字中最大的500個,怎麼做?
4. 字串左移,void *pszStringRotate(char *pszString, intnCharsRotate),比如ABCDEFG,移3位變DEFGABC,要求空間複雜度O(1),時間複雜度O(n)
三、系統設計題
手機上通常採用九鍵鍵盤輸入。即:1-9個數字分別對應一定的英文字母(如:2對應ABC, 3對應DEF,...),因此,使用者可以方便的輸入中文內容。比如,使用者輸入“926”,可以對應“WXYZ”,“ABC"和”MNO“的一系列組合”WAN”,“YAN"、”ZAO“等,這些對應“萬”,“嚴”,“早”等漢字的中文拼音。
要求我們把這樣的輸入方式應用在我們的手機聯絡人查詢功能上。有一個聯絡人列表UserList,記錄了(姓名,手機號)這樣的組合,通過輸入的數字字串NumStr,按照下面的規則把對應的聯絡人查詢出來,返回一個ReaultList。
規則:
1.手機號能連續部分匹配輸入的數字字串NumStr。如輸入NumStr=926,則手機號為13926811111會被查出來;
2.聯絡人姓名中的漢字轉化成拼音後能夠連續匹配輸入數字字串NumStr對應的英文字母組合,如:輸入NumStr=926,則聯絡人“王二”、“萬事通”會被查詢出來。因為“王二”的“王”的拼音“WANG”中含有“WAN”,和“926”能匹配。
輸入:
聯絡人列表UserList<UserName, PhoneNo>;漢字拼音射射表Dict,數字拼音字串NumStr。
輸出:
符合規則的聯絡人列表ResultList<UserName, PhoneNo>。
相關文章
- 2014百度校園招聘筆試題(上海軟體研發工程師)筆試工程師
- 百度2011.10.16校園招聘會筆試題筆試
- 【JAVA】【華為校園招聘筆試-軟體】2020-09-09Java筆試
- 騰訊研發類筆試面試試題及答案(C++方向)筆試面試C++
- 廣州南沙軟體園面試試題及答案(C++部分) (轉)面試C++
- 廣州南沙軟體園面試試題及答案(VB、ASP部分) (轉)面試
- 華為2018屆校園招聘筆試題目以及相應程式碼分享 軟體開發崗位筆試
- 【校園招聘】一道筆試題看c++中virtual覆蓋筆試C++
- 各大IT公司2012校園招聘筆試面試整理筆試面試
- 軟體測試常見面試題及答案面試題
- 2013搜狗校招研發類C/C++試題C++
- 百度2015校園招聘面試題(成功拿到offer)面試題
- 【小米集團校園招聘】IoT 軟體專案經理
- [小米集團校園招聘] IoT 軟體專案經理
- [小米集團校園招聘] 軟體開發工程師-Java 方向 (急招)工程師Java
- 【演算法】2013創新工場校園招聘筆試題--如何求出帶環連結串列的入口節點演算法筆試
- 校園招聘的思考
- 貝爾筆試題及答案[ZT]筆試
- 2017 年軟體實施工程師筆試面試題及答案工程師筆試面試題
- 【小米集團校園招聘】軟體開發工程師-C/C++ 方向 (急招)工程師C++
- [小米集團校園招聘] 軟體開發工程師-C/C++ 方向 (急招)工程師C++
- 百度2015校園招聘面試題回憶錄(成功拿到offer)面試題
- 華為2016校園招聘上機筆試題:簡單錯誤記錄 [python]筆試Python
- 筆試題目——研發工程師筆試題筆試工程師
- Zuora招聘JAVA軟體開發\軟體測試Java
- 2017java筆試題及答案Java筆試
- 高德地圖python筆試題及答案地圖Python筆試
- 騰訊PHP實習生筆試題目及答案解析PHP筆試
- 【JAVA】騰訊2021校園招聘-後臺&綜合-第二次筆試Java筆試
- 【小米集團校園招聘】軟體開放工程師-Java 方向 (急招)工程師Java
- 軟體測試筆試題筆試
- 百度2015校招機器學習筆試題機器學習筆試
- Oracle面試試題及答案Oracle面試
- 微軟2016校園招聘4月線上筆試 hihocoder 1289 403 Forbidden微軟筆試ORB
- 研發類C++筆試題目C++筆試
- 【資料庫】網易校園招聘筆試題--資料庫事務的定義,屬性,以及隔離級別資料庫筆試
- 2020年電工(高階)試題及答案及電工(高階)考試軟體
- 常見Java問題及筆試題(十七)——阿里2017實習生研發題Java筆試阿里