Java面試問題總結

前幾天Java面試中遇到的問題。這僅僅是當中的一部分問題,面試中有很是多問題是關於數據結構和算法的。在這裏作下總結。但願有能力的人可以試着作一下,並在評論區留下您的答案,讓你們相互學習。

謝謝
node


程序設計部分

第1題*面試

已知類定義例如如下算法

    class Node {數組

        public Double value;數據結構

        public List<Node> children;框架

    }數據結構和算法

將下面遞歸程序改爲非遞歸程序(兩個程序的輸出應保持順序一致)post

    publicstaticvoid process(Node node) { 學習

        for (int i = 0; i < node.children.size(); i++) {spa

            Node child = node.children.get(i);

            if (child.value < node.value) {

                process(child);

            }

        }

        System.out.println(node.value);

        for (int i = 0; i < node.children.size(); i++) {

            Node child = node.children.get(i);

            if (child.value >= node.value) {

                process(child);

            }

        }

    }

 

第2題*

請無缺下面程序,輸入爲字符數組(數組內每個字符均不一樣樣)和個數n,返回值是由這些字符組成的所有長度爲n的字符串

好比輸入爲{'a','b','c'}和個數1,則返回值爲{"a","b","c"}

好比輸入爲{'a','b','c','d'}和個數2,則返回值爲{"ab","ac","ad","ba","bc","bd","ca","cb","cd","da","db","dc"}

    public String[] doit(char[]chars){

        ......

    }

 

第3題**

參考第1題Node類定義,Node類定義了一個樹形結構,請無缺下面程序

輸入node知足下面條件:

1     node的value是大於0的浮點數

2     node的下級節點(以及更下級節點)的value多是null或者大於0的浮點數

程序的做用例如如下:

1     將樹形結構裏面所有value是null的均設爲大於0的浮點數

2     非葉子節點(即children數量大於0的節點)的value均等於它的children的value之和

    public void doit(Nodenode){

        ......

    }

 

第4題***

Saga語言由變量定義、變量賦值、條件運行三種語句組成,當中變量定義必須位於另外兩種語句以前。三種語句定義例如如下:

變量定義由變量名和常量值組成:

       def變量名=常量值

變量賦值由變量名和運算表達式組成:

       變量名=運算表達式

條件運行由比較表達式和一系列變量賦值組成:

       if(比較表達式){

              變量賦值1

              變量賦值2

              ......

       }

當中:

a)    變量名由小寫字母組成

b)    常量值爲浮點數,好比1.1,2.0等

c)    運算表達式由變量、常量值、運算符加減乘除(+,-,*,/)和括號組成

c)    比較表達式由兩個運算表達式加比較符(>,<, =)組成。演示樣例a+b>100.0

Saga語言程序演示樣例:

def a=100.0

def b=200.0

def c=1.0

def d=0.0

c=(a+b)/2.0

if(c=150.0){

       d=d+1.0

       d=d+1.0

}

請無缺下面程序(寫出思路就能夠)。輸入是隨意Saga語言程序(字符串格式),返回值是程序中所有變量及其終於值。

    public Map<String, Double> doit(Stringprog){

        ......

    }

 

數據分析部分

第1題**

下圖中爲一列時序變量,綠色點爲正常數據點。紅色爲異常數據點。

請設計算法可識別異常點。簡述算法框架和內容要點。










邏輯與幾何部分

第1題***

20個球,按順序標上序號1-20。將這些球放進一個箱子,老師從這個箱子中隨機取出2個球,序號各自是a和b。將a與b的和告訴學生甲。將a與b的積告訴學生乙。而後

甲問乙:你知道a和b各自是多少嗎?

乙回答:不知道

乙問甲:你知道a和b各自是多少嗎?

甲回答:不知道

乙說:呵呵,我知道了

甲說:呵呵。我也知道了

請回答a和b各自是多少,並寫出推理過程。

 

第2題**

已知平行四邊形的邊長分別爲ab,外接正方形如圖所看到的,僅僅外接點。無外接邊。求外接正方形邊長c的範圍

 

相關文章
相關標籤/搜索