關於面試的一些事

2021-07-03 22:37:35 字數 2786 閱讀 1114

2023年7月13日

知識點:鍊錶,malloc與free,socket,多工

這次面試安排的是下午1:30,我到了之後首先讓我做了乙份筆試題,一共三道知識題+一道思維題,先把這幾套題目大概說一下

1.有n個人,每個人有乙個id,從1到n對應的id為 1號,2號,3號,....,n號。讓他們從1開始報數,報到「13」的人剔除,並列印出其id。比如說有14個人,則剔除的人的id分別為13號,12號,14號...。用程式實現。

2.有n個節點,沒個節點都有乙個id號,節點中至少有乙個資料為整形。建立乙個鍊錶,把節點插入到該鍊錶中,為每個鍊錶中的整形資料肥培乙個隨機數(c語言中產生隨機數函式rand(),之前我只知道有能夠產生隨機數的函式,但是具體是什麼以及怎麼用都不知道,附上相關講解**然後對他們進行從小到大排序,最後刪除第五個節點。

3.這題是讀程式分析程式的題,乙個主函式裡面定義了兩個指標,呼叫了兩個函式,問當呼叫第乙個函式時有沒有什麼錯誤,呼叫第二個函式執行完之後某一變數的值是多少。

4.這是道邏輯思維題,形狀如下圖

給了幾個邊的值,哪幾個邊以及具體是多少我忘了,不過做法是把邊進行平移,讓它成為乙個矩形,算出矩形的周長,不過圖中標了1的部分以及與之相對應的左邊的部分沒算到,把他們算出來再加上矩形的面積就是最終結果了。

我做的結果:

第一題我用鍊錶實現的,把id號和當成乙個節點的資料,然後插入到鍊錶中,最後把鍊錶最後乙個節點的next指向第乙個節點,使之成為乙個環形鍊錶。然後從第乙個節點開始迴圈,迴圈到第13的時候將該節點刪除並列印出其id號;

再看第二題的時候,讓用鍊錶,筆試題就一張紙,正面是題,反面空白,做第一題的時候定義鍊錶結構體,建立鍊錶,實現鍊錶插入刪除節點就已經把發面寫滿了,這一題又要用鍊錶,已經沒地方寫了,而且第一題也用了好長時間,做這題無非就是再建立乙個鍊錶並給節點裡面的整形變數分配乙個隨機值,呼叫冒泡選擇之類的排序法對其進行排序,最終輸出第5個節點的值,所以這題我就沒再做就看下面的題了;

第三題第乙個函式裡char *p;p=(char )malloc(sizeof (1));*p='d ';我的答案p是乙個指標,一般(定址空間是32位(32位系統))指標要佔四個位元組,而給它開闢記憶體空間的時候只開闢了乙個位元組。(後來面試的時候那老師給說了一通,說我就開闢乙個位元組,我放乙個char型資料,這有什麼問題嗎?想想他說的還是很有道理的,他說的好像是對的,再後來我自己又結合以前學的用的malloc的相關程式仔細思考了這個問題,確實是這麼回事,以前學的時候沒注意這個細節,也沒有認真思考,還是學的不夠紮實!)在他給我講通知後,看我也同意那個是對的了,就讓我再看看這個函式呼叫完之後有沒有問題,我看了一會兒想了想,說沒問題,他(表情有點壞壞的)笑了笑,說,有問題~沒釋放嘛!malloc了之後沒free。。。沒辦法,只能認栽,這個確實是沒認識到,還是學的不夠紮實的問題。

我把做好的結果和第二題沒做的想發跟hr說了下,他看了看說我看你都寫了,說明你有自己的想法,這些題你也都會,這樣吧,你拿著你的筆試題到清華大學fit樓4-103(還是1-403,忘了哪個了)去找馬老師,找他進行面試。

接著就去了根據hr給的位址找到了那個辦公室,那人不在,打**,看到乙個腳上穿著人字拖、下身短褲、上身t恤的人從洗手間出來了,大概一公尺八一公尺九的身高,給我的感覺就是怎麼看都不像是乙個搞技術的人,更不想乙個跟程式打交道的程式設計師,很明顯就跟一運動員或者體育專業相關的人。接下來說說面試的具體過程吧,

看了會我的筆試題,

問,你第二題在哪兒?

答,……(把我看到第二題時的想法說了一通)

問,我問的是第二題在哪兒?

答,沒寫

問,沒寫你就說沒寫不就完了,你不能因為覺得第一題和第二題差不多你就不寫了,你是質疑我出的題目嗎?覺得我出的題目思想都一樣,沒水平?你要是覺得沒水平的話可以對我進行指導,來這兒教教我們指導一下都行,技術上我可能不如你,但是你不能藐視我出的題啊,照你這麼說的話我這個題出的就根本沒必要了,因為第三題考的本質上跟前兩個也是一樣的。

答,……

說沒有否認的意思,賠不是之類的話

問,我這就三題,你就給我寫了第一題,第二題沒寫,第三題考的跟前面兩題一樣的。就考的malloc

和free,free

你沒用,你這第一題用了個

destroy

,destroy

擱哪兒呢?你要是用的

strcpy

我還不說什麼,你這根本就沒有的你就給用上了,你這第二題要是寫了這個我還可以認為你知道,結果你這第二題根本就沒做,第三題考的也是這個,我在前面都跟你說了是一樣的,你這還說程式沒問題....。

說一下多工吧。這個要用到排程。(打斷)

靠譜~。……(

後面就沒回答出實質性的東西了)

socket有幾種?這個

……不太清楚,一種吧。你知道的

socket

有什麼?我們用過

tcp,udp……(打斷)

這是一種啊?行了就這樣吧。

就這樣灰溜溜的面試完走了,感覺清華大學果然不愧是國內數一數二的高等學府,牛人就是nb,做學問不拘小節,對教師要求也不在意細枝末節上的東西而只在乎有沒有真才實學,讓我認識到了二三流學校和一流學校的差別,也認識到了自己跟一流高等學校人之間的差距,以及自己在北京這種遍地牛人面前是多渺小。

也分析了一下這個面試問的問題都很具體細緻的原因:1,他把我當成有工作經驗的人來面試的,要求所招的人是入職就能夠參與到工作當中的;2,作為二流學校出來的我,平時在學校學習或者生活中接觸到的的東西跟一流學校的學生平時學習接觸到的東西根本就不在乙個檔次,我們平時多數時候是在玩或者中度過的,對於學校交代下來的考試或者是課設畢設等等東西也都沒有絕對認真的對待,基本上是抱著一種僥倖心理隨便學學或者隨便做做就通過的,跟那些一流學校學生平時很多時候心思都放到學術上鑽研問題沒得比,而他用對待清華學生的標準來面試的我。歸根結底還是自己學到的東西或者會的東西太少。

關於const的一些事

一 const能做哪些事情呢?1 可以定義const常量 2 可以修飾函式的形參和返回值 3 可以修飾函式的定義體 意義 被const修飾的東西都要受到強制的保護,可以預防意外的變動,能提高程式的健壯性 二 const和 define有啥不同的呢?我們知道const定義的是常量,define也可以定...

關於linphone,arm的一些事

移植好linphone之後就先用linphonec除錯,看下有什麼錯誤資訊。這個鏈結事是關於inphonec命令的 好像翻00牆才能進哦,我現在不能翻牆,昨晚開啟的 太多,這個 是否是我說的那個其實也不是很確定,總之你進去就知道了2333 之前進了乙個q群,蠻不錯的,不過記得裡面的命令大全也是不全的...

關於定位的一些事。

當在這乙個頁面上想要實現布局打破固有的自上向下的文件流排版。就需要脫離出文件流,從而移動布局排版。今天在這裡對於定位有一點想法,和記錄了一些很是有用的內容。首先,css定位是基於盒子模型的,可分為 靜態static定位 絕對absolute定位 相對relative 定位 固定fixed定位。其中,...