第一個人:
一面問題:
- 自我介紹。
- 你的學習方法是什麼 ?
- 你在開發時所遇到的最大的技術問題是什麼,如何解決的?(最好準備兩個以上)
- 你都寫過哪些項目?
- 你都瞭解什麼數據庫?
- 線程之間如何通訊?
- 分組查詢用什麼語句?
- 創建一個新線程有哪些方法?
二面問題:
- 準備在這裏實習多長時間?
- 爲什麼選擇中原銀行?
- 你對金融行業的理解?
- 你遇到的最大的技術難題,選出來一個說一說。(與一面的問題一樣,但只要一個)
- 說說自己的優缺點。
第二個人:
一面:一面是三個人,交三份簡歷。問的問題大多是與項目有關,當時看到我前面的同學被懟了,擔心輪到自己也被懟,後來我進去了,讓我自我介紹,然後是說項目。我當時簡歷寫的不好,導致沒有被懟,只是簡單介紹了自己的項目內容,負責的東西。後來說了hashmap的源碼,之後就被趕出來…當時覺得差不多涼了。
二面:二面之前我請教了一位在網易雲音樂工作的老哥,然後幫助我完善了簡歷,二面是一個面試官,他好像懂C++多一些,java問了static和final,排序算法,然後手寫快排。寫完之後,問了數據庫索引,索引是什麼,b+樹爲什麼查找的快等等。二面面試官比較嚴厲(現在是我導師,其實人可好)。
三面:三面是部門老總和hr老大。面試氛圍比較輕鬆,還是說項目,然後說一些經歷,跟聊天一樣。
第三個人:
1)自我介紹(面到我的時候就沒了,我同學有遇到讓自我介紹的)
2)三分鐘說一下自己做過的項目,實現了什麼功能,用到了什麼技術,學到了什麼。
3)根據你的項目,出了一個SQL語句查詢題,我的訂票系統,讓查時間最近的十條訂票記錄,我懵了,我沒答上來,可見,不能打沒有準備的仗。
4)設計模式瞭解不,我:不太瞭解,可能面試官們覺得實在跟我沒辦法聊了,場面一度尷尬,我想說,但也想不起來,面試官依然願意給我機會,就轉移了話題。
5)講一下JAVA的語法,我又懵了,扯了扯接口和抽象類,扯了扯jsp和servlet...
總結面試回答:
1.自我介紹:
我叫XXX,我是XX大學XXXXXX專業的本科生,在大學四年,我參加一些項目和兩個實習,其中我覺得比較重要的也是收穫比較大的項目有兩個,一個是新型冠狀病毒風險查詢系統,這個是我的畢業設計。另外一個是法律援助網站,這個項目最後拿到了挑戰杯校級二等獎,有點可惜因爲當時我們對這個項目期望非常高的。在平常我也會在csdn上寫一些技術性博客,因爲我比較喜歡研究技術。
2.學習方法:
首先我會主動學習一些我比較感興趣的技術,比如javaweb,ssm等,我如何去學習他們呢?我會制定幾個小目標,把這些技術分成知識點,每天學習幾個知識點並且我會寫一個小項目裏面都會集成這些技術,寫完之後我會在csdn博客上總結並發表。因爲我覺得這樣做,對我的幫助非常大。
3.爲什麼選擇中原銀行,對金融行業的理解:(10道面試題)
https://wenku.baidu.com/view/fda232da185f312b3169a45177232f60ddcce79a.html
(1)貴公司有非常好的培訓體系,我可以得到非常好的鍛鍊,從而掌握專業技能。
(2)貴公司是個大企業,工資、待遇、培訓都會使我滿意,我向往這樣的公司很久了。
(3)我十分看好貴公司所在的行業,我認爲貴公司十分重視人才,而且這項工作很適合我,相信自己一定能做好。
4.寫過哪些項目,遇到最大的技術難題是什麼?
我也做過不少項目,其中我比較滿意的有兩個項目,一個是畢業設計新型冠狀病毒風險查詢系統,另外一個是法律諮詢網站(挑戰杯校級二等獎)。
第一個項目介紹:我參加了我們老師的項目組,(項目展示流程,1.用戶輸入起點和終點,後臺會返回一個感染風險值 2.用戶可以在前端通過可視化工具更加直觀看到鄭州市疫情圖)我們這個項目分爲兩個方向一個是小程序端,一個是web網站。我的任務是寫web網站後臺。
我的任務主要有三個:
(1)調用高德地圖API,它用來做路線規劃
(2)感染風險值的計算
(3)調用一些可視化工具(ECharts)
分析一:調用高德地圖API:在form表單裏面輸入起點,途經點和終點,高德地圖自動規劃路線。
分析二:最大技術問題:風險等級是怎麼計算的,分爲兩個部分:
(1)首先需要把前端輸入的地點通過高德地圖API轉換成XY軸座標存到數據庫裏面
(2)然後寫sql語句:用到sql裏面的count函數,把座標與數據庫中患者軌跡座標比較並返回軌跡重合或者在一定區域內的個數
select
count(case when num1<=113.631619 and num1>=113.631419 and num2<=34.753639 and num2>=34.753439 THEN 1 END) as '重複的個數'
FROM test
(3)在service層進行計算,並將結果傳到前端。
DAO層、Service層和Controller層的區別:
DAO層:
DAO層叫數據訪問層,全稱爲data access object,屬於一種比較底層,比較基礎的操作,具體到對於某個表的增刪改查,也就是說某個DAO一定是和數據庫的某一張表一一對應的,其中封裝了增刪改查基本操作,建議DAO只做原子操作,增刪改查。
Service層:
Service層叫服務層,被稱爲服務,粗略的理解就是對一個或多個DAO進行的再次封裝,封裝成一個服務,所以這裏也就不會是一個原子操作了,需要事物控制。
Controler層:
Controler負責請求轉發,接受頁面過來的參數,傳給Service處理,接到返回值,再傳給頁面。
分析三:可視化工具的調用流程:
1.前臺ajax訪問後臺,獲取json數據
2.前端放ECharts圖,給ECharts的參數賦值就可以了
什麼是ajax:
Ajax
是一種用於創建快速動態網頁的技術。- 通過在後臺與服務器進行少量數據交換,
Ajax
可以使網頁實現異步更新。這意味着可以在不重新加載整個網頁的情況下,對網頁的某部分進行更新。 - 傳統的網頁(不使用 Ajax)如果需要更新內容,必需重載整個網頁面。
什麼是json:
是一種輕量級的數據交換格式。它基於 ECMAScript (w3c制定的js規範)的一個子集,採用完全獨立於編程語言的文本格式來存儲和表示數據。簡潔和清晰的層次結構使得 JSON 成爲理想的數據交換語言。 易於人閱讀和編寫,同時也易於機器解析和生成,並有效地提升網絡傳輸效率。
第二個項目介紹:用的是SSM框架以及增刪改查。
5.常用的數據庫有哪些:
1、MySQL
開源免費的,對於個人或中小型企業來說,MySQL的功能已經夠用了
2、SQL Server
如對XML和Internet標準的豐富支持,通過Web對數據輕鬆安全的訪問,具有靈活的、安全的、和基於Web的應用程序管理等,及容易操作的操作界面,受到廣大用戶的喜愛
3、Oracle
1、數據的大量性
2、數據的保存的持久性
4、數據的共享性
5、數據的可靠性
6.sql語句查詢最近前10條記錄
select * from table1 where 1=1 limit 10
7.HashMap
https://blog.csdn.net/woshimaxiao1/article/details/83661464
簡單來說,HashMap由數組+鏈表組成的,數組是HashMap的主體,鏈表則是主要爲了解決哈希衝突而存在的
HashMap的主幹是一個Entry數組。Entry是HashMap的基本組成單元,每一個Entry包含一個key-value鍵值對。(其實所謂Map其實就是保存了兩個對象之間的映射關係的一種集合)
8.線程之間如何通訊
多個線程在處理同一個資源,並且任務不同時,需要線程通信來幫助解決線程之間對同一個變量的使用或操作
於是我們引出了等待喚醒機制:(wait()、notify())
就是在一個線程進行了規定操作後,就進入等待狀態(wait), 等待其他線程執行完他們的指定代碼過後 再將其喚醒(notify);
9.設計模式
spring:
https://blog.csdn.net/a745233700/article/details/80959716
mybatis:
https://blog.csdn.net/a745233700/article/details/80977133
spring mvc:
https://blog.csdn.net/a745233700/article/details/80963758
10.問題總結:(java基礎+springmvc+計算機網絡簡單協議)
(1)項目介紹:(挑的sql語句)
(2)爲什麼說springmvc是輕量級框架:(IOC AOP)
-
簡單來說,Spring是一個輕量級的控制反轉(IoC)和麪向切面(AOP)的容器框架。
-
輕量——從大小與開銷兩方面而言Spring都是輕量的。完整的Spring框架可以在一個大小隻有1MB多的JAR文件裏發佈。並且Spring所需的處理開銷也是微不足道的。此外,Spring是非侵入式的:典型地,Spring應用中的對象不依賴於Spring的特定類。
(3)計算機網絡簡單協議介紹:三次四次握手。
(4)進程線程,創建進程的方法。
(5)springbean是不是線程安全。
11.其他問題:maven nginx原理: