討論 騰訊2012筆試題 你有更好的辦法嗎?

2022-07-14 08:21:12 字數 928 閱讀 2240

問題描述: 例如手機朋友網有n個伺服器,為了方便使用者的訪問會在伺服器上快取資料,因此使用者每次訪問的時候最好能保持同一臺伺服器。已有的做法是根據serveripindex[qqnum % n]得到請求的伺服器,這種方法很方便將使用者分到不同的伺服器上去。但是如果一台伺服器死掉了,那麼n就變為了n-1,那麼serveripindex[qqnum % n]與serveripindex[qqnum %(n-1)]基本上都不一樣了,所以大多數使用者的請求都會轉到其他伺服器,這樣會發生大量訪問錯誤。

: 如何改進或者換一種方法,使得:(1)一台伺服器死掉後,不會造成大面積的訪問錯誤,(2)原有的訪問基本還是停留在同一臺伺服器上;(3)盡量考慮負載均衡。

想了個演算法,在將使用者分配到伺服器時,做一層對映,對映與伺服器一對一對應,當伺服器異常時,對應的對映表項執行順序在其它伺服器中選路,簡單有效。呵呵。。。示例**如下:

#include 

#include

#define max_server 200

int server_ip[max_server] = ;

typedef struct

si_map;

si_map si_map[max_server] = ;

void init()

}int getserver(int index)

return si_map[index].server;

}int change(char c,int old)

void work()

c=getchar();

//隨機改變壞的伺服器

if( c == '

s' || c == '

s' )}}

}void main()

騰訊2023年筆試題

1 1 20的兩個數把和告訴a,積告訴b,a說不知道是多少,b也說不知道,這時a說我知道了,b接著說我也知道了,問這兩個數是多少?答案 2和3 2 爸爸,媽媽,妹妹,小強,至少兩個人同一生肖的概率是多少?答案 1 12 11 10 9 12 12 12 12 1 55 96 41 96 3 計算 a...

騰訊2016筆試題(螺旋矩陣)

問題描述 輸入乙個整數n,輸出n階方陣,也即n n的矩陣 如 n 4,輸出如下 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 可以看成是數列一層一層往裡增加 最外面一層可以分為四段 1 2 3 a 4 5 6 b 7 8 9 c 10 11 12 d 同理,裡面一層分...

騰訊筆試題 五筆編碼

l abcdefghijklmnopqrstuvwxy l list l 第一位之前的個數函式 deffirst l,char k l.index char return k 26 25 1 25 1 第一位確定好後,第二位之前的個數函式 defsecond l,char k l.index cha...