C、C++各大公司面试笔试题
Sure之面试题平台运营方案
1
微软十五道面试题
1、有一个整数数组,请求出两两之差绝对值最小的值,
记住,只要得出最小值即可,不需要求出是哪两个数。
2、写一个函数,检查字符是否是整数,如果是,返回其整数值。
(或者:怎样只用4行代码编写出一个从字符串到长整形的函数?)
3、给出一个函数来输出一个字符串的所有排列。
4、请编写实现malloc()内存分配函数功能一样的代码。
给出一个函数来复制两个字符串A和B。字符串A的后几个字节和字符串B的前几个字节
重叠。
5、怎样编写一个程序,把一个有序整数数组放到二叉树中?
6、怎样从顶部开始逐层打印二叉树结点数据?请编程。
7、怎样把一个链表掉个顺序(也就是反序,注意链表的边界条件并考虑空链表)?
8、请编写能直接实现intatoi(constcharpstr)函数功能的代码。
9、编程实现两个正整数的除法
编程实现两个正整数的除法,当然不能用除法操作符。
//returnx/y.
intdiv(constintx,constinty)
{
....
}
10、在排序数组中,找出给定数字的出现次数
比如[1,2,2,2,3]中2的出现次数是3次。
11、平面上N个点,每两个点都确定一条直线,
求出斜率最大的那条直线所通过的两个点(斜率不存在的情况不考虑)。时间效率越高越好。
12、一个整数数列,元素取值可能是0~65535中的任意一个数,相同数值不会重复出现。
0是例外,可以反复出现。
请设计一个算法,当你从该数列中随意选取5个数值,判断这5个数值是否连续相邻。
注意:
-5个数值允许是乱序的。比如:87506
-0可以通配任意数值。比如:87506中的0可以通配成9或者4
-
0可以多次出现。
-复杂度如果是O(n2)则不得分。
13、设计一个算法,找出二叉树上任意两个结点的最近共同父结点。
复杂度如果是O(n2)则不得分。
Sure之面试题
2
14、一棵排序二叉树,令f=(最大值+最小值)/2,
设计一个算法,找出距离f值最近、大于f值的结点。
复杂度如果是O(n2)则不得分。
15、一个整数数列,元素取值可能是1~N(N是一个较大的正整数)中的任意一个数,相
同数值不会重复出现。
设计一个算法,找出数列中符合条件的数对的个数,满足数对中两数的和等于N+1。
复杂度最好是O(n),如果是O(n2)则不得分。
谷歌八道面试题
16、正整数序列Q中的每个元素都至少能被正整数a和b中的一个整除,现给定a和b,
需要计算出Q中的前几项,例如,当a=3,b=5,N=6时,序列为3,5,6,9,10,12
(1)、设计一个函数voidgenerate(inta,intb,intN,intQ)计算Q的前几项
(2)、设计测试数据来验证函数程序在各种输入下的正确性。
17、有一个由大小写组成的字符串,现在需要对他进行修改,将其中的所有小写字母排在答谢字母的前面(大写或小写字母之间不要求保持原来次序),如有可能尽量选择时间和空间效率高的算法c语言函数原型voidproc(charstr)也可以采用你自己熟悉的语言
18、如何随机选取1000个关键字
给定一个数据流,其中包含无穷尽的搜索关键字(比如,人们在谷歌搜索时不断输入的关键字)。如
何才能从这个无穷尽的流中随机的选取1000个关键字?
19、判断一个自然数是否是某个数的平方
说明:当然不能使用开方运算。
20、给定能随机生成整数1到5的函数,写出能随机生成整数1到7的函数。
21、1024!末尾有多少个0?
22、有5个海盗,按照等级从5到1排列,最大的海盗有权提议他们如何分享100枚金币。
但其他人要对此表决,如果多数反对,那他就会被杀死。
他应该提出怎样的方案,既让自己拿到尽可能多的金币又不会被杀死?
(提示:有一个海盗能拿到98%的金币)
23、Google2009华南地区笔试题
给定一个集合A=[0,1,3,8](该集合中的元素都是在0,9之间的数字,但未必全部包含),
缘醉莫求
指定任意一个正整数K,请用A中的元素组成一个大于K的最小正整数。
比如,A=[1,0]K=21那么输出结构应该为100。
百度三道面试题
24、用C语言实现一个revert函数,它的功能是将输入的字符串在原串上倒序后返回。
25、用C语言实现函数voidmemmove(voiddest,constvoidsrc,size_tn)。memmove
函数的功能是拷贝src所指的内存内容前n个字节到dest所指的地址上。
Sure之面试题
3
分析:由于可以把任何类型的指针赋给void类型的指针,这个函数主要是实现各种数据类
型的拷贝。
26、有一根27厘米的细木杆,在第3厘米、7厘米、11厘米、17厘米、23厘米这五个位
置上各有一只蚂蚁。
木杆很细,不能同时通过一只蚂蚁。开始时,蚂蚁的头朝左还是朝右是任意的,它们只会朝前走或调头,但不会后退。
当任意两只蚂蚁碰头时,两只蚂蚁会同时调头朝反方向走。假设蚂蚁们每秒钟可以走一厘米的距离。
编写程序,求所有蚂蚁都离开木杆的最小时间和最大时间。
腾讯七道面试题
十大珠宝排名27、请定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句
28、两个数相乘,小数点后位数没有限制,请写一个高精度算法
29、有A、B、C、D四个人,要在夜里过一座桥。他们通过这座桥分别需要耗时1、2、5、10分钟,只有一支手电,并且同时最多只能两个人一起过桥。请问,如何安排,能够在17分钟内这四个人都过桥?
30、有12个小球,外形相同,其中一个小球的质量与其他11个不同,
给一个天平,问如何用3次把这个小球找出来,并且求出这个小球是比其他的轻还是重
31、在一个文件中有10G个整数,乱序排列,要求找出中位数。内存限制为2G。只写出斯里巴加湾
思路即可。
32、一个文件中有40亿个整数,每个整数为四个字节,内存为1GB,写出一个算法:求出这个文件里的整数里不包含的一个整数
33、腾讯服务器每秒有2w个QQ号同时上线,找出5min内重新登入的qq号并打印出来。
雅虎三道面试题
34、编程实现:把十进制数(long型)分别以二进制和十六进制形式输出,不能使用printf
系列
35、编程实现:找出两个字符串中最大公共子字符串,如"abccade","dgcadde"的最大子串为"cad"
36、有双向循环链表结点定义为:
立体图形素描structnode
{
intdata;
structnodefront,next;
};
Sure之面试题
4
有两个双向循环链表A,B,知道其头指针为:pHeadA,pHeadB,请写一函数将两链表中data 值相同的结点删除。
联想五道笔试题
37、1)、设计函数intatoi(chars)。
2)、inti=(j=4,k=8,l=16,m=32);printf(“%d”,i);输出是多少?礼仪小故事
3)、解释局部变量、全局变量和静态变量的含义。
4)、解释堆和栈的区别。
5)、论述含参数的宏与函数的优缺点。
38、顺时针打印矩阵
题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。
例如:如果输入如下矩阵:
1234
5678
9101112
13141516
则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10。
分析:包括Autodesk、EMC在内的多家公司在面试或者笔试里采用过这道题。
39、对称子字符串的最大长度
题目:输入一个字符串,输出该字符串中对称的子字符串的最大长度。
比如输入字符串“google”,由于该字符串里最长的对称子字符串是“goog”,因此输出4。
分析:可能很多人都写过判断一个字符串是不是对称的函数,这个题目可以看成是该函数的加
强版。
40、用1、2、2、3、4、5这六个数字,写一个main函数,打印出所有不同的排列,
如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连.
41、微软面试题
一个有序数列,序列中的每一个值都能够被2或者3或者5所整除,1是这个序列的第一个
元素。求第1500个值是多少?
网易五道游戏笔试题
42、两个圆相交,交点是A1,A2。现在过A1点做一直线与两个圆分别相交另外一点B1,B2。
B1B2可以绕着A1点旋转。问在什么情况下,B1B2最长
Sure之面试题
5
43、Smith夫妇召开宴会,并邀请其他4对夫妇参加宴会。在宴会上,他们彼此握手,
关于毛泽东的诗词
并且满足没有一个人同自己握手,没有两个人握手一次以上,并且夫妻之间不握手。
然后Mr.Smith问其它客人握手的次数,每个人的答案是不一样的。
求MrsSmith握手的次数
44、有6种不同颜色的球,分别记为1,2,3,4,5,6,每种球有无数个。现在取5个球,求在
一下
的条件下:
1、5种不同颜色,
2、4种不同颜色的球,
3、3种不同颜色的球,
4、2种不同颜色的球,
cad填充图案怎么添加
它们的概率。
45、有一次数学比赛,共有A,B和C三道题目。所有人都至少解答出一道题目,总共有
25人。
在没有答出A的人中,答出B的人数是答出C的人数的两倍;单单答出A的人,比其他答