用友Java面試(2017)

一、筆試部分

1.題目是這樣的:老大 老二 老三 每個人有10顆豆  有一個圖表示他們之間的喜愛關系,他們每次都是將自己的豆都平分給自己喜愛的人 問這個游戲什么時候能夠結束?並用一門程序語言描述。(他們之間的喜愛關系有圖像表示 這里描述一下  老大喜愛老二和老三, 老三喜歡老二 ,老二喜歡老大 )

解決方案:首先想的是什么時候結束?如何才能結束?老大老三老二形成了資源循環,老二和老大形成循環 正常按照這樣那是不會結束的  就想到如何破壞其中一條路徑  讓這個循環終止  於是找到了脆弱的一環 讓老三一直不給老二發豆,直至老大一直以/2的速度發完  此時游戲結束。感覺還涉及到一個問題:豆子平分不是整數的偏向問題

2.一道程序題 大概如下

package com.test;
class a{
static{
System.out.print("A");
}
public a() {
System.out.print("a");
}
}
public class test extends a{
static{
System.out.print("B");
}
public test() {
System.out.print("b");
}
public static void main(String[] args) {
a t=new test();
t=new test();
}
}

問:此程序輸出的結果是?

3.有四個人甲乙丙丁要過橋 只有一個手電筒,天很黑 ,過橋都要手電筒,每次過橋可以最多兩個人,甲乙丙丁單獨過橋的時間分別是1,2,5,7 問過橋至少要幾分鍾??

此題分析一下便可以得出結果;

4.問 左連接,右連接,全連接的區別  以及自己用A、B表進行表示查詢結果

5.1詳細描述自己接觸過得一個項目以及所涉及的框架技術等

5.2 舉例一些jdk中常用的接口api等

二、面試

1.如何區分兩個不同對象?

2.如何去除list的重復數據?

3.用過哪些集合對象

4.抽象類和接口的區別是什么

5.equals和==有什么區別

6.知道hashcode編碼?

都是一些比較基礎的問題,沒有涉及什么多線程,高並發之類的

7.講出在你工作過程中遇到的一次最大的困難,然后你是怎么去解決的?結果怎么樣?

8.spring的一些特性

9.什么是事務?(面試官強調 事務是spring的核心部分 不是ioc和aop)

10.spring的作者是誰?看過spring的哪些書?為什么作者要寫出spring

11.如何區分兩個不同的物體,比如這把桌子和另外那個,用override(面試官一直強調override,override,表示沒聽懂。。。)

-------------------------------------------end----------------------------------------------------