文章分类 -  笔试面试

摘要:[译] Facebook杯2013年编程挑战赛——预选赛题目及答案原文 https://www.facebook.com/notes/facebook-hacker-cup/qualification-round-solutions/598486173500621今年的预选赛已经在1月29日结束了,总共有10169名选手成功解决了至少一道问题。来自密歇根大学的Mark在50分钟内解决了全部三道问题,预选赛排名第一。预赛排名中的前500名选手获得了进入下一轮比赛的资格。第一题美丽的字符串(20分)对于一个字符串,定义这个字符串的“美丽程度”是其所有字母“美丽程度”的总和(sum)。每个字母都有一 阅读全文
posted @ 2013-05-22 13:17 busyfruit 阅读(252) 评论(0) 推荐(0)
摘要:Perfect Shuffle的算法作者:张志强, 发表于 2008年4月1日, 最后修改于 2012年1月17日系列:面试题查看该系列所有文章珍爱生命,远离政治。我们继续讨论算法。2008/04/01补充:此算法有重大缺陷。详情请见留言部分。一年前,我们讨论过一个算法问题,perfect shuffle,据称是个微软面试题:输入 a1,a2,⋯,an,b1,⋯,bn ,如何用 O(n) 的时间, O(1) 的空间,将这个序列顺序改为 a1,b1,⋯,an,bn 。那一次讨论我们翻出了问题的来源,一篇长达12页的论文Computing the Cycles in the Perfect Shu 阅读全文
posted @ 2013-05-22 13:16 busyfruit 阅读(390) 评论(0) 推荐(0)
摘要:1.一列士兵横排站开,军官第一秒喊口令"about face",然后士兵有的会左转有的会右转,这样转完后一些士兵会面对面,然后下一秒这些面对面的士兵会向后转。再下一秒仍是如此。问最后会不会结束。证明。如果能结束的话所花时间的上界。答案:会结束。时间上限为人数。2.上题事实上是下面这个题目的升级版:从天上随机掉下来10只毛毛虫到一根1米长的棍子上,落下后毛毛虫随机往棍子两头爬。每条毛毛虫每次碰到其它毛毛虫就掉头爬,直到掉下棍子为止。假设所有毛毛虫爬行速度一样,为每秒钟一厘米。问多少时间后毛毛虫全都掉下来?答案:100。3.再来个第2题的升级版:同上题,1米长的棍子收尾相连变成 阅读全文
posted @ 2013-05-22 13:14 busyfruit 阅读(241) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2013-05-05 18:54 busyfruit 阅读(150) 评论(0) 推荐(0)
摘要:单选题:1.下列说法错误的是_A.... B.... C.千兆网卡的读写速度是1Gb/s. D.DDR3内存的速度是100Gb/s2.下面不能用作linux进程间通信的是_A.共享内存 B.管道名 C.信号量 D.临界区3.CPU和I/0一次只能处理一个程序,现有P1:计算40ms I/o80ms 计算40msP2: 计算120ms I/o20ms 计算40msp3:计算60ms I/o40ms 计算60ms记不清楚了,求并行处理节约的时间4.两个进程同时执行一个函数,初始a=0:void f(){if(a<=0)a++;elsea--;printf("%d",a); 阅读全文
posted @ 2013-05-05 18:52 busyfruit 阅读(226) 评论(0) 推荐(0)
摘要:【题目描述】在 N 条水平线与 M 条竖直线构成的网格中,放 K 枚石子,每个石子都只能放在网格的交叉点上。问在最优的摆放方式下,最多能找到多少四边平行于坐标轴的长方形,它的四个角上都恰好放着一枚石子。【输入】输入文件包含多组测试数据。第一行,给出一个整数T,为数据组数。接下来依次给出每组测试数据。每组数据为三个用空格隔开的整数 N,M,K。33 3 84 5 137 14 86【输出】对于每组测试数据,输出一行"Case #X: Y",其中X表示测试数据编号,Y表示最多能找到的符合条件的长方形数量。所有数据按读入顺序从1开始编号。Case #1: 5Case #2: 18 阅读全文
posted @ 2013-04-14 13:18 busyfruit 阅读(215) 评论(0) 推荐(0)
摘要:以前没有攒资料的习惯,这一两年才养成了这个习惯。有次和大学老师聊天,和她说 攒了不少资料,她就让我分享给她看。后来和她进一步沟通,觉得整理一下,分给学弟学妹看也许对他们更有帮助。为了这个目标,把资料重新梳理了一下,并且添 加了一点我个人对学习方法的理解,分享出来,希望对大家有所帮助! 本文章面向刚刚踏入挨踢行业的新手,高手可以直接飞过!当然,如果有好的资料,或者一些不同的看法,请留言交流!学习方法论享受学习!寻找学习中的乐子,享受这种乐子!强化学习中的成就感,提高自己对课程,对学习,对生活的自信心!在《只要一部计算机,就可以创造出无限的世界》中有更多论述。请自己查看。亲自动手实践!就我的... 阅读全文
posted @ 2013-04-14 00:18 busyfruit 阅读(129) 评论(0) 推荐(0)
摘要:今天阿里笔试题的倒数第二道,给数组排序,这个数组的特点是任一元素现在的位置和把数组排好序后它的位置距离小于k,即a[i]元素在数组排序后将位于{i-k,i+k}这个区间内。要求时间复杂度小于o(nk)。某人的分析:因为交换范围不可能超过(i-k,i+k),所以每排完一轮2K,2K中的前K个就是已排好的,不会再动了,这时候可以直接偏移掉比O(nlogn)和O(nk)小的,只剩下O(nlogk),O(n),O(logn),O(1)这几种情况了,排序算法基本不可能后两种,O(n)的排序都有庞大的空间开销或者特殊的数据范围(比如字节组),所以这种有个参数k的题,根据经验也是O(nlogk)。方法1:建 阅读全文
posted @ 2013-04-14 00:11 busyfruit 阅读(119) 评论(0) 推荐(0)
摘要:1、下面的排序算法中,初始数据集的排列顺序对算法的性能无影响的是()A、插入排序 B、堆排序 C、冒泡排序 D、快速排序2、以下关于Cache的叙述中,正确的是()A、CPU中的Cache容量应大于CPU之外的Cache容量B、Cache的设计思想是在合理成本下提高命中率C、Cache的设计目标是容量尽可能与主存容量相等D、在容量确定的情况下,替换算法的时间复杂度是影响Cache命中率的关键因素3、数据存储在磁盘上的排列方式会影响I/O服务的性能,一个圆环的磁道上有10个物理块,10个数据记录R1------R10存放在这个磁道上,记录的安排顺序如下表所示:物理块12345678910逻辑记录 阅读全文
posted @ 2013-04-14 00:07 busyfruit 阅读(245) 评论(0) 推荐(0)
摘要:2012 Microsoft Intern Hiring Written Test1. Suppose that a Selection Sort of 80 items hascompleted 32 iterations of the main loop. How many items are now guaranteed tobe in their final spot (never to be moved again)?(A) 16 (B) 31 (C) 32 (D) 39 (E) 402. Which Synchronization mechanism(s) is/areused t 阅读全文
posted @ 2013-04-14 00:02 busyfruit 阅读(151) 评论(0) 推荐(0)
摘要:网易游戏 2011.10.151、对于一个内存地址是32位、内存页是8KB的系统。0X0005F123这个地址的页号与页内偏移分别是多少?2、如果X大于0并小于65536,用移位法计算X乘以255的值为?3、一个包含n个节点的四叉树,每个节点都有四个指向孩子节点的指针,这4n个指针中有 个空指针4、以下两个语句的区别是:int *p1 = new int[10];int *p2 = new int[10]();5、计算机在内存中存储数据时使用了大、小端模式,请分别写出A=0X123456在不同情况下的首字节是,大端模式: 小端模式: X86结构的计算机使用 模式6、在游戏设计中,经常会根据不同 阅读全文
posted @ 2013-04-14 00:02 busyfruit 阅读(318) 评论(0) 推荐(0)
摘要:2012 Microsoft Intern Hiring Written Test1. Suppose that a Selection Sort of 80 items hascompleted 32 iterations of the main loop. How many items are now guaranteed tobe in their final spot (never to be moved again)?(A) 16 (B) 31 (C) 32 (D) 39 (E) 402. Which Synchronization mechanism(s) is/areused t 阅读全文
posted @ 2013-04-13 23:59 busyfruit 阅读(270) 评论(0) 推荐(0)
摘要:1、进程切换需要注意哪些问题?2、输入一个升序数组,然后在数组中快速寻找两个数字,其和等于一个给定的值。3、有一个名人和很多平民在一块,平民都认识这个名人,但是这个名人不认识任何一个平民,任意两个平民之间是否认识是未 知的,请设计一个算法,快速找个这个人中的那个名人。 已知已经实现了一个函数 bool know(int a,int b) 这个函数返回true的时候,表明a认识b,返回false的时候表明a不认识b。4、有一类数组,例如书序[1,2,3,4,6,8,9,4,8,11,18,19,100] 前半部分是是一个递增数组,后面一个还是递增数组,但整个数组不是递增数组,那么怎么最快的找出其 阅读全文
posted @ 2013-04-13 23:58 busyfruit 阅读(128) 评论(0) 推荐(0)
摘要:解答(欢迎共同讨论)转载请注明来源http://www.cnblogs.com/jerry19880126/选择D。循环队列的front和rear必有一个不指向实质元素,不然无法判断队列满或空。C。是这样的原理,磁盘会一直朝某个方向旋转,不会因为处理数据而停止。本题要求顺序处理R1到R10,起始位置在R1,一周是20ms,共10 个记录,所以每个记录的读取时间为2ms。首先读R1并处理R1,读R1花2ms,读好后磁盘处于R1的末尾或R2的开头,此时处理R1,需要4ms,因 为磁盘一直旋转,所以R1处理好了后磁盘已经转到R4的开始了,这时花的时间为2+4=6ms。这时候要处理R2,需要等待磁盘从 阅读全文
posted @ 2013-04-13 23:56 busyfruit 阅读(175) 评论(0) 推荐(0)
摘要:一、算法设计1、设rand(s,t)返回[s,t]之间的随机小数,利用该函数在一个半径为R的圆内找随机n个点,并给出时间复杂度分析。2、为分析用户行为,系统常需存储用户的一些query,但因query非常多,故系统不能全存,设系统每天只存m个 query,现设计一个算法,对用户请求的query进行随机选择m个,请给一个方案,使得每个query被抽中的概率相等,并分析之,注意:不到最后一 刻,并不知用户的总请求量。3、C++ STL中vector的相关问题:(1)、调用push_back时,其内部的内存分配是如何进行的?(2)、调用clear时,内部是如何具体实现的?若想将其内存释放,该如何操作 阅读全文
posted @ 2013-04-13 23:53 busyfruit 阅读(154) 评论(0) 推荐(0)
摘要:1、有一个虚拟存储系统,若进程在内存中占3页(开始时内存为空),若采用先进先出(FIFO)页面淘汰算法,当执行如下访问页号序列后1,2,3,4,5,1,2,5,1,2,3,4,5,会发生多少缺页?A、7 B、8 C、9 D、102、设有一个顺序栈S,元素s1、s2、s3、s4、s5、s6依次进栈,如果6个元素的出栈顺序为s2、s3、s4、s6、s5、s1,则顺序栈的容量至少应为多少?A、2 B、3 C、4 D、53、下列关于文件索引结构的叙述中,哪一个是错误的?A、采用索引结构,逻辑上连续的文件存放在连续的物理块中B、系统为每个文件建立一张索引表C、索引结构的优点是访问速度快,文件长度可以动态 阅读全文
posted @ 2013-04-13 23:51 busyfruit 阅读(228) 评论(0) 推荐(0)
摘要:9月11日, 京东:谈谈你对面向对象编程的认识8月20日,金山面试,题目如下: 数据库1中存放着a类数据,数据库2中存放着以天为单位划分的表30张(比如table_20110909,table_20110910,table_20110911),总共是一个月的数据。表1中的a类数据中有一个字段userid来唯一判别用户身份,表2中的30张表(每张表结构相同)也有一个字段userid来唯一识别用户身份。如何判定a类数据库的多少用户在数据库2中出现过?来源:http://topic.csdn.net/u/20120820/23/C6B16CCF-EE15-47C0-9B15-77497291F2B. 阅读全文
posted @ 2013-04-13 23:50 busyfruit 阅读(160) 评论(0) 推荐(0)
摘要:梧桐树同学提出了一条面试题,试着回答了一些。不过感觉用来做面试答案还是有些不太好,同时行文匆匆,可能有些描述不准确或者错误的地方,大家指正。题目如下:记得阿里巴巴的题目有一道是:(C++)谈一谈你所知道的C++的框架....这个问题问得我突然不知道框架是什么了,感觉C++里面很少提框架这个名词啊。【我的回答部分】梧桐树你好,这个问题的确是问得很大啊。我尽量回答看看。框 架,在英文中叫做Framework。应用程序框架就叫做Application Framework。现在是framework满天飞的时候,你没有听过框架,但是你肯定听过.net framework这个词。否则微软的广告就做的太水了 阅读全文
posted @ 2013-04-13 23:47 busyfruit 阅读(458) 评论(0) 推荐(0)
摘要:同步,异步,阻塞,非阻塞同步: '你'亲自办这件事异步: 交代要做的事情,然后忙其他的事情;'别人'(内核)会充当你的跑腿,在条件就绪后将这事办成,然后通知你(callback);阻塞: 如果条件未就绪,'你'必须死等它就绪;进程睡眠非阻塞:如果条件未就绪,'你'可以转身作别的事情;进程可以作任何想做的事情,不过通常是低效的轮询。以这种理解方式,阻塞/非阻塞只对同步操作有意义;异步I/O总是意味着进程不会因为I/O陷入睡眠。将" select"归类为异步+blocking不妥,select实际上完成的只是rea 阅读全文
posted @ 2013-04-13 23:44 busyfruit 阅读(137) 评论(0) 推荐(0)
摘要:技术类笔试试题(卷一)卷一:Java开发、测试工程师(25题)技术类笔试试题(卷二)卷二:搜索研发、C++(25题)1. 20个阿里巴巴B2B技术部的员工被安排为4排,每排5个人,我们任意选其中4人送给他们一人一本《effective c++》,那么我们选出的4人都在不同排的概率为:A.5^4*5!*15!/20!B. 4^5*5!*15!/20!C. 5^4*4!*16!/20!D. 4^5*4!*16!/20!2. 若有序表的关键字序列为(b,c,d,e,f,g,q,r,s,t),则在二分查找关键字b的过程中,先后进行的关键字依次为:A.f,c,bB.f,d,bC.g,c,bD.g,d,b 阅读全文
posted @ 2013-04-13 23:43 busyfruit 阅读(463) 评论(0) 推荐(0)