试题一:
1,求1到100内,任取5个不同整数之和小于100的取法有多少种。列出主要思路即可。
2,先有a到b的通道,a只能发送0到9这十个数字到b,现要求设计一个通信协议,使得a可以向b发送任意的数字,并分析这种协议可能遇到的问题和解决办法。
3,如何检测linux系统的瓶颈,如cpu,内存,带宽等。
4,epoll命令的作用。
5,给一个函数:
void fun(void)
{
}
int main()
{
int x = 1;
int y = 2;
fun();
printf(x,y%d %dn
}
问,如何实现函数fun,使得最后的打印结果不是1 2
想到第一题答案,先枚举,然后找规律,答案如下:
89+1+2+3+4 = 99 即可以取最大数89,其他四个数唯一确定:1,2,3,4,此时只有一种解法
88+1+2+3+4 88+1+2+3+5 100,最大数88时,有1+1=2取法
最大87时,有1234,1235,1236,1245,四种取法2+2=4
最大86时,有前面四种加上1237,1246,1345,一共4+3=7种取法
最大85时,前面7种再加上1238,1247,1256,1346,2345,一共7+5=12种取法
最大84时,前面12再加上1239,1248,1257,1347,1356,2346,一共12+6=18种
最大83时,18加上123 10,1249,1258,1267,1348,1357,1456,2347,2356一共18+9=27种
最大82时,25加上123 11,124 10,1259,
试题二:
一、基础题
1、栈和队列的异同点。
2、算法性能的4个评价标准。排序算法中最稳定的算法。那几个算法的空间复杂度是O(1)的。
3、线性表,平衡二叉树,哈希表的优缺点。
4、200支试管,一支有毒。用试纸介意检验,30分钟才可以出结果。有充足器皿和试纸供选用。问如何用尽量少的试纸在最短的时间里测出哪支有毒?
二、算法题
1、用a[n]来构造b[n],满足 b[i] = (a[0]*a[1]*........a[i]*.....a[n-1])/a[i]。
要求:
(1)、不可用除法。
(2)、除了a[n]、b[n]以及遍历索引等变量外,不可用其他变量。
(3)、时间复杂度O(n)、空间复杂度O(1)。
2、对两个已排序的数组,如何高效的求出两个数组中有相同的数。
三、关于一个BBS论坛的。原题回忆不全,就不在这里写了。
【新浪校招研发工程师试题1_面试笔试】相关文章: