xunlei迅雷笔试总结

上传人:xt****7 文档编号:100547426 上传时间:2022-06-02 格式:DOC 页数:6 大小:23.50KB
收藏 版权申诉 举报 下载
xunlei迅雷笔试总结_第1页
第1页 / 共6页
xunlei迅雷笔试总结_第2页
第2页 / 共6页
xunlei迅雷笔试总结_第3页
第3页 / 共6页
资源描述:

《xunlei迅雷笔试总结》由会员分享,可在线阅读,更多相关《xunlei迅雷笔试总结(6页珍藏版)》请在装配图网上搜索。

1、迅雷的两次笔试都感觉发挥不是那么好,第一笔除了最后一道题的排列组合C(mn)不知如何用C(m-1 n)加上一个数得到外,其它好像不会有问题,但最后还是挂了,说明前面的选择题有不少做错,选择题都是考些C+语法基础的东西,这些东西要重新过一遍。第二次笔试全都是编程实现的题目,一看上去全部都会做,就是写的不好,说到底还是没有先理清整个程序的过程再动笔,越急着动笔就会越乱,时间会越不够,写出来也会很多要修改。迅雷我如果能到面试,估计还是过不了关,听同学说面试第二轮会问些涉及windowsAPI的东西,还有问设计模式的东西,这2个东西我肯定不会了,而且到第三轮面试,主要是谈薪水和时间安排的时候,居然也有

2、人被刷掉。1.实现memcpy(void* dest,const void*src,unsigned int count)2.合并两个链表Lsit* merge(List *l1,List*l2),合成的新链表要以data从大到小有序3.实现字符串转换I love thisgame转换成game this love I,char* convert(char* s)4.实现一个高效率的程序(包括所需程序代码),以尽量短的时间,将用户信息表中150张按照时间hash的表(每张表的数据量为100万,数据字段包含最近修改时间戳/username/nickname/出生地/所在地/年龄/性别/自我介绍)

3、,转换成按照username hash的100张表。转换过程方法和过程需要考虑:a)尽可能短的时间中断用户服务;b)尽可能少的使用机器内存。要求先写编程思路,再写代码,还有适当的注释除了第一题外,都是考数据结构的,自己也是偶尔在网上做了迅雷的在线题,通过后才会去做笔试(迅雷派人到武汉来了),不过感觉应该是大三的去比较合适,自己大二还不太适合,呵呵。当时做的时候感觉做的不太好,用STL编程太入迷了,结果很多基础的东西都没处理好,不过通过这次笔试,发现基础真的很重要。不明白为什么招C+工程师居然不考STL,难道STL有些公司不喜欢用,迅雷网上试题考C+的东西也很少,大部分是C语言的东西(不过基础一

4、定要好)。现在又发现了Boost,不知道自己学的有没有用,哎,郁闷啊,难道一定要去搞Java吗,下学期有Java 的课程,还要在语言上花很多时间啊.还有算法分析与设计的课程,觉得这才是重点与难点,要加油啊。1、选择题30道如char a=123;a=a|057;printf(%d%on,a,a);之类2、简答(1)static的特点(2)引用和指针的区别(3)记不起来了(4)如何使图像变得平滑3、编程题(1)内存复制(2)有效管理类(3)两数组的中位数,时间复杂度o(lg n)附(1): void memcpy(void* pvTo,void* pvFrom, size_t size)void

5、* pbTo =(byte*)pvTo;void* pbFrom =(byte*)pvFrom;ASSERT(pvTo != NULL& pvFrom != NULL); /检查输入指针的有效性ASSERT(pbTo=pbFrom+size |pbFrom=pbTo+size);/检查两个指针指向的内存是否重叠while(size-0)*pbTo+ = *pbFrom+;return(pvTo);void *memcpy(void *s, const void*s0, size_t n) if (n != 0) char *s1 = s; const char *s2 =s0; do *s1+

6、= *s2+; while (-n != 0); return (s); 各种情况包括:、参数是指针,检查指针是否有效、检查复制的源目标和目的地是否为同一个,若为同一个,则直接跳出、读写权限检查、安全检查,是否会溢出memmove考虑重叠问题1.给你10台机器,每个机器2个cpu,2g内存,现在已知在10亿条记录的数据库里执行一次查询需要5秒,问用什么方法能让90%的查询能在100毫秒以内返回结果。2.一个长度为10000的字符串,写一个算法,找出最长的重复子串,如abczzacbca,结果是bc。3.一个保存有10000个URL的文本文件,删除其中相同的URL。4.连接两个单向链表,返回排序

7、后的结果。5.将9个石子放在9x9的方格中,要求同行、同列、45度上无两个石子。6.有一幢100层高的大楼,给你两个完全相同的玻璃围棋子。假设从某一层开始,丢下玻璃棋子就会破碎。那么怎么利用手中的两颗棋子,用一种什么样的最优策略,知道这个临界的层高呢?7.用c+写一个函数,如Foo(const char *str),打印出str的全排列,如abc的全排列:abc, acb, bca, dac, cab,cba8.求出一字符串中最长的数字串。比如as123cdf1234f,返回1234,char* FindNumber(char * out,char *in)。迅雷笔试题/*定义循环左移函数(我

8、没有用左移函数)*/int i,j;char temp=str0;for (i=0;im;i+) str=stri+1;str=temp;void pai(char str,int m,int n) /*定义全排列函数*/ int k;void chang(char str,int m);if (mn) /*定义递归调用出口*/for (k=0;k=m;k+)pai(str,m+1,n); /*递归调用*/chang(str,m); /*调用左移函数*/else printf(%st,str);1.include stdio.hmain()char str=ABCD; /*全排列字符,可以任意

9、多个(相应的下面排列函数中参数4改成全排列字符的个数)*/ clrscr();pai(str,0,4); /*这里参数0(下标)表示从第一个元素开始,4表示元素个数(不是下标)*/ getch();、今天在家看碟,突然接到迅雷一个电话让我去笔试。遇到两个很有意思的题目,现有奖征集第一题的答案:B1套餐一份。1.给你10台机器,每个机器2个cpu,2g内存,现在已知在10亿条记录的数据库里执行一次查询需要5秒,问用什么方法能让90%的查询能在100毫秒以内返回结果。2.一个长度为10000的字符串,写一个算法,找出最长的重复子串,如abczzacbca,结果是bc。最后就做出这一道题目,时间复杂

10、度为O(n!),空间复杂度为O(n)。如果有更好的算法,还请指教。、凭印象了:算法题:1.连接两个单向链表,返回排序后的结果。2.一个保存有10000个URL的文本文件,删除其中相同的URL。3.将9个石子放在9x9的方格中,要求同行、同列、45度上无两个石子。智力题:1.一笔画四条直线穿过3x3的9个点。2.国王给三个囚犯每人戴了一顶帽子,帽子不是黑色就是白色,并且告诉囚犯们谁看到其它两个人都是白帽子或者知道自己戴的是黑帽子,谁就能被释放。囚犯们能看到其它的人帽子颜色,但是看不到自己的帽子颜色。过了一段时间,三个囚犯都没有说话,其中一个聪明的囚犯立刻肯定自己戴的是黑帽子,你知道为什么吗?3.

11、有16个硬币,A和B轮流拿,每次拿的个数只能是1,2,4之一,谁最后拿谁就输。问可以保证赢吗?上机题:nxn的方格,去掉一条对角线的两个对角,余下部分用面积为2的矩形覆盖,即1x2或2x1的矩形,结果是不可能完全覆盖,请编程枚举所有的覆盖情况、一个猴子,身带100个香蕉,他距离家50米.这个猴子要带香蕉回去.但是他一次最多只能背50个香蕉.而且,每走一米他就要吃掉一个香蕉(往回走也要吃香蕉).问:这个猴子最后最多可以带多少个香蕉到家.能不能推广到其他情况,例如500个香蕉100米?、3人戴5个帽子,三蓝两红,自己看不到自己的帽子,只能看到别人的.提问时,前两个人都说不知道自己什么颜色,第三个人

12、居然知道.我没看到原题,不过我觉得这道题应该有一个漏掉的说明:每人只能戴1顶帽子.否则,这道题目就挺繁琐了.另外,题目要问的可能是:这三个人分别戴了什么颜色的帽子?我的解(从第1个人到第3个人):1.蓝,蓝,蓝2.红,红,蓝3.蓝,红,蓝4.红,蓝,蓝另外,如果考虑每个人至少戴1顶帽子,最多3顶帽子的话,还要加上如下情况:1. (红,蓝), (红,蓝),蓝2. (红,蓝),红,蓝3. (红,蓝),蓝,蓝4.红, (红,蓝),蓝5.蓝, (红,蓝),蓝一有n个文件的长度记载在一个无符号64位整数数组中unsigned_int64 file_lengthn,把这n个文件从逻辑上按序首尾拼接在一起形

13、成一个逻辑上的大文件,然后以每块长度为unsigned block_length把这个逻辑上的大文件划分成大小相等的数据块(当然,最后一块有可能比block_length小),请定义和实现一个函数,把边界块的序号集合返回给函数的调用者(第一个数据块序号为0)。注:边界块指的是跨多个文件的数据块。(30分)二请实现一个函数,把两个从大到小的有序链表合并成一个链表,新的链表是一个从小到大的有序链表。struct listint value;list* next;list * merge (list *list1_head, list*list2_head);(30分)三如果两个英文单词,组成它们的字符集合相同,而且相同字符出现的次数也相同,则称这两个词匹配:比如说:同”abbc”与词”babc”是匹配的。有一个词典,存储在字符串数组const char* dictionaryn中,数组的每一个元素是一个词。对于任意给出的句子。句子中的单词使用空格分割。请实现以下函数,判断句子中是否有词和词典中的词匹配。bool is_matching( const char* dictionary,int n, const char* sentence);(40分)

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!