百度NLP實習生面試總結

2021-06-25 07:02:59 字數 1019 閱讀 4869

題目1:描述以下兩行**的區別

int a[1000];

int* p = (int *)malloc(1000);

回答這道題目的時候,我說前者是定義了1000個整數,大小為4000個位元組,而後者只是開闢了一塊1000個位元組的大小,如果想讓後者的大小與前者相同,應該寫為int* p = (int *)malloc(1000*sizeof(int))。於是面試官接著問我還有什麼區別,我當說想不起來了。面試官就問我知道堆疊的區別麼,我做恍然大悟狀說前者是定義在棧中的,而後者是定義在堆之中的。於是面試官接著問我知道calloc麼,我說不太熟悉。然後面試官就沒有接著往下問calloc的東西了,不過面試官又提到了操作符new int[1000],問我new int與前者malloc的區別在**,我只說記不清楚了,面試官接著問我malloc如果分配錯誤,會返回什麼,我說是null,然後他又問new int如果分配錯誤又會返回什麼呢,我當時瞎謅說是void *,後來翻了翻c++的書籍才發現會丟擲錯誤異常。

更多相關的知識見博文

題目2:怎麼確定兩個鍊錶交叉並進而確定交叉點的位?

題目的解答以及相關擴充套件題目見博文

題目3:要求寫出快速排序的**

見博文題目4:const int *p與const * int p的區別

見博文題目5:static的所有用法

題目6:下面的程式**會執行if還是else

int a=2; 

int b=5; 

if(b&a>0) else {

題目6主要考察的是運算子的優先順序以及位運算,我當時的回答是2的二進位制表示為00000000 00000000 00000000 00000010,而5的二進位制表示為00000000 00000000 00000000 00000101,因此將2&5結果為0,故執行else。當時我回答完,面試官還讓我考慮以下,是不是要注意下優先順序什麼的,我當時肯定了我的回答,等到回來在電腦上編寫**之後,才知道自己當時回答的是錯誤的。因為逐位與操作符優先順序要低於》、>=、<、<=等比較操作符,故先運算a>0,返回1,然後將1與b逐位與,得到1。故會執行if。

百度實習生面試總結

突襲了四天,然後就再次奔上了面試之路。遲到了15分鐘,本來有點緊張的心倒是放鬆了。面試官人超nice,非常有耐心。下面總結了下主要的面試內容,大概1個小時 1.簡單的自我介紹 2.介紹了自己最熟悉的專案,因為事先有準備,所以還是比較順利 3.盒子模型的理解 4.考察css 寫乙個簡單地三欄兩列的布局...

百度實習生面試經歷

方法一 將25匹馬隨機劃分為5個組,分別進行比賽,每組取勝出的3馬 比賽5次 步驟 勝出3x5 15匹,15匹馬重複第乙個步驟,分為3組分別進行比賽,每組取勝出3匹 比賽3次 步驟 勝出3x3 9匹,9匹馬繼續分組,分為5匹 4匹兩組進行比賽,每組取勝出3匹 比賽2次 步驟 勝出3x2 6匹,6匹馬...

百度前端實習生面試經歷

一面 描述 一面主要還是基礎的前端知識,沒有涉及到很多框架之類的知識,但基礎知識也不能小覷,其中有很多細節需要注意。面試題 1.html的語義化 2.img標籤的title alt屬性的區別 3.css布局 涉及各種常見的布局,如兩列布局 三列布局等 4.清除浮動的知識 最好給出多種方法及它們的區別...