2014年阿里、腾讯的实习生笔试题分析

    笔者经历了2014年阿里、腾讯的实习生招聘,有些题目,做完了,还以为自己对了,回来编程序跑一下,才知道是陷阱。觉得有必要总结一下哈,在此感谢一下参与讨论的筒子们,小芳,静儿。
陷阱分类:

(1)指针与字符串
7.   阅读下面代码,程序会打印出来的值是(D)------------------------------(腾讯2014实习生笔试)

void f(char **p)
{
	*p += 2;
}
void main()
{
	char *a[] = { “123”,”abc”,”456”};
	f(a);
	printf(“%s\r\n”,*a);
}
A.123   B.   abc  C.  456  D.  3

 

void fun1(char **p)
{
    *p+=2;
    cout<<(int)(*p)<foo(100)+pstBase->foo(x));
	return 0;
}
 

--------------------------------------------2014腾讯实习生笔试题

class Base
{
public:
	Base(){cout << "Base Construction"<....<

 

11. 在一台主流配置的PC机上,调用f(35)所需要的时间大概是(C)

//---------------------------------------阿里2014实习生笔试

unsigned long long  cnt=0;
int f(int x)
{
	int s=0;
	cnt++;
	while(x--)
		s+=f(x);
	return max(s,1);
}

A 几毫秒   B几秒  C几分钟   D几小时

分析如下:

f(0)=1,f(1)=1+f(0)=2f(0),f(2)=1+f(1)+f(0)=4f(0),f(3)=1+f(2)+f(1)+f(0)=8f(0),f(n)=2^nf(0),f函数执行2^n次,分析结果正如图14所示。图14所示为:cout<

你可能感兴趣的:(基础知识积累)