网易有道移动端实习生笔试(2014)

来源:互联网 发布:淘宝日本代购有真的吗 编辑:程序博客网 时间:2024/05/17 21:09

昨天中午12点刚参加完有道移动开发实习生笔试,以下是我尽可能回忆的题目。

题目总共分为两类:1.选择题(不定选项数)和填空 2.写程序

一、选择题(不定选项数,少选给一半分,选错或多选不给分)和填空

1.有以下一个函数
int Fib1(int index)
{
if(index<2)
{
return 1;
}

return Fib1(index-1)+Fib1(index-2);
}
请问它的时间复杂度与n的关系
A) 线性关系    B) 二次方关系    C) 三次方关系    D) 指数关系

(提示:考察的是用递归实现的斐波拉契数列的时间复杂度)

2.(布丰投针问题)设地面上有无数条等距的平行线,距离为H,现在随意抛一支长度为L的针(L<H),求针和其中一条木纹相交的概率_______。

3.下面有关C++与Java的关系的错误的有()
A.(忘记了)
B.在面向对象的多态实现中,C++与Java是不同的,在C++中,父类中只有具有virtual修饰的方法才表现为多态;而在Java中,不管有没有virtual或abstract,都表现为多态。
C.C++是静态语言,Java是动态语言。
D.C++直接编译为机器码,然后由计算机执行;Java编译为中间码(字节码),然后必须在具体某台安装了的Java虚拟机的计算机上编译为相应的机器码,才能执行。

4.int a=10;
  int b=5;
  int &i=a;
  int *k=&b;
  int *&j=k;
以下哪些不会让a的值变成5:
A)i=*k;
B)j=&i;
C)(忘记了)
D)(忘记了)

5.下面哪些是服务器脚本:
A)JavaScript    B)JSP    C)PHP    D)ActionScript

6. 我们知道进程由很多线程组成,下面哪些是多个线程共享的:
A) 堆    B)静态变量    C)寄存器    D)栈

7.Android系统是基于一下哪一个系统:
A)UNIX         B) Linux     C) Symbian     D) Solaris

(其它3个选择题不记得了)

二、程序题
1.编写函数实现将含有环的单向链表的环逆向,如果单向链表不含有环则不做任何操作。
例如
将环逆向后


2.编写函数实现寻找二叉树中任意两个给定节点的最近共同父节点。

3.我们知道n个数的排列共有n!种,如果所有的排列按照字典表的先后顺序排序,那么3个数有123、132、213、231、312、321。编写函数实现:给定一个字符串,求它在所有排列的字典表的下一个排列,如23541的下一个是24531。

0 0
原创粉丝点击