面試題集(持續更新)

2022-07-30 20:57:16 字數 959 閱讀 7448

1乙個概率題:54張撲克牌,除去兩張大小王剩下52張撲克牌。問紅桃a和黑桃a同時被乙個人拿到的概率是多少? 

>>>4/17 = c(4,1)*c(50,11)/c(52,13)

2、給你n個數,其中有且僅有乙個數出現了奇數次,其餘的數都出現了偶數次。用線性時間常數空間找出出現了奇數次的那乙個數。 

>>>利用異或運算的乙個神奇性質,「數a兩次異或同乙個數b,結果還是數a,這兩次異或運算不一定要是連續的」,從頭到尾進行

一次異或,最終的結果就是那個出現了奇數次的數。

3,上千萬條記錄,統計出重覆記錄最多的前n條。 

>>> 先雜湊,統計出每條記錄的重複數目,o(n), 然後求前n最大值,o(n)。

4、乙個n個整數的無序陣列,給你乙個數sum,求出陣列中是否存在兩個數,使他們的和為sum

>>>hash表,將n個整數雜湊到hash表上,o(n),然後依次遍歷去查詢(sum-當前整數),看能否找

的到,總體o(n)。

5,    給你n個數,其中有且僅有兩個數出現了奇數次,其餘的數都出現了偶數次。用線性時間常數空間找出出現了奇數次的那兩個數。

>>>首先應用4給出的方法,得到那兩個奇數異或後的結果,這個結果肯定是不為0的。然後根據這個結果,比如為011001,利用最後

乙個1將這n個數字劃分為兩組,然後針對這兩組分別再應用4中給出的方法。

6、有1000瓶水,其中有一瓶有毒,小白鼠只要嘗一點帶毒的水24小時後就會死亡,至少要多少只小白鼠才能在24小時時鑑別出那瓶水有毒。

用二進位制演算法。

把1000瓶水編號,每個編號寫成二進位制的形式,pow(2,10) = 1024 > 1000,這樣每個編號就有10位。

把10只小白鼠編號,從1到10,讓第n號小白鼠去喝瓶子編號第n為為1的水,

新定義乙個十位二進位制數,最終死掉的小白鼠的編號的位全部為1.

比如 1,3,5,7,8號小白鼠死掉了,那有毒的瓶子的二進位制編號就是 101010110

TCP IP面試題(持續更新)

no.1 tcp ip基礎 這些知識點都可以參考 no.2 常見面試題 tcp與udp的區別 tcp協議是有連線的,有連線的意思是開始傳輸實際資料之前tcp的客戶端和伺服器端必須通過三次握手建立連線,會話結束之後通過四次揮手結束連線。而udp是無連線的 tcp協議保證資料按序傳送,按序到達,提供超時...

幾個面試題 持續更新

1.簡單列舉了解的程式語言及語言間區別。python簡單,python開發效率快,python 簡潔,跨平台,學習成本比較低 2.列舉python2和3的區別 後期要找一些模組和專案的區別 py3 print 編碼方式 unicode 類 新式類 range 可迭代物件 input 獲取的內容全都是...

kafka面試題 持續更新

kafka 中的資料只能儲存七天,隨之而來的問題就是某個偏移量對應的資料被清除,我們通過偏移量去查詢資料而發生的報錯 資料已經被 kafka 給清除掉了 也就是說我們讀取的偏移量小於 kafka 中資料儲存的最早的偏移量,說明資料已經被 kafka 給乾掉了 解決方式 將拿到的偏移量和 kafka ...