2014校园招聘笔试题的那些事儿

题目来自阿里巴巴、中体彩、宇通酷派、百度、腾讯、美团等。转载请注明出处,谢谢。

 1.   6个珠子连成一圈,要求给它们涂上两种 颜色,如果转圈可以达到,那么算一种。问共有多少种涂法?阿里巴巴

 2.   n从1开始,每次可以对n进行加1或者加倍操作,那么经过多少步可以得到2013?阿里巴巴

 3.   编程实现带有四则运算的算式。例如:3+5*2-8/4  中体彩 

4.  5个人玩对战游戏。每场比赛有一些人是红方,一些人是蓝方。请问最少比赛多少次,使得任意两人之间有一场红队蓝和蓝对红的比赛?阿里巴巴 

5.   给一个数组:1,2,2,3,4,5   要求写出这个数组的全排列,且4不能在3号位置,3和5不能相邻。编程实现打印输出。中体彩

6. 32位机,x=2^31-3,那么x&-x 结果是? 阿里巴巴 

7.  给你前序和后序,写出中序 阿里巴巴 

8. node in a 并且node in b,求两个链表的公共节点吧  阿里巴巴 

9.  当存储数据量超出单节点数据管理能力的时候,可以采取的办法有数据库sharding的解决方案,也就是按照一定的规律把数据分散存储在多个数据管理节点N中。 阿里巴巴

10. 某缓存系统采用LRU淘汰算法,假定缓存容量为4,并且初始为空,那么在顺序访问以下数据项的时候1 5 3 3 5 2 4 1 2   出现缓存直接命中的次数是 _______,最后缓存中即将准备淘汰的数据项是 _____。 阿里巴巴 

11.  一对兔子,从第三个月开始生兔子,每个月生一对兔子。打印从1至20个月的兔子对数。酷派 

12.  快速排序算法 酷派

 13.  从文件读取文本,统计单词个数,可以使用java的工具类。酷派 

14.  给一个表格和一对密钥和密文,得到明文。酷派

 15.  java的线程周期 酷派

16. java线程同步方式,写出两种。酷派

 17. 测试网站登陆框,要求写出测试用例。三个输入:account、pwd、验证码。 百度 

18. linux僵尸进程的产生、后果以及防止出现僵尸进程的方法。 百度 

19.  字符串反转。要求复杂度最低,并算出算法复杂度。 百度 

20. 括号匹配。(1,2,(3,4),(5,(6,7),8),9  删除中间的括号得到 (1,2,3,4,5,6,7,8,9,)  如果括号不匹配,返回错误。 百度 

21.  广告相似度算法   百度

 22. 任务调度(一个大题,关于ETL的,分为很多调度算法题目) 其中有一个是任务队列不能形成闭环  百度 

23. :递归式的先序遍历一个n节点,深度为d的二叉树,则需要栈空间的大小为:A: O(n) B:O(d) C:O(logn) D:(nlogn)

 24 . 假设把整数关键码K散列到N个槽列表,以下哪些散列函数是好的散列函数  阿里巴巴 A: h(K)=K/N; B: h(K)=1; C: h(K)=K mod N; D: h(K)=(K+rand(N)) mod N, rand(N)返回0到N-1的整数

 25. 一个有10亿条记录的文本文件,已按照关键字排好序存储。请设计算法,可以快速的从文件中查找指字关键字的记录  阿里巴巴 java 

26. 关于Linux系统的负载,以下表述正确的是: 阿里巴巴 A: 通过就绪和运行的进程数来反映 B: 通过TOP命令查看 C: 通过uptime查看 D: Load:2.5,1.3,1.1表示系统的负载压力在逐渐变小 

27. 一个2*3的方块矩阵,求出从左上角到右下角最短路径的数目  阿里巴巴 

28. 采用类似数据库的sharding技术处理大于int最大值的大数  阿里巴巴 29. 给出各种java线程“等待”,比如wait()、for循环、sleep(),写出interrupt()后的各种输出结果  阿里巴巴 java 

30. 写出服务端socket流程  百度

 31. 给一个新浪微博comment的API接口,请写出如何测试该接口。  阿里巴巴 

32. 编写一个排队系统  腾讯

 33. 查找两个数组的交集  要求算法高效   腾讯 

34. 1234567的全排列。1234567第二个是1234576,最后知道7654321.请问第xxx个数字是多少?美团 

35. 逻辑分析题。前端后端手机组,每个组3个人参赛。甲乙丙丁四人对比赛结构预测。只有一人正确。分析比赛结果。 美团 

36. 6位数字,在液晶显示,第一位不为0。如果是128621,倒过来还是129621.请问这样的六位数字的概率是多少?美团 

35. 合并AB两个数组,得到一个有序数组C。写出算法,分析复杂度。美团 

36. 输出链表的倒数第K个数。美团 

37. 真因子:14的真因子为1,2,7,不包括自身。如果a的真因子之和为b,b的真因子之和为a,那么a和b就是一个对。请输出100万个这样的对。美团 

38.  编写内存移动函数,并写出测试用例。 北京全路通通信设计 

39. 目前有a,b两个int变量,请问如何不用额外的辅助空间,实现两个变量值得交换。木瓜移动 

40. 请简述同步IO和异步IO的区别以及优缺点。在哪种场合下适合用同步IO,哪种场合下更适合用异步IO?木瓜移动

 41.有一个单链表,其中可能有一个环,也就是某个节点的next指向的是链表中在它之前的节点,这样在链表的尾部形成一环。现在你有2个指针,不能改变链表的值,如何判断一个链表是不是这类链表?木瓜移动 

42.一台计算机,只能进行下来原子运算:赋值,+1操作,固定次数的循环,而且只能操作零和正整数,不会溢出。请用伪代码分别实现加、乘操作。那么减法和除法呢?木瓜移动

43. 两个任意不同的字符串,可以通过有限步进行转换:删除一个字符,添加一个字符、替换一个字符。经过n步转换后变为相同的字符串后,称这两个字符串之间的距离伪n。给定任意两个字符串s1和s2,求他们之间最短的距离。 举例: abc和acb最短距离为1,abca和acab最短距离为2,abababa和bababab最短距离为2,abcabca和bcbc之间最短距离为3.木瓜移动 

44.请写生成24点的四则运算。比如:4*5+3+1 45. 请写一个strcpy函数。strcpy函数为什么要返回指针?

 static char * strcpy(char *dest, const char *src)
  {
  assert(dest != NULL && src != NULL);
  char *ret = dest;
  while ((*dest++ = *src++) != '\0');
  return ret;
  }

static char * strcpy(char *dest, const char *src)
  {
  assert(dest != NULL && src != NULL);
  char *s = (char *)src;
  int delt = dest - src;
  while ((s[delt] = *s++) != '\0');
  return dest;
  }

46. 一个链表,需要查询数据,如果只在链表末尾插入数据,采用哪种类型比较好? 47.

package com.duapp.itfanr;

public class CharDemo {

	public static void main(String[] args) {

		String str = new String("before change") ;
		change(str) ;
		System.out.println(str) ;
	}

	static void change(String str){

		str = "after change" ;

	}

}

以上代码输出什么? 48. String str = new String("abc"); //创建了几个对象? 49.

package com.duapp.itfanr;

public class CharDemo extends father {

	public static void main(String[] args) {

		father mychild = new CharDemo();
		mychild.testMethod1();
		mychild.testMethod2();

	}

	public static void testMethod1() {

		System.out.println("static method1 in child");

	}

	public void testMethod2() {
		System.out.println("method2 in child");

	}

}

class father {

	public static void testMethod1() {

		System.out.println("static method1 in father");

	}

	public void testMethod2() {
		System.out.println("method2 in father");

	}

}

以上代码输出什么? 50.

package com.duapp.itfanr;

public class CharDemo {
	public static void main(String[] args) {	
	int a = 056L;	
	int b = 034L;	
	int c = (int)078L ;
        int d = (int)012L ;
	System.out.println(a) ;
	System.out.println(b) ;
	System.out.println(c) ;	
        System.out.println(d) ;
	}
}

以上代码出现什么错误?

Type mismatch: cannot convert from long to int
Type mismatch: cannot convert from long to int
The literal 078L of type long is out of range

参考:

[1]. http://blog.csdn.net/doc_sgl/article/details/11695671 

[2]. http://www.v2ex.com/t/83090#reply12

你可能感兴趣的:(java,C++,百度,腾讯,阿里巴巴,笔试题,2013,美团,2014,木瓜移动)