淘宝2011.9.21校园招聘会笔试题
来源:互联网 发布:电器价格标签打印软件 编辑:程序博客网 时间:2024/05/12 12:21
1、我们有很多瓶无色的液体,其中有一瓶是毒药,其它都是蒸馏水,实验的小白鼠喝了以后会在5分钟后死亡,而喝到蒸馏水的小白鼠则一切正常。现在有5只小白鼠,请问一下,我们用这五只小白鼠,5分钟的时间,能够检测多少瓶液体的成分(C)
A、5瓶 B、6瓶 C、31瓶 D、32瓶
做法分析
最容易想到的办法:5 只老鼠每人喝一瓶,于是能鉴别 5 瓶
但是答案后面给的 31 和 32 是什么意思?再想想
哦,是不是可以把瓶子中的液体混合着吃,然后根据 5 只老鼠的连锁反应鉴别液体?好像挺科学的样子
5 只老鼠的连锁反应,总共有 2^5 种可能的情况,情况太多,不太好分析,我们从一只老鼠分析着走
1 只老鼠:明显只能鉴别 1 瓶
2 只老鼠:
两只老鼠的反应有:(活,活),(活,死),(死,活),(死,死)
再考虑到:只有一个瓶子的液体有毒,怎么安排他们喝药才能准确鉴别毒药呢(蒸馏水直接无视掉)
(活,死)和(死,活)的状态,肯定是一只老鼠喝了一瓶且仅仅是一瓶另一只老鼠没喝过的
(死,死)这种状态,肯定是他们共同喝了一瓶且仅仅一瓶
我们用 1 表示喝,0 表示不喝,那么,不难凑出如下的喝药策略:
瓶子 1瓶子 2瓶子 3老鼠 1110老鼠 2101
那么,现在得出结论:2 只老鼠能鉴别 3 瓶
3 只老鼠:
三只老鼠的反应有:(活,活,活),(活,活,死),(活,死,活),(活,死,死),(死,活,活),(死,活,死),(死,死,活),(死,死,死)
和两只老鼠一样的分析:每一只老鼠都喝过一瓶且仅仅一瓶其他老鼠没有喝过的液体,任意两只老鼠都喝过一瓶且仅仅一瓶第三只老鼠没有喝过的液体,三只老鼠共同喝过一瓶液体,那么不难得出如下的喝药策略:
瓶子 1瓶子 2瓶子 3瓶子 4瓶子 5瓶子 6瓶子 7老鼠 11001101老鼠 20101011老鼠 30010111
于是得出结论:3 只老鼠能鉴别 7 瓶
到了这里,4,5 只老鼠的情形应该不用分析了吧,答案应该是:n 只老鼠能够鉴别 2^n - 1 瓶。
这道题目的答案应该是 2^5 - 1,选择 C
A、单链表 B、带头结点的非循环双链表 C、带头节点的双循环链表 D、循环链表
3、如果需要对磁盘上的1000W条记录构建索引,你认为下面哪种数据结构来存储索引最合适?()
A、Hash Table B、AVL-Tree C、B-Tree D、List
4、可用来检测一个web服务器是否正常工作的命令是()
A、ping B、tracert C、telnet D、ftp
只有C可以测试Web主机的网页服务器是否工作正常,假设该服务器的网页服务器使用的是默认端口,则可以使用命令telnet hostname 80 来测试其是否工作。
A、Select B、Poll C、IOCP D、Epoll
6、IPV6地址包含了()位
A、16 B、32 C、64 D、128
7、数据库里建索引常用的数据结构是()
A、链表 B、队列 C、树 D、哈希表
8、在公司局域网上ping www.taobao.com没有涉及到的网络协议是()
A、ARP B、DNS C、TCP D、ICMP
DNS是将域名www.taobao.com映射成主机的IP地址,ARP是将IP地址映射成物理地址,ICMP是报文控制协议,由路由器发送给执行ping命令的主机,而一个ping命令并不会建立一条TCP连接,故没有涉及TCP协议。
1、http属于(应用层)协议,ICMP属于(网络层)协议。
2、深度为k的完全二叉树至少有(2^(k-1))个结点,至多有(2^k-1)个结点。
3、字节为6位的二进制有符号整数,其最小值是(-32)。
4、设有28盏灯,拟公用一个电源,则至少需有4插头的接线板数(9)个。
第一个板4个口,此后每增加1个板会消耗1个原来的口,总的只增加3个口,故N个接线板能提供 1+3*N个电源口。
1、有一颗结构如下的树,对其做镜像反转后如下,请写出能实现该功能的代码。注意:请勿对该树做任何假设,它不一定是平衡树,也不一定有序。
1 1
/ | \ / | \
2 3 4 4 3 2
/|\ /\ | | / \ / | \
6 5 7 8 9 10 10 9 8 7 5 6
答:以孩子、兄弟的存储结构来存储这棵树,使之成为一颗二叉树,然后对二叉树进行链表的转换。
- typedef struct TreeNode
- {
- int data;
- struct TreeNode *firstchild;
- struct TreeNode *nextsibling;
- }TreeNode,*Tree;
- void MirrorTree(Tree root)
- {
- if(!root)
- return ;
- if(root->firstchild)
- {
- Tree p=root->firstchild;
- Tree cur=p->nextsibling;
- p->nextsibling=NULL;
- while(cur)
- {
- Tree curnext=cur->nextsibling;
- cur->nextsibling=p;
- if(p->firstchild)
- MirrorTree(p);
- p=cur;
- cur=curnext;
- }
- root->firstchild=p;
- }
- }
- int main(void)
- {
- TreeNode *root=(TreeNode *)malloc(sizeof(TreeNode));
- Init();
- MirrorTree(root);
- OutPut();
- }
答:用B+树来组织,非叶子节点存储(某个时间点,页面访问量),叶子节点是访问的IP地址。这个方案的优点是查询某个时间段内的IP访问量很快,但是要统计某个IP的访问次数或是上次访问时间就不得不遍历整个树的叶子节点。答:
或者可以建立二级索引,分别是时间和地点来建立索引。
四、附加题1、写出C语言的地址对齐宏ALIGN(PALGNBYTES),其中P是要对齐的地址,ALIGNBYTES是要对齐的字节数(2的N次方),比如说:ALIGN(13,16)=16
- ALIGN(P,ALIGNBYTES) ( (void*)( ((unsigned long)P+ALIGNBYTES-1)&~(ALIGNBYTES-1) ) )
typedef union
{
erts_smp_rwmtx_t rwmtx;
byte cache_line_align_[ERTS_ALC_CACHE_LINE_ALIGN_SIZE(sizeof(erts_smp_rwmtx_t))];
}erts_meta_main_tab_lock_t;
erts_meta_main_tab_lock_t main_tab_lock[16];
请问其中用来填充的cache_line_align的作用是?
3、在现代web服务系统的设计中,为了减轻源站的压力,通常采用分布式缓存技术,其原理如下图所示,前端的分配器将针对不同内容的用户请求分配给不同的缓存服务器向用户提供服务。
分配器
/ | \
缓存 缓存 ...缓存
服务器1 服务器2 ...服务器n
1)请问如何设置分配策略,可以保证充分利用每个缓存服务器的存储空间(每个内容只在一个缓存服务器有副本)
2)当部分缓存服务器故障,或是因为系统扩容,导致缓存服务器的数量动态减少或增加时,你的分配策略是否可以保证较小的缓存文件重分配的开销,如果不能,如何改进?
3)当各个缓存服务器的存储空间存在差异时(如有4个缓存服务器,存储空间比为4:9:15:7),如何改进你的策略,按照如上的比例将内容调度到缓存服务器?
- 淘宝2011.9.21校园招聘会笔试题
- 淘宝2011.9.21校园招聘会笔试题
- 【转】淘宝2011.9.21校园招聘会笔试题 .
- 淘宝2011.9.21校园招聘会笔试题
- 淘宝2011.9.21校园招聘会笔试题
- 淘宝2011.9.21校园招聘会笔试题
- 淘宝2011.9.21校园招聘会笔试题
- 淘宝2011.9.21校园招聘会笔试题
- 淘宝2011.9.21校园招聘会笔试题
- 淘宝2011.9.21校园招聘会笔试题
- 淘宝2011.9.21校园招聘会笔试题
- 淘宝2011.9.21校园招聘会笔试题
- 淘宝2011.9.21校园招聘会笔试题
- 淘宝2011.9.21校园招聘会笔试题
- 淘宝2011.9.21校园招聘会笔试题
- 淘宝2011.9.21校园招聘会笔试题
- 淘宝2011.9.21校园招聘会笔试题
- 淘宝2011.9.21校园招聘会笔试题
- 哪种PDF转换成HTML的方法好用
- Android屏幕适配,百分比布局
- 关于iOS的respondsToSelector等的相关使用小结
- 存储及华为解决方案相关知识(一)
- Java-各种排序算法
- 淘宝2011.9.21校园招聘会笔试题
- javax.mail实现邮件发送
- 通达OA 2013增强版和2015版里列表控件的差别
- POJ 1236:Network of Schools
- HDU 4359 Easy Tree DP?(是dp但并不是tree dp + 组合计数)
- 代码实现HDFS数据上传和下载
- 南邮 OJ 1041 线段相交
- codejam 2008 APAC local onsites C 概率dp
- 架构、框架、模式、模块、组件、插件、控件、中间件的含义和区别