日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

BaiDu往年面试题目汇总☆WM☆

發(fā)布時(shí)間:2025/4/5 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BaiDu往年面试题目汇总☆WM☆ 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
BaiDu往年面試題目匯總☆WM☆祝自己明天能取得一個(gè)好的面試成績(jī)

題目來源:http://www.cnblogs.com/cutepig/archive/2007/09/14/893552.html

?

?

1.char a=255;

sizeof(++a)=?(1)//這題可以參考我以往文章,關(guān)于sizeof的分析
a=?(-1)//數(shù)組越界

2.刪除掉cpp文件中的所有注釋

這題考察的是對(duì)文件的操作題, 程序稍后奉上

3.用腳本(bash)統(tǒng)計(jì)(不是特別清楚,只記得diff可以實(shí)現(xiàn)兩個(gè)文件不同的行,回頭查)
兩個(gè)文本文件的相同的行,
??
第一文件有而第二文件無的行
??,

兩個(gè)文件的補(bǔ)集。?

4.設(shè)計(jì)一個(gè)簡(jiǎn)化的bbs系統(tǒng):多用戶,可發(fā)表主題,回復(fù),同主題閱讀,分不同的版面,為每一用戶判斷某一文章是否已讀,等。?

首先設(shè)計(jì)系統(tǒng)的整體框架,開發(fā)語言。

然后進(jìn)行設(shè)計(jì)交互過程, 設(shè)計(jì)數(shù)據(jù)庫(kù)結(jié)構(gòu),然后進(jìn)行編碼。題目較簡(jiǎn)單,不詳述。

5.判斷一個(gè)鏈表是否存在回路??

判斷鏈表是否有回路,可以通過下面方法進(jìn)行處理:

首先鏈表的結(jié)構(gòu)可能我們不太清楚,如果可以隨意更改結(jié)構(gòu)體的成員,那么這題就很容易了,增加一個(gè)標(biāo)志性的變量,一旦串入鏈表中,標(biāo)志位置1,如果下面的操作中發(fā)現(xiàn)鏈路中下一結(jié)點(diǎn)的標(biāo)志位為1,那么說明一定形成了環(huán)路,否則一直執(zhí)行下去。?

6.兩個(gè)單向鏈表,有可能交叉,請(qǐng)?jiān)O(shè)計(jì)算法判斷是否交叉,如果交叉,返回交叉點(diǎn)!算法復(fù)雜度o(n)

做這題前首先需要明確以下概念:

1級(jí)就是1個(gè)直線鏈表
2級(jí)就是每個(gè)節(jié)點(diǎn)是1級(jí)鏈表
3級(jí)就是每個(gè)節(jié)點(diǎn)是2級(jí)鏈表

交叉鏈表是兩個(gè)鏈表在某個(gè)點(diǎn)會(huì)交匯到一起,后面所有節(jié)點(diǎn)相同。

明白了上述概念后,對(duì)判斷是否是交叉鏈表,就顯得很簡(jiǎn)單了。

可以借助第五題中判斷是否存在回路的思路,比如下述步驟:

?

  • 首先遍歷鏈表1,對(duì)所有遍歷后的結(jié)點(diǎn)做標(biāo)記1。
  • 遍歷鏈表2,判斷在遍歷過程中,是否有結(jié)點(diǎn)已經(jīng)置1,如果存在,那么出現(xiàn)的第一個(gè)結(jié)點(diǎn)就是交叉點(diǎn)。
  • 如果從來沒出現(xiàn)過,那么兩個(gè)鏈表就不相交。?
  • 7.硬盤文件系統(tǒng)設(shè)計(jì),及磁盤整理算法

    8.Hash表

    Hash,一般翻譯做“散列”,也有直接音譯為“哈希”的,就是把任意長(zhǎng)度的輸入(又叫做預(yù)映射, pre-image),通過散列算法,變換成固定長(zhǎng)度的輸出,該輸出就是散列值。這種轉(zhuǎn)換是一種壓縮映射,也就是,散列值的空間通常遠(yuǎn)小于輸入的空間,不同的輸入可能會(huì)散列成相同的輸出,而不可能從散列值來唯一的確定輸入值。簡(jiǎn)單的說就是一種將任意長(zhǎng)度的消息壓縮到某一固定長(zhǎng)度的消息摘要的函數(shù)。
    HASH主要用于信息安全領(lǐng)域中加密算法,它把一些不同長(zhǎng)度的信息轉(zhuǎn)化成雜亂的128位的編碼,這些編碼值叫做HASH值. 也可以說,hash就是找到一種數(shù)據(jù)內(nèi)容和數(shù)據(jù)存放地址之間的映射關(guān)系

    常用的構(gòu)造散列函數(shù)的方法
      散列函數(shù)能使對(duì)一個(gè)數(shù)據(jù)序列的訪問過程更加迅速有效,通過散列函數(shù),數(shù)據(jù)元素將被更快地定位ǐ
      1. 直接尋址法:取關(guān)鍵字或關(guān)鍵字的某個(gè)線性函數(shù)值為散列地址。即H(key)=key或H(key) = a·key + b,其中a和b為常數(shù)(這種散列函數(shù)叫做自身函數(shù))
      2. 數(shù)字分析法
      3. 平方取中法
      4. 折疊法
      5. 隨機(jī)數(shù)法
      6. 除留余數(shù)法:取關(guān)鍵字被某個(gè)不大于散列表表長(zhǎng)m的數(shù)p除后所得的余數(shù)為散列地址。即 H(key) = key MOD p,p<=m。不僅可以對(duì)關(guān)鍵字直接取模,也可在折疊、平方取中等運(yùn)算之后取模。對(duì)p的選擇很重要,一般取素?cái)?shù)或m,若p選的不好,容易產(chǎn)生同義詞。
    處理沖突的方法
      1. 開放尋址法;Hi=(H(key) + di) MOD m,i=1,2,…,k(k<=m-1),其中H(key)為散列函數(shù),m為散列表長(zhǎng),di為增量序列,可有下列三種取法:
       1. di=1,2,3,…,m-1,稱線性探測(cè)再散列;
       2. di=1^2,(-1)^2,2^2,(-2)^2,(3)^2,…,±(k)^2,(k<=m/2)稱二次探測(cè)再散列;
       3. di=偽隨機(jī)數(shù)序列,稱偽隨機(jī)探測(cè)再散列。==
      2. 再散列法:Hi=RHi(key),i=1,2,…,k RHi均是不同的散列函數(shù),即在同義詞產(chǎn)生地址沖突時(shí)計(jì)算另一個(gè)散列函數(shù)地址,直到?jīng)_突不再發(fā)生,這種方法不易產(chǎn)生“聚集”,但增加了計(jì)算時(shí)間。
      3. 鏈地址法(拉鏈法)

      4. 建立一個(gè)公共溢出區(qū)?

    9.php+MySQL
    10.問參加過ACM/數(shù)學(xué)建模沒有

    參加過ACM同時(shí)也參加過數(shù)學(xué)建模。?

    11.多邊形標(biāo)記問題

    可以考慮使用累計(jì)角度法,即使是凹多邊形一樣可以判斷。?


    ?

    轉(zhuǎn)載于:https://www.cnblogs.com/weisteve/archive/2011/10/09/2204906.html

    總結(jié)

    以上是生活随笔為你收集整理的BaiDu往年面试题目汇总☆WM☆的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。