| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2732 人关注过本帖
标题:2010和2011年的百度笔试题,算法设计与系统设计题
只看楼主 加入收藏
itma
Rank: 4
等 级:业余侠客
帖 子:105
专家分:266
注 册:2010-2-8
结帖率:83.33%
收藏
已结贴  问题点数:100 回复次数:25 
2010和2011年的百度笔试题,算法设计与系统设计题
2010年的:
图片附件: 游客没有浏览图片的权限,请 登录注册


2012年的:
一、算法设计
1、设rand(s,t)返回[s,t]之间的随机小数,利用该函数在一个半径为R的圆内找随机n个点,并给出时间复杂度分析。

2、为分析用户行为,系统常需存储用户的一些query,但因query非常多,故系统不能全存,设系统每天只存m个query,现设一算法,对用户时时请求的query进行随机选择m个,请给一个方案,使得每个query被抽中概率相等,并分析之,注意:不到最后一刻,并不知用户的总请求量。

二、系统设计
正常用户端每分钟最多发一个请求至服务端,服务端需做一个异常客户端行为的过滤系统,设服务器在某一刻收到客户端A的一个请求,则1分钟内的客户端任何其它请求都需要被过滤,现知每一客户端都有一个IPv6地址可作为其ID,客户端个数太多,以至于无法全部放到单台服务器的内存hash表中,现需简单设计一个系统,使用支持高效的过滤,可使用多台机器,但要求使用的机器越少越好,请将关键的设计和思想用图表和代码表现出来。

[ 本帖最后由 itma 于 2012-2-3 20:08 编辑 ]
搜索更多相关主题的帖子: 设计 算法 百度 服务端 用户 
2012-02-03 19:42
vandychan
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
等 级:贵宾
威 望:18
帖 子:2296
专家分:6418
注 册:2010-8-20
收藏
得分:5 
这个 其实反映出 基础很重要

到底是“出来混迟早要还”还是“杀人放火金腰带”?
2012-02-03 19:43
itma
Rank: 4
等 级:业余侠客
帖 子:105
专家分:266
注 册:2010-2-8
收藏
得分:0 
回复 2楼 vandychan
感觉知识面也得宽。。。
这些题是不是都是实际生活中遇到的情况?
2012-02-03 19:48
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:5 
這叫海選求答案,免費使用勞動力。

授人以渔,不授人以鱼。
2012-02-03 19:58
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:5 
两套题的算法部分比较简单。系统设计部分只是说说设计概念的话也可以应付,这么大的系统我没有实际操作经验。

重剑无锋,大巧不工
2012-02-03 20:01
itma
Rank: 4
等 级:业余侠客
帖 子:105
专家分:266
注 册:2010-2-8
收藏
得分:0 
大家随便聊聊就行,这个帖子是用来散分的。哈哈
2012-02-03 20:04
itma
Rank: 4
等 级:业余侠客
帖 子:105
专家分:266
注 册:2010-2-8
收藏
得分:0 
回复 4楼 TonyDeng
额。。这个网上已经有答案了,我就想知道那些答案是怎么想到的。。。需要接触到哪些知识。。。

[ 本帖最后由 itma 于 2012-2-3 20:11 编辑 ]
2012-02-03 20:10
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
需要你實際做過相關工作的知識。算法和數據結構是緊密結合的,算法的成功,其實決定性因素是你如何構造數據,而不是僅僅是看算法的複雜度。比如,構造單向鏈表還是雙向鏈表,絕對影響算法,需要的經驗,是面對實際項目如何設計數據的結構,它跟多種情形相關,與數據量有關係,與使用的硬件和軟件基礎有關係,與應用場合有關係,等等,這些東西不是紙上談兵可以應付的。這些公司出題,很多時候是拿自己尚未解決的問題暗中尋訪解答思路,所謂的答案,看看好了,你自己不進去做,都不知道他們到底需要什麼、真實是如何解決的。

授人以渔,不授人以鱼。
2012-02-03 20:23
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:5 
图片附件: 游客没有浏览图片的权限,请 登录注册
MaxContinuNum这个要简单点:
程序代码:
#include <stdio.h>
#define MAX_LENGTH 1023
#define IS_NUMBER(ch) ((ch) >= '0' && (ch) <= '9')

char* stringCopy(char* to, const char* from, int length);
int maxContinuNum(const char* inputstr, char* outputstr);
void test(const char* inputstr, char* outputstr);

int main(void) {
   char buffer[MAX_LENGTH + 1];
   test("abcd12345ed125ss123456789", buffer);
   test("123456m12345mz1mzm12mm123mm1234567mz1", buffer);
   test("1dfadfjklgfn22", buffer);
}

char* stringCopy(char* to, const char* from, int length) {
   int i;
   for (i = 0; i < length; ++i)
      to[i] = from[i];
   to[i] = '\0';
   return to;
}

int maxContinuNum(const char* inputstr, char* outputstr) {
   int count = 0, i, j;
   const char* mark = 0;
   for (i = 0; inputstr[i]; ++i) {
      if (IS_NUMBER(inputstr[i])) {
         for (j = 0; IS_NUMBER(inputstr[i + j]); ++j)
            ;
         if (count < j) {
            count = j;
            mark = inputstr + i;
         }
         i = i + j - 1;
      }
   }
   if (count)
      stringCopy(outputstr, mark, count);
   return count;
}

void test(const char* inputstr, char* outputstr) {
   int count = 0;
   printf("inputstr: %s\n", inputstr);
   count = maxContinuNum(inputstr, outputstr);
   printf("count: %d\n", count);
   printf("outputstr: %s\n\n", outputstr);
}


 

My life is brilliant
2012-02-03 21:03
itma
Rank: 4
等 级:业余侠客
帖 子:105
专家分:266
注 册:2010-2-8
收藏
得分:0 
回复 9楼 lz1091914999
啊,很漂亮的程序。
2012-02-03 21:48
快速回复:2010和2011年的百度笔试题,算法设计与系统设计题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.038969 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved