2021年网易技术架构面试题

小编:管理员 964阅读 2021.06.10

第1题:


1、 程序和进程的本质区别是?

A、在外存和内存存储

B、非顺序和顺序执行机器指令

C、独占使用和分时使用计算机资源

D、静态和动态特征


第2题:


 2、 假设某算法的时间复杂度符合递推关系式T(n)=2T(n/2)+n,那么该算法的时间复杂度相当于

A、O(n)

B、O(lgn)

C、O(nlgn)

D、O(n2)


第3题:


 

3、 下图一个非确定有限自动机(NFA)的状态转换,其等价的正规式为()

A、0*|(0|1)0

B、(0|10)*

C、0*((0|1)0)*

D、0*(10)*


第4题:


 4、 IPv6地址占____个字节

A、4

B、6

C、8

D、16


第5题:


 5、 以下关于RARP协议的说法中,正确的是()?

A、RARP协议根据主机IP地址查询对应的MAC地址

B、RARP协议用于对IP协议进行差错控制

C、RARP协议根据MAC地址求主机对应的IP地址

D、RARP协议根据交换的路由信息动态改变路由表


第6题:


 6、 一栋大楼共计200层,某种类型的鸡蛋从某一楼层及其以上楼层下来时会被打破,从该楼层(即临界楼层)以下楼层摔下该鸡蛋,鸡蛋不会出现破损。现在给你2个完全一样的该种类型的鸡蛋,问:如何通过这2个鸡蛋找到该临界楼层?


第7题:


 7、 请描述JAVA异常类的继承体系结构,以及JAVA异常的分类,并为每种类型的异常各举三个例子?


第8题:


 8、 描述Java类加载器的原理及其组织结构?


第9题:


 9、 在Web开发中,如何实现会话的跟踪?


第10题:


 10、请简述Spring架构中IOC的实现原理?


第11题:


 11、检查程序,是否存在问题,如果存在指出问题所在,如果不存在,说明输出结果。

package algorithms.com.guan.javajicu;

public class TestDemo {

public static String output =””;

public static void foo(inti){

try{

if(i == 1){

throw new Exception();

}

}catch(Exception e){

output += “2”;

return ;

}finally{

output += “3”;

}

output += “4”;

}

public static void main(String[] args) {

foo(0);

foo(1);

System.out.println(output); //3423

}

}


第12题:


 12、检查程序,是否存在问题,如果存在指出问题所在,如果不存在,说明输出结果。

package algorithms.com.guan.javajicu;

public class HelloB extends HelloA{

public HelloB(){

System.out.println(“HelloB”);

}

{

System.out.println(“I’m B class”);

}

static{

System.out.println(“static B”);

}

public static void main(String[] args) {

new HelloB();

/**输出结果参考答案:

* static A

staticB

I’mA class

HelloA

I’mB class

HelloB

*/

}

}

class HelloA{

public HelloA(){

System.out.println(“HelloA”);

}

{

System.out.println(“I’m A class”); //这句话是什么时候加载?

}

static{

System.out.println(“static A”);

}

}


第13题:


 13、检查程序,是否存在问题,如果存在指出问题所在,如果不存在,说明输出结果。

package algorithms.com.guan.javajicu;

public class Inc {

public static void main(String[] args) {

Incinc = new Inc();

int i = 0;

inc.fermin(i);

i= i ++;

System.out.println(i); //输出结果为0

}

void fermin(int i){

i++;

}

}


第14题:


 14、检查程序,是否存在问题,如果存在指出问题所在,如果不存在,说明输出结果。

package algorithms.com.guan.javajicu;

public class Example {

Stringstr = new String(“good”);

char[] ch = {‘a’,’b’,’c’};

public static void main(String[] args) {

Exampleex = new Example();

ex.change(ex.str, ex.ch);

System.out.print(ex.str +”and”);

System.out.print(ex.ch);

//参考答案输出结果:goodandgbc

}

public void change(Stringstr, char ch[]){

str= “test ok”;

ch[0]= ‘g';

}

}


第15题:


 15、检查程序,是否存在问题,如果存在指出问题所在,如果不存在,说明输出结果。

packagealgorithms.com.guan.javajicu;

import java.util.Date;

public class SuperTest extends Date{

private static final long serialVersionUID = 1L;

private void test(){

System.out.println(super.getClass().getName());

//参考答案输出:algorithms.com.guan.javajicu.SuperTest

}

public static void main(String[]args){

newSuperTest().test();

}

}


第16题:


 16、任意2n个整数,从其中选出n个整数,使得选出的n个整数和同剩下的n个整数之和的差最小。


第17题:


 17、有两个有序的集合,集合的每个元素都是一段范围,求其交集,例如集合{[4,8],[9,13]}和{[6,12]}的交集为{[6,8],[9,12]}


第18题:


 18、一个文件中有10000个数,用Java实现一个多线程程序将这个10000个数输出到5个不用文件中(不要求输出到每个文件中的数量相同)。要求启动10个线程,两两一组,分为5组。每组两个线程分别将文件中的奇数和偶数输出到该组对应的一个文件中,需要偶数线程每打印10个偶数以后,就将奇数线程打印10个奇数,如此交替进行。同时需要记录输出进度,每完成1000个数就在控制台中打印当前完成数量,并在所有线程结束后,在控制台打”Done”.


关联标签: