⑴ 想面試java開發崗位,請問過來人要准備的專業面試題都有哪些
首先確認,你是java行業的新手。
面試題。
java基礎部分(常見的):
1、java有幾種基本數據類型。
2、冒泡排序,(筆試常出現)
3、解釋什麼是類的成員變數,局部變數,實例成員變數,類成員變數?
4、最狠得就是——什麼是面向對象,這個只能自己組織語言,按自己的理解來回答,根本找不到具體答案。
5、抽象類與介面的區別。
6、線程有幾種實現方式,分別是什麼?
7、如何使線程同步?
8、什麼是GC?
9、構造方法是否能被重寫?為什麼?
10、java關鍵字是否區分大小寫?
11、for循環里的三個表達式的執行順序是什麼?
12、簡述什麼是關系型資料庫?
13、arrayList與linkedList的區別?
14、String與StringBuffer的區別?
資料庫部分(常見):
1、組函數,
2、having和where的區別,
3、偽列,
4、怎麼實現數據分頁?
5、表鏈接
6、事務(ACID)
7、數據安全
8、序列
9、索引
10、你所參與過的項目用了幾個表?
JDBC部分(常見):
1、JDBC的六個步驟。
2、JDBC分頁。
Servlet(常見):
1、客戶端發送請求的幾種方式。
2、servlet的生命周期的幾個階段。
3、forward跳轉與redirect跳轉的區別。
4、cookie與session的區別。
5、三大作用域。
6、連接池。
jsP(常見):
1、jsp的九大內置對象。
2、EL表達式。
3、JSTL標簽庫。
javaScript(很少會問,了解即可):
1、DOM:對象,文檔,模型
2、滑鼠點擊事件:
AJAX(了解):
1、ajax請求與傳統請求的區別。
框架相關:
1、Struts2數據處理機制。
2、OGNL表達式。
3、了解下值棧。
4、MVC開發模式的好處。
5、Hibernate與MyBatis的區別。
6、連接池
7、struts2與SpringMVC的區別。
8、IOC,DI。
9、AOP。
10、運用框架的好處。
11、用到過的開發模式有哪些?
註:以上內容只要會一大部分,面試基本都會通過,如果全部會的話,就可以挑offer了,會一半就有很大的可能了(手都敲麻了.。。。)。
⑵ 面試題:說說你對spring的理解
原文:https://www.hu.com/question
Spring是一個十分龐大的體系,具體可以訪問它的官網://spring.io/projects進行詳細了解。
首先,回答這個問題,可以先介紹一下Spring體系中的幾個項目:
SpringFramework
SpringData
SpringSecurity
SpringBoot
SpringCloud
當然,除了這些之外,Spring還包括很多其他的項目。
接著,著重介紹SpringFramework這個項目,它是一個開源的Java/JavaEE全功能棧的應用程序,SpringFramework提供了一個簡易的開發方式,這種開發方式可以避免使用那些可能致使底層代碼變得繁雜混亂的大量的屬性文件和幫助類。
Spring的這種低侵入式設計使代碼的污染極低。
SpringFramework包括以下部分:
構造方法注入
下面舉個例子來說明一下什麼是依賴注入:
假設類A因功能F需要調用類B,傳統的程序中,我們就會去new一個類B的對象,因而類A就會依賴類於類B,這就是說如果類B不存在,則類A也就無法使用。而使用依賴注入以後,類A只需要去調用實現功能F介面的一個實現類,這個實現類可能是類B,C等等,具體調用誰是有Spring的配置文件決定的,這樣類A就不再依賴於類B。
我們可以這樣理解控制反轉:
資源不是由使用資源的雙方進行管理,而是由不使用資源的第三方(即Spring容器)進行管理,這樣做的好處是:
資源集中管理,實現資源的可配置與易管理
降低使用資源雙方的依賴程度
在傳統程序中,當某個角色需要另外一個角色協助時,由調用者來創建被調用者的實例。而在Spring中,創建被調用者的的工作不再由調用者來完成,而由第三方Spring容器來完成,所以稱為控制反轉,Spring容器創建被調用者的實例,然後注入調用者,所以又稱為依賴注入。
③面向切面編程
AOP在Spring中主要表現在兩個方面:
提供聲明式事務管理
Spring支持用戶自定義切面
面向切面編程是對面向對象編程(OOP)的補充。面向對象編程將程序分解成為各個層次的對象,面向切面編程將程序運行過程分解成各個切面。面向切面編程基於動態代理實現,降低了類直接的耦合程度。Spring的事務管理就是基於AOP實現的。
免費資源教程
⑶ java 面試題
Spring的一大特點是利用配置的xml文件實現依賴注入。
所謂依賴注入是指把一個業務對象注入另一個業務對象,從而達到
對象間的松耦合。
下面我們來舉個例子。
http://davidgjy.javaeye.com/blog/437501
還是看看這里吧
那個延遲載入性能好,因為需要使用時才從資料庫里載入,減少沒必要的
延時載入:優點,大數據量時,可以逐條數據獲取.缺點,與資料庫產生長連接.
即時載入,優點,減少資料庫連接,只連接與查詢一次.缺點,大數據量時容易讓資料庫癱瘓
下面的哥們說的對
⑷ 如你是Java面試官,給你以下資料,Spring和面向對象和重寫和重載,你會對應聘者提那些問題。
一、說說你做過的項目著重介紹一下應用到spring的。
二、介紹一下spring的loc和aop,除了原理之外說說它是具體應用在那。
三、說說你對java四大特性的理解(答:封裝、繼承、抽象、多態)。
四、具體聊聊多態中的重寫和重載,為什麼會用。
答案:(二)spring的控制反轉也就是loc是基於介面的一項技術,個人認為比較牛X,首先它剝奪了用戶創建所要操作對象的實例的權力,所有對象通過spring來產生,這個實現的原理就是通過介面(說是抽象也可以),這樣就降低了引用類和操作類的耦合度,而且方便維護,像session工廠就是這樣;aop也是spring可以引以為豪的技術,它通過抽象出類的相同點然後切開,注入相同的代碼,像事務的管理、日誌等等都是很好的體現。
(三)略去答案這個懂java的都知道無需多說
(四)重寫和重載是java中多態性的兩種體現,前者是父子類中的多態表現,後者是同類中的多態性表現。前者對父類的函數進行重新定義。如果在子類中定義某方法與其父類有相同的名稱和參數,我們說該方法被重寫 (Overriding)。在Java中,子類可繼承父類中的方法,而不需要重新編寫相同的方法。後者就是在類中可以創建多個方法,它們具有相同的名字,但具有不同的參數和不同的定義。調用方法時通過傳遞給它們的不同參數個數和參數類型來決定具體使用哪個方法, 這就是多態性。他們共同構建了類的多樣化。
個人知識有限,希望對你有幫助~
⑸ java常用框架面試題
1、什麼是Spring?
Spring是個Java企業級應用的開源開發框架。Spring主要用來開發Java應用,但是有些擴展是針對構建J2EE平台的web應用。Spring框架目標是簡化Java企業級應用開發,並通過POJO為基礎的編程模型促進良好的編程習慣。
2、Spring框架有哪些不同的模塊?
核心容器模塊、應用上下文模塊Application context、AOP模塊、JDBC抽象和DAO模塊、O/R映射整合模塊、Web模塊、MVC框架模塊。
3、一個簡單的Spring應用程序包括什麼?
這些應用程序像任何Java應用程序。它們是由多個類組成,每個類執行應用程序內的一個特定的功能。這些類的配置是通過一個XML文件向對方導入依賴。此XML文件描述如何配置類,稱為Spring配置文件。
4、如何給Spring容器提供配置元數據?
有三種重要的方法給Spring 容器提供配置元數據:XML配置文件、基於註解的配置、基於Java的配置。
5、在Spring中如何注入一個Java集合?
Spring提供以下幾種集合的配置元素:
類型用於注入一列值,允許有相同的值。
類型用於注入一組值,不允許有相同的值。
類型用於注入一組鍵值對,鍵和值都可以為任意類型。
類型用於注入一組鍵值對,鍵和值都只能為String類型。
6、在Spring框架中如何更有效地使用JDBC?
使用Spring JDBC框架,資源管理和錯誤處理的代價都會被減輕。所以開發者只需statements和queries從數據存取數據,JDBC也可以在Spring框架提供的模板類的幫助下更有效地被使用,這個模板叫JDBC Template 。
7、如何通過HibernateDaoSupport將Spring和Hibernate結合起來?
用Spring的SessionFactory調用LocalSessionFactory。集成過程分三步:
配置the Hibernate Session Factory、繼承HibernateDaoSupport實現一個DAO、在AOP支持的事務中裝配。
8、解釋一下Spring MVC框架及其控制器
Spring配備構建Web應用的全功能MVC框架。Spring可以很便捷地和其他MVC框架集成,如Struts、Spring的MVC框架用控制反轉把業務對象和控制邏輯清晰地隔離。它也允許以聲明的方式把請求參數和業務對象綁定。
控制器提供一個訪問應用程序的行為,此行為通常通過服務介面實現。控制器解析用戶輸入並將其轉換為一個由視圖呈現給用戶的模型。Spring用一個非常抽象的方式實現了一個控制層,允許用戶創建多種用途的控制器。