提前批算法題
- 給定數(shù)組nums=[1,2,3,2,3,2,3],和一個常數(shù)K,找到數(shù)組里面出現(xiàn)次數(shù)>(N/k)次的數(shù)
比如k=3,那么N/k=7/3=2,數(shù)組里面出現(xiàn)此時>2的有2、3。 - 打家劫舍:你是一個專業(yè)的小偷,計劃偷竊沿街的房屋。每間房內(nèi)都藏有一定的現(xiàn)金,影響你偷竊的唯一制約因素就是相鄰的房屋裝有相互連通的防盜系統(tǒng),如果兩間相鄰的房屋在同一晚上被小偷闖入,系統(tǒng)會自動報警。
給定一個代表每個房屋存放金額的非負(fù)整數(shù)數(shù)組,計算你在不觸動警報裝置的情況下,能夠偷竊到的最高金額。
示例 1:
輸入: [1,2,3,1]
輸出: 4
解釋: 偷竊 1 號房屋 (金額 = 1) ,然后偷竊 3 號房屋 (金額 = 3)。
偷竊到的最高金額 = 1 + 3 = 4 。 - 給一個數(shù)組,返回倒數(shù)第k大的數(shù)(可能有重復(fù),用快排的思想,時間復(fù)雜度為:n+n/2+n/4+n/8+...=n(1+1/2+1/4+1/8+...),屬于等比數(shù)列,結(jié)果為2*n,故時間復(fù)雜度為O(n))
- 給一個數(shù)組,當(dāng)前數(shù)組的值為能夠前進(jìn)的步數(shù),問最少多少步能夠走完這個數(shù)組。比如數(shù)組[3,4,1,2,3,4,2,3],arr[0]=3代表能夠從當(dāng)前位置往后走3格,可以選擇其中任意一格停下,然后讀取當(dāng)前格的值繼續(xù)前進(jìn)。
基礎(chǔ)題
- 鎖膨脹:
偏向鎖->輕量級鎖(自旋鎖、自適應(yīng)自旋鎖,也叫作非阻塞同步、樂觀鎖)->重量級鎖(又被叫做互斥鎖MutexLock、阻塞同步、悲觀鎖) - 事務(wù)、分布式事務(wù)
- 設(shè)計模式:單例模式
- 這個有2個面試官都問了,問的都是四次揮手的細(xì)節(jié),為什么最后time_wait要有2msl,三次握手、四次揮手、TIME_WAIT和CLOSE_WAIT階段的作用
- 輸入url發(fā)生了什么(有DNS轉(zhuǎn)換啊,ip網(wǎng)絡(luò)尋址啊,三次揮手啊,可能還有NAT地址轉(zhuǎn)換啊,還有ARP?。?/li>
- TCP 和 UTP 有什么區(qū)別?(一個面向連接一個非面向連接,一個可靠一個非可靠,TCP有流量控制,擁塞控制,面向流以及基于這些區(qū)別,他們的使用場景)
- 面試HashMap之追命5連問
- hashmap:線程安全、如何保證安全、不安全會發(fā)生什么
- 這個是我寫了spark,他問的,不會spark應(yīng)該不會問scala統(tǒng)計單詞個數(shù)
- 就是對與一個mysql表,問select * from xxx和select id from xxx效率問題。