用友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----------------------------------------------------