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





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