2021年網易面試題 ,Java開發工程師崗位

小編:管理員 395閱讀 2021.06.09

第1題:


程序和進程的本質區別是?

A、在外存和內存存儲

B、非順序和順序執行機器指令

C、獨占使用和分時使用計算機資源

D、靜態和動態特征



第2題:


假設某算法的時間復雜度符合遞推關系式T(n)=2T(n/2)+n,那么該算法的時間復雜度相當于

A、O(n)

B、O(lgn)

C、O(nlgn)

D、O(n2)



第3題:


IPv6地址占____個字節

A、4

B、6

C、8

D、16



第4題:


以下關于RARP協議的說法中,正確的是()?

A、RARP協議根據主機IP地址查詢對應的MAC地址

B、RARP協議用于對IP協議進行差錯控制

C、RARP協議根據MAC地址求主機對應的IP地址

D、RARP協議根據交換的路由信息動態改變路由表



第5題:


 一棟大樓共計200層,某種類型的雞蛋從某一樓層及其以上樓層下來時會被打破,從該樓層(即臨界樓層)以下樓層摔下該雞蛋,雞蛋不會出現破損,F在給你2個完全一樣的該種類型的雞蛋,問:如何通過這2個雞蛋找到該臨界樓層?


第6題:


請描述JAVA異常類的繼承體系結構,以及JAVA異常的分類,并為每種類型的異常各舉三個例子?


第7題:


 描述Java類加載器的原理及其組織結構?


第8題:


在Web開發中,如何實現會話的跟蹤?


第9題:


請簡述Spring架構中IOC的實現原理?


第10題:


檢查程序,是否存在問題,如果存在指出問題所在,如果不存在,說明輸出結果。

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

}

}



第11題:


檢查程序,是否存在問題,如果存在指出問題所在,如果不存在,說明輸出結果。

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”);

}

}



第12題:


檢查程序,是否存在問題,如果存在指出問題所在,如果不存在,說明輸出結果。

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++;

}

}



第13題:


檢查程序,是否存在問題,如果存在指出問題所在,如果不存在,說明輸出結果。

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';

}

}



第14題:


檢查程序,是否存在問題,如果存在指出問題所在,如果不存在,說明輸出結果。

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();

}

}



第15題:


任意2n個整數,從其中選出n個整數,使得選出的n個整數和同剩下的n個整數之和的差最小。


第16題:


有兩個有序的集合,集合的每個元素都是一段范圍,求其交集,例如集合{[4,8],[9,13]}和{[6,12]}的交集為{[6,8],[9,12]}


第17題:


一個文件中有10000個數,用Java實現一個多線程程序將這個10000個數輸出到5個不用文件中(不要求輸出到每個文件中的數量相同)。要求啟動10個線程,兩兩一組,分為5組。每組兩個線程分別將文件中的奇數和偶數輸出到該組對應的一個文件中,需要偶數線程每打印10個偶數以后,就將奇數線程打印10個奇數,如此交替進行。同時需要記錄輸出進度,每完成1000個數就在控制臺中打印當前完成數量,并在所有線程結束后,在控制臺打”Done”.


關聯標簽:
5544444