设为首页 加入收藏

TOP

网易A卷(研发类笔试题)(一)
2014-11-23 23:23:03 来源: 作者: 【 】 浏览:11
Tags:网易 研发 试题

第一部分(必做): 计算机科学基础
1. (单选)软件设计中模块划分应该遵循的准则是:
A.低内聚低耦合 B.高内聚低耦合 C.低内聚高耦合 D.高内聚高耦合
2. (单选)最坏情况下时间复杂度不是n(n-1)/2的排序算法是:
A.快速排序 B.冒泡排序 C.直接插入排序 D.堆排序
3. 哈希表中解决冲突的方法通常可以分为open addressing和chaining两类, 请分别解释这两类冲突解决方法的大致实现原理
4. 简单的链表结构拥有很好的插入 删除节点性能, 但随机定位(获取链表第n个节点)操作性能不佳, 请你设计一种改进型的链表结构优化随机定位操作的性能, 给出设计思路及其改进后随机定位操作的时间复杂度
5. 什么是NP问题 列举典型的NP问题(至少两个) 对于一个给定的问题你通常如何判断它是否为NP问题
6. 以下是一个tree的遍历算法, queue是FIFO队列, 请参考下面的tree, 选择正确的输出.


1
/ \
2 3
/ \ / \
4 5 6 7



queue.push(tree.root)
while(true){
node=queue.pop();
output(node.value);//输出节点对应数字
if(null==node)
break;
for(child_node in node.children){
queue.push(child_node);
}
}
A. 1234567
B. 1245367
C. 1376254
D. 1327654



第二部分(选作): C/C++程序设计
1. 有三个类A B C定义如下, 请确定sizeof(A) sizeof(B) sizeof(C)的大小顺序, 并给出理由
struct A{
A() {}
~A() {}
int m1;
int m2;
};


struct B{
B() {}
~B() {}
int m1;
char m2;
static char m3;
};



struct C{
C() {}
virtual~C() {}
int m1;
short m2;
};
2. 请用C++实现以下print函数,打印链表I中的所有元素, 每个元素单独成一行
void print(const std::list &I){
}
3. 假设某C工程包含a.c和b.c两个文件,在a.c中定义了一个全局变量foo, 在b.c中想访问这一变量时该怎么做
4. C++中的new操作符通常完成两个工作, 分配内存及其调用相应的构造函数初始化
请问:
1) 如何让new操作符不分配内存, 只调用构造函数
2) 这样的用法有什么用
5. 下面这段程序的输出是什么 为什么
class A{
public:
A(){p();}
virtual void p(){print(“A”)}
virtual ~A(){p();}
};


class B{
public:
B(){p();}
void p(){print(“B”)}
~B(){p();}
};


int main(int, char**){
A* a=new B();
delete a;
}
6. 什么是C++ Traits 并举例说明



第三部分(选作): JAVA程序设计
1. (单选)以下Java程序运行的结构是:
public class Tester{
public static void main(String[] args){
Integer var1=new Integer(1);
Integer var2=var1;
doSomething(var2);
System.out.print(var1.intValue());
System.out.print(var1==var2);
}


public static void doSomething(Integer integer){
integer=new Integer(2);
}
}
A. 1true
B. 2true
C. 1false
D. 2false
2. (单选)往OuterClass类的代码段中插入内部类声明, 哪一个是正确的:
public class OuterClass{
private float f=1.0f;
//插入代码到这里
}
A.
class InnerClass{
public static float func(){return f;}
}
B.
abstract class InnerClass{
public abstract float func(){}
}
C.
static class InnerClass{
protected static float func(){return f;}
}
D.
public class InnerClass{
static static float func(){return f;}
}
3. Java中的interface有什么作用 举例说明哪些情况适合用interface, 哪些情况下适合用抽象类.
4. Java多线程有哪几种实现方式 Java中的类如何保证线程安全 请说明ThreadLocal的用法和适用场景
5. 线程安全的Map在JDK 1.5及其更高版本环境 有哪几种方法可以实现
6.
1) 简述Java ClassLoader的模型, 说明其层次关系及其类加载的主要流程即可.
2) TypeA.class位于classpath下, /absolute_path/TypeA.class为其在文件系统中的绝对路径, 且类文件小于1k, MyClassLoader为一个自定义的类加载器, 下面的这段类加载程序是否正确, 如果有错请指出哪一行有错, 简述理由



import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;



public class Tester{
public static void main(String[] args){
MyClassLoader cl1=new MyClassLoader();
try{
File f=new File(“/absolute_path/TypeA.class”);
byte[] b=new byte[1024];
InputStream is=new FileInputStream(f);
int I=is.read(b);
Class c=cl1.defineMyClass(null,b,0,1);
TypeA a=(TypeA)c.newInstance();
}catch(Exception e){
e.printStacktrace();
}
}
}


第四部分(选作): Linux应用与开发
1. 写出完成以下功能的Linux命令:
1) 在当前目录及其子目录所有的.cpp文件中查找字符串”example”, 不区分大小写;
2) 使用sed命令, 将文件xyz中的单词AAA全部替换为BBB;
3) 用一条命令创建aa bb cc三个子目录
4) mount cdrom.iso至/dev/cdrom目录
5) 设置ulimit使得程序在Segment fault等严重错误时可以产生coredump;
2. 设umask为002, 则新建立的文件的权限是什么
A. -rw-rwr–
B. rwxrwx-w-
C. ——-w-
D. rwxrwxr-x
3. 用户HOME目录下的.bashrc和.bash_profile文件的功能有什么区别
4. 写出完成以下功能的gdb命令(可以使用命令简写形式):
1) 使用gdb调试程序foo, 使用coredump文件core.12023;
2) 查看线程信息
3) 查看调用堆栈
4) 在类ClassFoo的函数foo上设置一个断点
5) 设置一个断点, 当表达式expr的值被改变时触

首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇面试常见话题的问与答 About Your.. 下一篇软件测试人员应该具备的知识结构

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: