您当前所在位置:
88好学网范文常识招聘应聘笔试网易研发类笔试题» 正文

网易研发类笔试题

[10-20 23:53:58]   来源:http://www.88haoxue.com  笔试   阅读:680

概要:第一部分(必做): 计算机科学基础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();ou

网易研发类笔试题,标签:笔试大全,http://www.88haoxue.com

  第一部分(必做): 计算机科学基础

  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::listint ;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, 不区分大小写;

[1] [2] [3]  下一页


Tag:笔试笔试大全招聘应聘 - 笔试
》《网易研发类笔试题》相关文章