java面試題04

來源:互聯網
上載者:User

標籤:交換   排序   cal   query   它的   read   自動   names   framework   

1.就你所熟悉的銀行業務面說一下,越詳細越好

銀行經驗:手機銀行  網上銀行經驗  怎麼支付  轉賬  瞭解基本業務

 

2. 瞭解工作流程的控制,審批次程序以及帳務處理嗎?

java中怎麼實現工作流程、審批次程序,java怎麼實現報表功能?

Web 專案整合 jbpm或者其他工作流程組件

3.java 開發 web 有幾種開發模式?你最熟悉哪種?

共有23中開發模式:

總體來說設計模式分為三大類:

建立型模式,共五種:Factory 方法模式、抽象原廠模式、單例模式、建造者模式、原型模式。

結構型模式,共七種:適配器模式、裝飾器模式、代理模式、面板模式、橋接模式、組合模式、享元模式。

行為型模式,共十一種:策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、解譯器模式。

其實還有兩類:併發型模式和線程池模式。

最熟悉的:單例模式

單例對象(Singleton)是一種常用的設計模式。在Java應用中,單例對象能保證在一個JVM中,該對象只有一個執行個體存在。

4. 描述某些特殊功能你認為要從什麼包實現?

java.util是JAVA的utility工具包,包含一些使用工具類,如定義系統特性、使用與日期日曆相關的函數等。   

java.lang是JAVA的language核心語言套件;如String、Math、Integer、System、Thread,提供常用的功能。特殊之處是不需要匯入,是作為預設匯入的包。   

java.awt是JAVA的abstractwindow toolkit,抽象視窗工具包;包含了構成抽象視窗共具體的多個類,這些類用於構建和管理應用程式的圖形使用者(GUI)。   

java.applet是建立APPLET的必須包;包含applet運行時所需要的一些類。  

java.net是JAVA有關網路操作的包。  

java.io是JAVA的輸入輸出資料流的包。   

java.sql是JAVA的資料庫操作包。  

javax.swing是新的介面包。  

java.applet 支援小應用程式的結構  

java.awt 提供圖形使用者介面的能力  

java.awt.color 支援色彩空間和外形   

java.awt.datatransfer 與系統的剪貼簿交換資料  

java.awt.dnd 支援拖拉操作  

java.awt.event 處理事件  

java.awt.font 描述多種字型類型  

java.awt.geom 允許你使用幾何形狀   

java.awt.im 允許編輯組件中日文,中文,韓文的的輸入

java.awt.im.spi 支援二選一的輸入裝置 (在java 2, v1.3中加入)   java.awt.image 處理映像   

java.awt.image.renderable 支援獨立顯示映像  

java.awt.print 支援一般的列印功能  

java.beans 允許你建立軟體組件   

java.beans.beancontext 為bean 提供可執行環境  

java.io 輸入輸出資料  

java.lang 提供核心功能

java.lang.ref 使能與記憶體回收互動  

java.lang.reflect 運行時分析代碼  

java.math 處理大整數和十進位數  

java.net 支援網路功能  

java.rmi 支援遠程方法調用  

java.rmi.activation 啟用永久對象  

java.rmi.dgc 管理分布記憶體回收  

java.rmi.registry 映射名稱到遠程對象引用  

java.rmi.server 支援遠程方法調用   

java.security 處理認證,密鑰,摘要,簽名和其他安全功能

java.security.acl 管理存取控制清單  

java.security.cert 分析和管理憑證   

java.security.interfaces 為DSA(數位簽章演算法)定義介面  

java.security.spec 設定密鑰和演算法參數  

java.sql 與SQL(結構化查詢語言 (SQL))資料庫互動  

java.text 格式化,查詢和處理文本  

java.util 包含一般工具  

java.util.jar 產生和開啟JAR檔案  

java.util.zip 讀寫壓縮或解壓縮檔案

5. 一般怎麼調試 java 程式?

(1)system.out.print()輸出語句調試

(2)使用MyEclipse/Eclipse程式的Debug調試,設定斷點,運行程式,觀察不變數變化;

6. 熟悉幾種分布工具?各自是怎麼發布的?

tomcat

部署方法:

(1)直接將web專案檔件拷貝到webapps 目錄中

     Tomcat的Webapps目錄是Tomcat預設的應用目錄,當伺服器啟動時,會載入所有這個目錄下的應用。所以可以將JSP程式打包成一個 war包放在目錄下,伺服器會自動解開這個war包,並在這個目錄下產生一個同名的檔案夾。一個war包就是有特性格式的jar包,它是將一個web程式的所有內容進行壓縮得到。

     webapps這個預設的應用目錄也是可以改變。開啟Tomcat的conf目錄下的server.xml檔案,找到下面內容:

       unpackWARs="true"

       xmlValidation="false" xmlNamespaceAware="false">

將appBase修改即可。

(2)在server.xml中指定

     在Tomcat的設定檔中,一個Web應用就是一個特定的Context,可以通過在server.xml中建立Context裡部署一個JSP應用程式。開啟server.xml檔案,在Host標籤內建一個Context,內容如下:

path是虛擬路徑;

docBase 是應用程式的實體路徑;

workDir 是這個應用的工作目錄,存放運行時產生的與這個應用相關的檔案;

debug 則是設定debug level,  0表示提供最少的資訊,9表示提供最多的資訊

privileged設定為true的時候,才允許Tomcat的Web應用使用容器內的Servlet

reloadable 如果為true,則tomcat會自動檢測應用程式的/WEB-INF/lib 和/WEB-INF/classes目錄的變化,自動裝載新的應用程式,可以在不重起tomcat的情況下改變應用程式,實現熱部署

antiResourceLocking 和antiJARLocking  熱部署是需要配置的參數,預設false避免更新了某個webapp,有時候Tomcat並不能把舊的webapp完全刪除,通常會留下WEB-INF/lib下的某個jar包,必須關閉Tomcat才能刪除,這就導致自動部署失敗。設定為true,Tomcat在運行對應的webapp時,會把相應的源檔案和jar檔案複製到一個臨時目錄裡。

(3)建立一個Context檔案

  在conf目錄中,建立 Catalina\localhost目錄,在該目錄中建立一個xml檔案,名字不可以隨意取,要和path後的那個名字一致,按照下邊這個path的配置,xml的名字應該就應該是hello(hello.xml),該xml檔案的內容為:

tomcat內建例子如下:

         privileged="true" antiResourceLocking="false" antiJARLocking="false">

7.Easyui 中的控制 datagrid 在載入資料的時候會出現兩次請求後台資料的情況,什麼原因?

html代碼中利用class聲明了datagrid,導致easyUI解析class代碼的時候先解析class聲明中的datagrid,這樣組件就請求了一次url;然後又調用js初始化代碼請求一次url。這樣導致了重複載入,解決的方法就是只用一種初始化方法來聲明easyUI組件以避免重複的提交請求,即刪除html中的class聲明(class="easyui-datagrid")或者採用消極式載入初始化:

init();

function init() {

$(‘#dic‘).datagrid({});

//消極式載入,否則頁面請求兩次

setTimeout(refreshDic, 100);

}

function refreshDic() {

    $(‘#dic‘).datagrid({

            queryParams: {

                    dictName

}

通過setTimeout實現延時請求,果斷不請求兩次了

為了那100毫秒頁面沒渲染的太難看,先初始化個簡單的datagrid。

延遲的毫秒數試過很多,最小95毫秒左右,不能再小了,否則還是請求兩次。

8.Oracle 中字串用什麼符號連結? Oracle 是怎樣實現分頁的?

串連符號是:||

分頁:

select * from

   (select a.*,rownum row_num from

      (select * from mytable t order by t.id desc) a

   ) b

where b.row_num between startIndex and endIndex

9.Oracle where 條件查詢和排序的效能比較?

 

10. 解釋什麼是死結,如何解決 Oracle 中的死結?

死結:程式運行過程中,只有一個進程在運行,其他進程都在等待狀態,並且點擊進程的確定和儲存按鈕,程式無反應,但是也不報錯,之中現象稱作死結。

解決方案:

1)用dba使用者執行以下語句

以下是程式碼片段:

select username,lockwait,status,machine,program from v$session where sid in

(select session_id from v$locked_object)

如果有輸出的結果,則說明有死結,且能看到死結的機器是哪一台。欄位說明:

  Username:死結語句所用的資料庫使用者;

  Lockwait:死結的狀態,如果有內容表示被死結。

  Status: 狀態,active表示被死結

  Machine: 死結語句所在的機器。

  Program: 產生死結的語句主要來自哪個應用程式。

  2)用dba使用者執行以下語句,可以查看到被死結的語句。

select sql_text from v$sql where hash_value in

(select sql_hash_value from v$session where sid in

(select session_id from v$locked_object))

   A. kill掉這個死結的進程:

  alter system kill session ‘sid,serial#‘; (其中sid=l.session_id)

  B. 如果還不能解決:(linux)

          select pro.spid from v$session ses, v$process pro where ses.sid=XX and ses.paddr=pro.addr;

   其中sid用死結的sid替換:

      exit

      ps -ef|grep spid

  其中spid是這個進程的進程號,kill掉這個Oracle進程。

11. 怎麼建立一個視圖,視圖的好處,視圖可以控制許可權嗎?

建立視圖語句:create or replace  view  teacher_view

                 as

            select tname,sal from teacher

建立視圖要有視圖許可權,否則不能建立。

12.ServletAPI Forward() Redirect() 的區別?

forward:轉寄---是伺服器端行為,攜帶請求資料,用戶端的Url顯示不改變,且用戶端只發送請求了一次

redirect:重新導向----是用戶端行為,不攜帶請求資料,用戶端的Url顯示改變,且用戶端至少發送請求了兩次

13. 如何查看在 weblogic 中已經發布的 EJB?

可以使用管理主控台,在它的Deployment中可以查看所有發行的EJB.

在weblogic中開發訊息Bean時的persistent與non-persisten的差別:persistent方式的MDB可以保證訊息傳遞的可靠性,也就是如果EJB容器出現問題而JMS伺服器依然會將訊息在此MDB可用的時候發送過來,而non-persistent方式的訊息將被丟棄

14.spring+Hibernate 中委託方案怎麼配置?

    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">

       <property name="driverClassName" value="${jdbc.driverClassName}"/>

       <property name="url" value="${jdbc.url}"/>

       <property name="username" value="${jdbc.username}"/>

       <property name="password" value="${jdbc.password}"/>

    </bean>

   <!-- 配置會話工廠sessionFactory -->

   <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

      <property name="dataSource" ref="dataSource"></property>

      <!-- 配置hibernate對應檔以及hiberbnate設定檔的參數 -->

      <!-- <property name="configLocation" value="classpath:hibernate.cfg.xml"></property> -->

      <property name="mappingDirectoryLocations" value="classpath:com/news/pojo"></property>

      <property name="hibernateProperties">

         <props>

            <prop key="hibernate.show_sql">true</prop>

            <prop key="hibernate.format_sql">true</prop>

            <prop key="hibernate.connection.autocommit">true</prop>

            <prop key="hibernate.hbm2ddl.auto">update</prop>

            <prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop>

            <!-- 配置當前事務的Session -->

            <prop key="hibernate.current_session_context_class">org.springframework.orm.hibernate3.SpringSessionContext</prop>

            <prop key="hibernate.javax.persistence.validation.mode">none</prop>

         </props>

      </property>

   </bean>

15. 求小王在 2017 年賣給北京海澱區客戶財務軟體的總套數?設計出表之間的關係,並寫出 sql 語句。

表一:user(員工表)

欄位:uid(員工id,主鍵) uname(員工姓名) utel(員工連絡方式)

表二 district 地區表:

欄位:did(地區did、主鍵) 地區姓名(dname)

表三:sal表

欄位:sid(銷售標號、主鍵) syear(時間) scount(數量) sdid(銷往地區,外部索引鍵關聯district的主鍵did) suid(銷售人員,關聯外鍵user的主鍵uid)

select count(0) ‘銷售數量’,uname ‘銷售人員’

      from (sal s left join district d on sdid =did)

           left join user u on suid=uid

where d.dname=’海澱區’ and u.uname=’小王’ and s.syear=”2017”;

16.寫個程式,實現對新聞的增刪改查,新聞包括:新聞標題、種類、內容、附件,不同種類按照Tab展現,點擊Tab時必須顯示相應類型的新聞列表,點擊列表後,彈出頁面,顯示新聞的項目內容,附件可以下載。

 

17.你對加班怎麼看?能否出差?

 

18.目前北京的項目要求較高,你是否有意向去濱海新區發展?

java面試題04

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.