招銀網絡科技電話面試前整理(2019校招)

由於本人馬上要電面招銀網絡,所以從牛客、CSDN各個網站總結的招銀面經問題(java開發/測試):

牛客最新面經:

2018年9月

第一個

1、機試做錯的題可能會問

2、final的用法:可以用於三個地方,修飾類、類屬性和類方法。被final修飾的類不能被繼承,被final關鍵字修飾的類屬性和方法不能被覆蓋(重寫)

3、循環單詞的比較,形如abcd,bcda,cdab

4、有序隊列的合併:用歸併算法。

5、10000個數取前10個:堆排序構建堆過程

6、排序算法

7、基本數據類型:int、byte、short、long、、char、float、double、boolean

8、string和int轉換:

9、類加載機制

10、線程同步、sychoronize和lock區別:sychoronize是一個修飾符,lock是接口

11、建索引的語句

12、大表查詢優化

13、數據庫連接:左連接右連接等

14、js數據類型:字符串、數字、布爾、數組、對象、Null、Undefined

15、spring權限控制:基於Spring AOP實現的數據權限。

16、springmvc請求流程

java崗位:

1、介紹項目

2、求最大子序列

3、加權二叉樹

4、數據庫

 

數據開發崗

1、msql怎麼實現查找第100-200條數據

2、窗口函數中rank() dense_rank() 區別

3、mysql有哪些索引類型、有哪些鎖

4、如果數據很多,又要保留很久,怎麼在底層設計mysql

5、java堆和棧區別

6、什麼時候GC

7、常見的包

8、數據庫連接池怎麼實現

9、JavaScript瞭解嗎

 

測試開發崗

1自我介紹

2數據庫視圖

3數據庫索引

4主鍵

5CS和BS架構的區別和優缺點

6 鏈表和數組區別,優缺點

7 數據庫原子性

測開崗第二個

1、數據庫中視圖和遊標的區別

視圖是一種虛擬的表,具有和物理表相同的功能。可以對視圖進行增,改,查,操作,視圖通常是有一個表或者多個表的行或列的子集。對視圖的修改不影響基本表。它使得我們獲取數據更容易,相比多表查詢。

遊標:是對查詢出來的結果集作爲一個單元來有效的處理。遊標可以定在該單元中的特定行,從結果集的當前行檢索一行或多行。可以對結果集當前行做修改。一般不使用遊標,但是需要逐條處理數據的時候,遊標顯得十分重要。

2、數據庫中的幾種聯接方式,全連接

3、數據庫的存儲過程:實際上是預編譯的sql過程。

4、數據庫中事務的隔離級別

5、CS和BS架構區別,優缺點;

6、Linux中常用的命令

7、常用數據庫有哪些?

 

網絡、Http、html

cookie和session區別

session是web程序中常用的技術,用來跟蹤用戶的整個會話。常用的會話跟蹤就是以上這兩個,Cookie通過在客戶端記錄信息確定用戶身份,Session通過在服務器端記錄信息確定用戶身份。

-------------------------------------------------------------------華麗分割線---------------------------------------------------------------------------

1、談談對jvm的理解

個人見解:jvm是java的核心和基礎,是在java編譯器和os平臺之間的虛擬處理器。即java編譯器只需要將源碼編譯成jvm能理解的代碼或者字節碼即可,至於和os平臺之間,就是jvm需要做的事情了。通過這個環境可以很好的實現跨平臺的特性。

舉個小例子就是在javac編譯時會生成.class文件。這些class文件是通過java編譯器實現的,最後交由jvm來解析。

jvm類加載過程:加載、驗證、準備、解析、初始化、使用、卸載。

2、java程序初始化順序

在一個java程序中,有類、成員、構造函數、代碼塊、方法等。

他們的順序基本爲:靜態優於非靜態、成員變量優於方法和塊、父類優於子類。

總結起來爲:父類靜態變量-->父類靜態塊-->子類靜態變量--->子類靜態塊--->父類非靜態變量-->父類非靜態塊-->父類構造方法-->子類非靜態變量-->子類非靜態塊--->子類構造方法

3、線程的創建:

三種方式:A繼承Thread類,重寫該類的run方法,創建Thread子類的實例,調用線程對象start啓動線程

B實現Runnable接口,重寫該類的run方法,以此實例創建線程對象,調用start方法啓動線程

C通過callable和Future創建線程,實現call方法

時間允許的話,分析一下三者的優劣

4、mysql主鍵和唯一索引的區別

唯一索引用UNIQE定義,保證數據記錄的唯一性。

主鍵是一種特殊的唯一索引,用來標識唯一一條數據,用Primary Key創建。

5、如何實現session共享,用redis如何實現

通常情況下,tomcat、jetty等servlet容器會默認將session存在內存中,但是這個不利於擴展。Redis 是一個key-value數據庫,可以將session統一存在redis中進行管理。如果項目是基於spring框架開發的,只需要對項目進行配置即可。主要配置項:maven依賴、filter配置、spring配置文件。

6、說說微服務

微服務就是爲了解決一個業務系統太大~太繁瑣~太笨重~太複雜,我們把業務系統拆分成了多個獨立的小應用去開發。在多個小應用之間就可以通過服務完成溝通。每一個小應用都可以獨立完成一個業務,同時還可以把自己的服務給其他的應用去消費。

-------------------------------------------------------------------華麗分割線---------------------------------------------------------------------------

另一個博客:

java基本知識:

1、接口和抽象類的區別。

從兩方面分析,語法方面的區別和設計層面的區別。

2、重載重寫

重載時有幾個不同,方法重載時參數名稱不同,類型不同,參數個數不同即可構成重載。

重寫常常被用於繼承。比如說按map的value進行比較,需要重寫compare方法。

3、控制反轉和依賴注入:

這是一設計思想。IOC意味着將設計好的對象交給容器控制管理,而不是傳統的在你對象內部的直接控制。很好體現了面向對象,由IoC容器幫對象找相應的依賴對象並注入。

誰依賴誰?爲什麼需要依賴?誰注入誰?注入了什麼?

可以用找女朋友的例子打比方。通過婚介所找對象就是IoC。把創建對象的事情都交個spring,由他統一管理。

 

4、依賴注入的幾種方式,

A、setter方法注入

B、構造器注入

C、接口注入

 

-------------------------------------------------------------------華麗分割線---------------------------------------------------------------------------

第三個博客:17年9月

分爲兩個部分:

Part1:介紹項目

Part2:問題:

1、說下進程與線程的區別

進程:CPU進行資源分配和管理的最小單位

線程:CPU進行調度的最小單位。

進程擁有一個完整的虛擬地址空間,不依賴於線程而獨立存在;反之,線程是進程的一部分,沒有自己的地址空間,與進程內的其他線程一起共享分配給該進程的所有資源。

2、說說JVM

JVM是java比較核心的東西,它實際上就是建立了一個虛擬環境,使得os與java編譯器之間能夠相互進行交流。主要包括內存模型、垃圾回收機制類加載機制

內存模型主要是堆區和棧區、程序計數器、方法區。

垃圾回收:垃圾的定義:引用計數和可達性分析。垃圾回收的方法有標記-清楚算法、複製算法、標記整理、分代收集。

3、說說線程創建的方式

三種

4、說說集合類框架

collection和map。及其下的實現類。

5、spring框架

-------------------------------------------------------------------華麗分割線---------------------------------------------------------------------------

第四個:應該是現場面試

1、主要用什麼語言開發?Java

關於C、C++的問題:C語言的單鏈表和雙向鏈表有什麼區別?

跳躍表有沒有聽說過?自然是不知道

java有內存回收的機制,C沒有,知道什麼時候會出現野指針,什麼時候會出現內存泄露嗎?

有用過什麼數據結構?寫過簡單的反轉鏈表、兩個棧實現隊列,

二叉樹的遍歷有哪幾種?前序中序後序

 

-------------------------------------------------------------------華麗分割線---------------------------------------------------------------------------

16年9月面經

1、講項目

2、瀑布模型的幾個階段

3、如何實現環形隊列

4、內連接和外連接及交叉連接。

-------------------------------------------------------------------華麗分割線---------------------------------------------------------------------------

2018年9月

1、數據庫連接的方式?

方法一是java原生的jdbc ;方法二是利用properties。配置文件的形式利用java原生的jdbc進行連接;方法三是利用c3p0-config.xml配置文件形式,利用c3p0配置文件設置連接池進行連接;方法四利用dbcp.properties配置文件形式;方法5利用mybatis-config.xml配置文件形式;方法6利用hibernate.cfg.xml配置文件形式

2、用什麼數據結構去存數據庫連接池?

預先在緩衝池中放入一定數量的連接。用隊列的形式存儲連接池。。java中可以用Vector、Stack

-------------------------------------------------------------------華麗分割線---------------------------------------------------------------------------

2016年9月

1、在java中進行數據庫連接並操作數據的?最後需要進行什麼操作?

2、項目中使用jquery,那麼on、bind、live、delegate這幾個函數有什麼區別?

3、一個http請求所包含的數據格式是什麼?

請求行+請求頭+數據體

4、一次http請求的詳細處理過程?

三次握手1建立TCP連接 2Web瀏覽器向web服務器發送請求命令  3web瀏覽器發送請求頭信息 4web服務器應答  5web服務器發應答頭信息。6發送實際數據。 7web服務器關閉TCP連接

5、一次struts處理請求從開始到看到頁面數據之間都發生了什麼,整個詳細過程?

6、項目中都用到了什麼框架?(spring+spring mvc+mybatis)

7、在自己的項目中有沒有用到併發?如果讓你現在考慮給你的項目中考慮併發你會怎麼做?你要控制(進行同步)的數據源是哪些?

-------------------------------------------------------------------華麗分割線---------------------------------------------------------------------------

未完。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章