您好,歡迎來到易龍商務(wù)網(wǎng)!
發(fā)布時間:2020-10-05 18:10  
【廣告】





面試你的面試官
在找工作的匆忙與壓力之下,很多候選人都忘了面試是一個雙向的過程。在公司努力尋找這份工作的合適人選時,你也應(yīng)該設(shè)法弄清楚這家公司適不適合你。
確保你也要提出以下一些問題,哪怕對方是以電子郵件的形式回復(fù)你。要意識到公司經(jīng)常把不遵循很佳實踐說成是一項技能,所以要體會其言外之意。
以下是一些你可以去提問的例子:
“對我來說典型的工作日會是什么樣的?”
知道特定崗位預(yù)期的樣子很重要,因為軟件工程工作差別相當(dāng)大。比方說你的工作既可能是維護(hù)服務(wù)器,也可能是直接跟客戶溝通。
危險信號:“我不大肯定?!?→ 意味著面試你的那個人不在你的團(tuán)隊,或者他們對為什么要招你并沒有明確的想法。
好的行業(yè)代碼
好的行業(yè)代碼有以下屬性,依序是:可讀性,因為代碼用來讀和維護(hù)的頻次要高于寫。代碼的意圖必須清晰,讓其他開發(fā)者在多年后依然理解。防御性,就是要遵循防御性編碼的實踐。但是,如果真是這種情況,面試官往往在此問題上含糊其辭,說什么這是個新職位,或者說前任自己去創(chuàng)業(yè)開公司了等等。防御性編碼本身就是一個課題,不過其要義是:你必須確保自己所寫的類和方法的不恰當(dāng)使用不會導(dǎo)致你的代碼搞得軟件都崩潰。優(yōu)化,位列清單的后未知,因為大多數(shù)時候你并不需要真正去擔(dān)心這個。這并不意味著你應(yīng)該編寫糟糕代碼,在存在線性解決方案的情況下以O(shè)(n3)的效率去做某個東西。但開發(fā)者通常渴望嘗試并且會在不需要的情況下過度優(yōu)化,卻犧牲了代碼的可讀性和防御性。你永遠(yuǎn)都應(yīng)該能夠證明犧牲了這些屬性的特定優(yōu)化是值得的?,F(xiàn)在你了解了如何去編寫良好的行業(yè)代碼了。
條件二
既然條件一已經(jīng)實現(xiàn)了,那條件二會復(fù)雜么 ?
相比于條件一來說就是同一個key對應(yīng)了多個用戶。那么我們只需要把key加上用戶的信息就可以了。比如說 key_用戶1、key_用戶2。
漏桶算法核心思想
漏桶算法的意思呢就是一個接口在一個時間單位中允許被訪問次數(shù)是動態(tài)變化的(假如一分鐘允許訪問60次,那么從開始計時時不管有沒有被訪問第59秒只允許訪問59次,30秒只允許30次)。為什么這樣呢,因為有另外一個線程在進(jìn)行遞減操作
涉及變量
接口(key)
時間單位(expire)
允許訪問多少次(limit)
遞減間隔時間(interval)
遞減步長(step)
剩余可訪問次數(shù)(value)
key的訪問時間(lastUpdateTime)
當(dāng)前時間(nowTime)(注意nowTime的取值應(yīng)為應(yīng)用取得的時間而不是redis或者nginx取得的時間)
條件一線程一:
12345678 if(存在key){ value--; if(value<=0){ 不能訪問 } }else{ 添加key,設(shè)置value為limit }