您的位置:首页 > 职场人生

九月份 百度、人搜、阿里巴巴、腾讯、华为、京东、小米笔/面试二十题

2012-09-17 19:33 120 查看




九月百度人搜,阿里巴巴,腾讯华为京东小米笔/面试二十题

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-77497291F2B9.html

百度实习笔试题(2012.5.6)

简答题1

一个单词单词字母交换,可得另一个单词,如army->mary,成为兄弟单词。提供一个单词,在字典中找到它的兄弟。描述数据结构和查询过程。评点:同去年9月份的一道题,见此文第3题:/article/1360517.html

简答题2

线程和进程区别和联系。什么是“线程安全”

简答题3

C和C++怎样分配和释放内存,区别是什么

算法题1

一个url指向的页面里面有另一个url,最终有一个url指向之前出现过的url或空,这两种情形都定义为null。这样构成一个单链表。给两条这样单链表,判断里面是否存在同样的url。url以亿级计,资源不足以hash。

算法题2

数组al[0,mid-1] 和 al[mid,num-1],都分别有序。将其merge成有序数组al[0,num-1],要求空间复杂度O(1)

系统设计题

百度搜索框的suggestion,比如输入北京,搜索框下面会以北京为前缀,展示“北京爱情故事”、“北京公交”、“北京医院”等等搜索词。

如何设计使得空间和时间复杂度尽量低。评点:老题,直接上Trie树,Trie树的介绍见:从Trie树(字典树)谈到后缀树。但很快,朋友威士忌就在本文评论下指出:题意允许中文汉字前缀,朴素的trie是无法有效解决汉字问题的。待考证。

人搜笔试1. 快排每次以第一个作为主元,问时间复杂度是多少?(O(N*logN))

2. T(N) = N + T(N/2)+T(2N), 问T(N)的时间复杂度是多少?(O(N))

3. 从(0,1)中平均随机出几次才能使得和超过1?(e)

4.编程题:

一棵树的节点定义格式如下:

struct Node{

Node* parent;

Node* firstChild; // 孩子节点

Node* sibling; // 兄弟节点

}

要求非递归遍历该树。

思路:采用队列存储,来遍历节点。

5. 算法题:

有N个节点,每两个节点相邻,每个节点只与2个节点相邻,因此,N个顶点有N-1条边。每一条边上都有权值wi,定义节点i到节点i+1的边为wi。

求:不相邻的权值和最大的边的集合。
人搜面试,所投职位:搜索研发工程师:面试题回忆

1、删除字符串开始及末尾的空白符,并且把数组中间的多个空格(如果有)符转化为1个。

2、求数组(元素可为正数、负数、0)的最大子序列和。

3、链表相邻元素翻转,如a->b->c->d->e->f-g,翻转后变为:b->a->d->c->f->e->g

4、链表克隆。链表的结构为:

typedef struct list {

int data; //数据字段

list *middle; //指向链表中某任意位置元素(可指向自己)的指针

list *next;//指向链表下一元素

} list;

5、100万条数据的数据库查询速度优化问题,解决关键点是:根据主表元素特点,把主表拆分并新建副表,并且利用存储过程保证主副表的数据一致性。(不用写代码)

6、求正整数n所有可能的和式的组合(如;4=1+1+1+1、1+1+2、1+3、2+1+1、2+2)

7、求旋转数组的最小元素(把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个排好序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3, 4, 5, 1, 2}为{1, 2, 3, 4, 5}的一个旋转,该数组的最小值为1。)

8、找出两个单链表里交叉的第一个元素

9、字符串移动(字符串为*号和26个字母的任意组合,把*号都移动到最左侧,把字母移到最右侧并保持相对顺序不变),要求时间和空间复杂度最小

10、时间复杂度为O(1),怎么找出一个栈里的最大元素

11、线程、进程区别

12、static在C和C++里各代表什么含义

13、const在C/C++里什么意思

14、常用linux命令

15、解释Select/Poll模型
百度,网易,阿里巴巴等面试题:http://blog.csdn.net/hopeztm/article/category/1201028
8月30日,网易有道面试题

var tt = 'aa';

function test()

{

alert(tt);

var tt = 'dd';

alert(tt);

}

test();

8月31日,百度面试题:不使用随机数的洗牌算法,详情:http://topic.csdn.net/u/20120831/10/C837A419-DFD4-4326-897C-669909BD2086.html
9月6日,阿里笔试题:平面上有很多点,点与点之间有可能有连线,求这个图里环的数目。
9月7日,一道华为上机题:

题目描述: 选秀节目打分,分为专家评委和大众评委,score[] 数组里面存储每个评委打的分数,judge_type[] 里存储与 score[] 数组对应的评委类别,judge_type == 1,表示专家评委,judge_type == 2,表示大众评委,n表示评委总数。打分规则如下:专家评委和大众评委的分数先分别取一个平均分(平均分取整),然后,总分 = 专家评委平均分 * 0.6 + 大众评委 * 0.4,总分取整。如果没有大众评委,则 总分 = 专家评委平均分,总分取整。函数最终返回选手得分。

函数接口 int cal_score(int score[], int judge_type[], int n)

上机题目需要将函数验证,但是题目中默认专家评委的个数不能为零,但是如何将这种专家数目为0的情形排除出去。

来源:http://topic.csdn.net/u/20120907/15/c30eead8-9e49-41c2-bd11-c277030ad17a.html

9月8日,腾讯面试题:

假设两个字符串中所含有的字符和个数都相同我们就叫这两个字符串匹配,

比如:abcda和adabc,由于出现的字符个数都是相同,只是顺序不同,

所以这两个字符串是匹配的。要求高效!

又是跟上述第3题中简单题一的兄弟节点类似的一道题,我想,你们能想到的,这篇blog里:http://blog.csdn.net/v_JULY_v/article/details/6347454都已经有了。
阿里云,搜索引擎中5亿个url怎么高效存储;

创新工场微博,前几天才发布的难道不少人的的牛题:http://t.qq.com/iwrecruiting?pgv_ref=im.WBlog.guest&ptlang=2052

4**9 的笔试题,比较简单:

1.求链表的倒数第二个节点

2.有一个整数数组,求数组中第二大的数

阿里巴巴二道题(之前第16题)

第一道:

对于给定的整数集合S,求出最大的d,使得a+b+c=d。a,b,c,d互不相同,且都属于S。集合的元素个数小于等于2000个,元素的取值范围在[

],假定可用内存空间为100MB,硬盘使用空间无限大,试分析时间和空间复杂度,找出最快的解决方法。
阿里巴巴第二道(研发类)

笔试题1,原题大致描述有一大批数据,百万级别的。数据项内容是:用户ID、科目ABC各自的成绩。其中用户ID为0~1000万之间,且是连续的,可以唯一标识一条记录。科目ABC成绩均在0~100之间。有两块磁盘,空间大小均为512M,内存空间64M。

1) 为实现快速查询某用户ID对应的各科成绩,问磁盘文件及内存该如何组织;

2) 改变题目条件,ID为0~10亿之间,且不连续。问磁盘文件及内存该如何组织;

3) 在问题2的基础上,增加一个需求。在查询各科成绩的同时,获取该用户的排名,问磁盘文件及内存该如何组织。

笔试题2:代码实现计算字符串的相似度。

9月14日,小米笔试,给一个浮点数序列,取最大乘积子序列的值,例如 -2.5,4,0,3,0.5,8,-1,则取出的最大乘积子序列为3,0.5,8。
9月15日,中兴面试:

小端系统

union{

int i;

unsigned char ch[2];

}Student;

int main()

{

Student student;

student.i=0x1420;

printf("%d %d",student.ch[0],student.ch[1]);

return 0;

}

输出结果为?(答案:32 20)

持续更新,待续...2012.09.17;

上述所有题目收集整理自或是我一些算法群内的面试题讨论,或朋友提供,或网络帖子,由于整理匆忙,有部分题目未注明详细来源,若以上任何一题目出自你的空间或者发的帖子而未有注明,请于本文评论中告知我,一定即刻补上,谢谢。


后记

经过上面这么多笔试面试题目的了解,你自会看到,除了少数几个特别难的算法题,大部分都是考察的基础,故校招笔试面试的关键是你的80%的基础知识和编程能力 + 20%的算法能力。
再强调一下开头所述的一两点:

如果你有好的笔试面试题,欢迎通过私信或邮件提供给我统一整理出来(对于好的题目提供者,你尽可以在私信:http://weibo.com/julyweibo,或邮件:zhoulei0907@yahoo.cn,里提出你的要求,如贴出你的微博昵称,或个人主页,或免费回赠编程艺术+算法研究的两个PDF文档:http://weibo.com/1580904460/yzpYDAuYz),以供他人借阅;
如果你对以上任何一题有好的思路或解法,更欢迎不吝分享,show me your answer or code

当然,若你对以上任何一题有疑问,而原文中没有给出详细答案,也欢迎在评论中告知,我会补上,大家也可以一起讨论。thank you。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐