网易笔试+答案.docx

上传人:b****3 文档编号:5488924 上传时间:2023-05-08 格式:DOCX 页数:5 大小:16.96KB
下载 相关 举报
网易笔试+答案.docx_第1页
第1页 / 共5页
网易笔试+答案.docx_第2页
第2页 / 共5页
网易笔试+答案.docx_第3页
第3页 / 共5页
网易笔试+答案.docx_第4页
第4页 / 共5页
网易笔试+答案.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

网易笔试+答案.docx

《网易笔试+答案.docx》由会员分享,可在线阅读,更多相关《网易笔试+答案.docx(5页珍藏版)》请在冰点文库上搜索。

网易笔试+答案.docx

网易笔试+答案

网易2017年校园招聘笔试题

A卷(研发类笔试题)

    第一部分(必做):

计算机科学基础

1.(单选)软件设计中模块划分应该遵循的准则是:

  A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合

2.(单选)最坏情况下时间复杂度不是n(n-1)/2的排序算法是:

  A.快速排序B.冒泡排序C.直接插入排序D.堆排序

3.哈希表中解决冲突的方法通常可以分为openaddressing和chaining两类,请分别解释这两类冲突解决方法的大致实现原理

4.简单的链表结构拥有很好的插入删除节点性能,但随机定位(获取链表第n个节点)操作性能不佳,请你设计一种改进型的链表结构优化随机定位操作的性能,给出设计思路及其改进后随机定位操作的时间复杂度

5.什么是NP问题?

列举典型的NP问题(至少两个)?

对于一个给定的问题你通常如何判断它是否为NP问题?

6.以下是一个tree的遍历算法,queue是FIFO队列,请参考下面的tree,选择正确的输出.

1

/\

2  3

/\/\

4567

queue.push(tree.root)

while(true){

node=queue.pop();

output(node.value);//输出节点对应数字

if(null==node)

  break;

for(child_nodeinnode.children){

  queue.push(child_node);

}

}

A.1234567

B.1245367

C.1376254

D.1327654

    第二部分(选作):

C/C++程序设计

1.有三个类ABC定义如下,请确定sizeof(A)sizeof(B)sizeof(C)的大小顺序,并给出理由

structA{

A(){}

~A(){}

intm1;

intm2;

};

structB{

B(){}

~B(){}

intm1;

charm2;

staticcharm3;

};

structC{

C(){}

virtual~C(){}

intm1;

shortm2;

};

2.请用C++实现以下print函数,打印链表I中的所有元素,每个元素单独成一行

voidprint(conststd:

:

list&I){

}

3.假设某C工程包含a.c和b.c两个文件,在a.c中定义了一个全局变量foo,在b.c中想访问这一变量时该怎么做?

4.C++中的new操作符通常完成两个工作,分配内存及其调用相应的构造函数初始化

请问:

1)如何让new操作符不分配内存,只调用构造函数?

2)这样的用法有什么用?

5.下面这段程序的输出是什么?

为什么?

classA{

public:

A(){p();}

virtualvoidp(){print("A")}

virtual~A(){p();}

};

classB{

public:

B(){p();}

voidp(){print("B")}

~B(){p();}

};

intmain(int,char**){

A*a=newB();

deletea;

}

6.什么是C++Traits?

并举例说明

第四部分(选作):

Linux应用与开发

1.写出完成以下功能的Linux命令:

1)在当前目录及其子目录所有的.cpp文件中查找字符串"example",不区分大小写;

2)使用sed命令,将文件xyz中的单词AAA全部替换为BBB;

3)用一条命令创建aabbcc三个子目录

4)mountcdrom.iso至/dev/cdrom目录

5)设置ulimit使得程序在Segmentfault等严重错误时可以产生coredump;

2.设umask为002,则新建立的文件的权限是什么?

664

A.-rw-rwr--

B.rwxrwx-w-

C.-------w-

D.rwxrwxr-x

上面第三题,aa bb cc 目录是嵌套的子目录么,要是同一级的话应该下面这样

1   #grep   -i   -r   example   ./*.cpp   

2   #sed   's/AAA/BBB/g '   xyz   

3   #mkdir aa bb cc 

4   #mount   -o   loop   ./cdrom.iso   /mnt/cdrom 

5   C

3.用户HOME目录下的.bashrc和.bash_profile文件的功能有什么区别?

4.写出完成以下功能的gdb命令(可以使用命令简写形式):

1)使用gdb调试程序foo,使用coredump文件core.12023;

2)查看线程信息

3)查看调用堆栈

4)在类ClassFoo的函数foo上设置一个断点

5)设置一个断点,当表达式expr的值被改变时触发

5.

1)例举Linux下多线程编程常用的pthread库提供的函数名并给出简要说明(至少给出5个)

2)pthread库提供哪两种线程同步机制,列出主要API

3)使用pthread库的多线程程序编译时需要加什么连接参数?

3.2    网易2011年校园招聘笔试题

Chararray[]=“abcde”;char*s=array;

Cout<

-------------------------------------------------------------------------------------------

什么是用户级线程和内核级线程?

区别。

-------------------------------------------------------------------------------------------

从C++文件到生成exe文件经过哪三个步骤?

-------------------------------------------------------------------------------------------

有个二维数组A(6*8),每个元素占6字节,起始地址为1000,请问最后一个元素A[5][7]的

起始地址为?

  数组A占内存大小为?

  假设以行优先,则A[1][4]起始地址为?

1.6*8*6=288

2.1000+(5*8+7)*6=1000+(5+7*6)*6=1282

3.1000+(1*8+4)*6=1072

4.1000+(4+7*6)*6=1276

-------------------------------------------------------------------------------------------

用C语言把双向链表中的两个结点交换位置,考虑各种边界问题。

StructNode

{

  Node*prev;

  Node*next;

}

  Voidexchange(Node*node1,Node*node2)

{

}  

-------------------------------------------------------------------------------------------

*.dll,*.lib,*.exe文件分别是什么,有什么区别?

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2