大三 位元組搜尋推薦演算法實習生面經分享

2021-10-09 21:04:39 字數 1716 閱讀 7400

無實習經歷無面試經歷,過來純當體驗以及試錯了

通過筆試以及一輪面試進入夏令營,然後申請實習直接leader面

筆試題就不做分享了

流程:自我介紹——專案經歷——基本知識——演算法題

因為有乙個關於推薦的產品設計經歷,面試官很感興趣,主要問產品功能、如何設計、推薦的方式等等

做過nlp的相關專案,因此問了一下專案中的相關工作,主要是應用+復刻,自己微調訓練

q:資料庫中表連線的方式

a:自然連線、等值連線、外連線、內連線等

q:自然連線與等值連線的區別

a:自然連線條件是相同屬性字段,等值連線條件是相同的值

q:左右外連線的區別

a:左表為null和右表為null的區別

q:mysql索引

a:b+樹

q:b+樹原理

a:非葉子節點的指向、葉子節點鍊錶、關鍵字都在葉子節點中等等(現場沒答上來,沒有了解過)

q:你會如何設計索引,複雜度多少

a:二叉樹,單次檢索複雜度o(logn)(不怎麼了解索引,答得太簡單了,還需要考慮到檔案系統、磁碟等)

q:線性回歸和邏輯回歸的區別

a:擬合線性方程,邏輯回歸是非線性的sigmoid方程

心得:儘管面試演算法方向,但是也考察工程能力,工程能力很重要!!!

q:給乙個排好序的陣列,有負數,對陣列中每個數求平方,在空間複雜度為o(1)的情況下求有多少個不同的平方數

a:雙指標

寫了很多的bug,但是面試官會很細心地乙個個提示你,ilil

面試官不讓你現場執行**除錯bug,只讓你看!!!

流程:演算法題——基礎知識

給乙個排好序的陣列以及t,找到t在陣列中第一次出現的位置,如果沒有則輸出-1

簡單的二分查詢即可,一開始想直接stl lower_bound,但是忘了迭代器怎麼用,所以手寫了二分查詢

leader讓我執行了一下**給他看結果,幾個測試點都沒有bug

q:在算mid過程中可能出現的問題是l+r會超int,如何解決

a:改longlong

q:能不用longlong嗎

a:加法改減法

leader說還可以用一種更高階的二分查詢但是他沒展開

q:寫了乙個結構體,問大小,並說明原因

a:作業系統內容,資料對齊

q:指標和引用的區別

a:指標開了實際的記憶體空間,引用只是乙個識別符號

如果回答不出的話面試官允許你現場寫**研究一下

q:c++物件導向的問題,過載

a:方法名相同引數不同,返回型別不同(沒學過c++物件導向)

q:c和c++開動態記憶體空間的方法

a:c用malloc c++用new

q:malloc和calloc的區別

a:malloc不能初始化,calloc初始化為空(沒聽說過calloc)

q:釋放動態記憶體空間的方法

a:free(從來沒用過)

q:bagging和boosting的區別

a:bagging的樣本是有放回的取樣,boosting的樣本用的是同乙個資料集,但是改變權重

心得:基礎很重要!!!因為只寫演算法題從來沒有接觸過一些底層知識,但是企業級開發非常需要紮實的語言基礎

IO框架(三)位元組緩衝流

目錄bufferedoutputstream bufferedinputstream方法 protected byte buf 儲存資料的內部緩衝區陣列。protected int count 索引一大於緩衝區中最後乙個有效位元組的索引。protected int marklimit mark方法呼...

CRC CRC推導(三)位元組查表與半位元組查表

上節我們講到模二除法,模二除法的操作是按位進行,每次移動一位,然後計算,演算法要套2個迴圈,效率較低。由於異或運算有交換律和結合律。因此,我們再次看一下範例 傳送資料為0xcf16 1100111100010110b 多項式為0x11021 10001000000100001b 為例,結果如下 我們...

51微控制器彙編三位元組加法

乙個加數在片內ram40h 41h 42h單元中,另乙個加數在內ram43h 44h 45h,其和存放在50h 51h 52h單元中,進製位存00h。求編譯程式,小弟謝過 最佳答案 題目太簡單,只有三個位元組參加運算,可不用迴圈結構。mov a,40h add a,43h mov 50h,a mov...