面試中數(shù)據(jù)算法、NLP、推薦系統(tǒng)等理論知識(shí)匯總
學(xué)姐的學(xué)習(xí)交流群建起來(lái)了~
關(guān)注公眾號(hào)【學(xué)姐帶你玩AI】
后臺(tái)回復(fù)“進(jìn)群”即可
本文的面試&理論知識(shí)分為兩個(gè)部分:
1、數(shù)據(jù)結(jié)構(gòu)算法之排序算法
2、NLP和推薦系統(tǒng)相關(guān)理論知識(shí)
人工智能相關(guān)崗位面試,算法題是必不可少的一關(guān),因?yàn)檫@是一個(gè)AI學(xué)(ma)者(nong)的基本功,很多知識(shí)是無(wú)法突擊準(zhǔn)備學(xué)習(xí)的。所以學(xué)姐就來(lái)給大家說(shuō)一說(shuō)我們比較容易忽視的吧!臨場(chǎng)過(guò)一眼最簡(jiǎn)單的必考題:
PS:不是我沒(méi)啥寫(xiě)來(lái)敷衍你們的
數(shù)據(jù)結(jié)構(gòu)算法之排序算法
首先是簡(jiǎn)單排序算法:冒泡排序、選擇排序、插入排序
1、冒泡排序:
簡(jiǎn)單排序算法之一,思想是通過(guò)與相鄰元素的比較和交換把小的數(shù)交換到最前面
2、選擇排序
思想是通過(guò)一次遍歷循環(huán)將最小的元素移動(dòng)到序列的最前面
3、插入排序
思想是不是通過(guò)交換位置而是通過(guò)比較找到最合適的位置插入元素來(lái)達(dá)到排序的目的,上述三個(gè)簡(jiǎn)單排序算法的時(shí)間復(fù)雜度都是O(n^2)
4、歸并排序、快速排序:
之所以將歸并排序和快速排序放在一起是因?yàn)槊嬖囍姓娴娜菀字苯幼屖謹(jǐn)]算法思路,因此應(yīng)對(duì)面試需要知道算法思想,并能復(fù)現(xiàn)代碼邏輯,歸并排序和快速排序平均時(shí)間復(fù)雜度都是O(nlogn),快速排序效率最高,但在最壞情況下快排的效率不如歸并排序,歸并排序空間復(fù)雜度是O(n),快速排序空間復(fù)雜度是O(logn)
5、堆排序
通過(guò)最小堆實(shí)現(xiàn)數(shù)組的從小到大排序,時(shí)間復(fù)雜度為O(nlogn)
6、計(jì)數(shù)排序
對(duì)整數(shù)進(jìn)行排序,排序的時(shí)間復(fù)雜度和空間復(fù)雜度是O(n+k),思想:用待排序的數(shù)作為計(jì)數(shù)數(shù)組的下標(biāo),統(tǒng)計(jì)每個(gè)數(shù)字的個(gè)數(shù),然后依次輸出得到有序序列
7、桶排序
關(guān)鍵在于映射函數(shù),將原始數(shù)據(jù)映射到n個(gè)桶上,桶中的元素仍采用比較排序,桶中元素可以采用快速排序,但映射到桶的操作大大減低了排序時(shí)間
8、基數(shù)排序
利用了桶排序思想,只不過(guò)基數(shù)排序每次都只是處理數(shù)字的一位,從低位到高位順序進(jìn)行,對(duì)每一位依次進(jìn)行桶映射排序的思想
9、希爾排序
分組插入排序,又稱(chēng)為縮小增量排序,思想:先將整個(gè)待排序元素序列分割成若干個(gè)子序列(由相隔固定增量的勻速組成),對(duì)每個(gè)子序列直接插入排序,然后一次縮減增量再進(jìn)行排序,到增量最小時(shí),再對(duì)全體元素進(jìn)行一次增量排序。利用了插入排序在元素基本有序的情況下排序效率很高
上述十大排序算法中,其中計(jì)數(shù)排序和其他九種算法的區(qū)別在于其他九種算法都是基于比較排序的,基于比較排序的算法的時(shí)間復(fù)雜度下限是O(nlogn)。
同學(xué)們要知道算法題無(wú)窮無(wú)盡,題型雖然多變,但大致也就那么幾種,大家要多多在Leetcode、牛客網(wǎng)上刷題,重在平時(shí)積累。
接下來(lái)是面試中會(huì)遇到的NLP和推薦系統(tǒng)理論知識(shí),不過(guò)只有題目沒(méi)有答案,如果學(xué)姐連答案都給你了的話,你就會(huì)直接收藏,到時(shí)候再看了!所以只給你面試題你可能還會(huì)因?yàn)闆](méi)有答案google之后整理一下再放著落灰。
NLP和推薦系統(tǒng)理論知識(shí)
(1) CRF跟邏輯回歸最大熵模型的關(guān)系
(2) CRF的優(yōu)化方法
(3) CRF和MRF的聯(lián)系
(4) HMM和CRF的關(guān)系(順便問(wèn)問(wèn) 樸素貝葉斯和HMM的聯(lián)系、LSTM+CRF 用于序列標(biāo)注的原理、CRF的點(diǎn)函數(shù)和邊函數(shù)、CRF的經(jīng)驗(yàn)分布)
(5) WordEmbedding的幾種常用方法和原理(順便問(wèn)問(wèn)language model、perplexity評(píng)價(jià)指標(biāo)、word2vec跟Glove的異同)
(6) topic model說(shuō)一說(shuō)
(7) 為何CNN能用在文本分類(lèi)
(8) syntactic和semantic問(wèn)題舉例
(9) 常見(jiàn)Sentence embedding方法
(10) 注意力機(jī)制(順便問(wèn)問(wèn)注意力機(jī)制的幾種不同情形、為何引入、seq2seq原理)
(11) 序列標(biāo)注的評(píng)價(jià)指標(biāo)
(12) 語(yǔ)義消歧的做法
(13) 常見(jiàn)的跟word有關(guān)的特征
(14) factorization machine
(15) 常見(jiàn)矩陣分解模型
(16) 如何把分類(lèi)模型用于商品推薦(包括數(shù)據(jù)集劃分、模型驗(yàn)證等)
(17) 序列學(xué)習(xí)、wide&deep model(順便問(wèn)問(wèn)為何wide和deep)
以上就是學(xué)姐給大家整理的部分面試題的題目和容易遺忘的基礎(chǔ)知識(shí)點(diǎn),大家平時(shí)還是需要多刷題的,雖然我們代碼打的溜,但是面試時(shí)候要是在基礎(chǔ)知識(shí)上翻了車(chē)會(huì)得不償失的。
學(xué)姐會(huì)繼續(xù)整理面試相關(guān)的試題放在公眾號(hào)上供大家參考的,一定要關(guān)注學(xué)姐才能不錯(cuò)過(guò)第一時(shí)間的推送。

https://leetcode-cn.com/
https://www.nowcoder.com/
參考文檔:
https://mp.weixin.qq.com/s/we9-tXnxfkqmGLKEXWjBew