国产精品亚洲综合久久系列,一本大道香蕉青青久久,播放高清的播放器,国产在线观看无码不卡

蜜蜂職場文庫 > 面試試題 >

php高級工程師面試題及答案_php高級面試題及答案

時間: 小龍 面試試題

  PHP高級工程師在求職面試中,我們應(yīng)該學會做好面試準備,了解面試題及答案很有必要。下面小編已經(jīng)為你們整理了php高級工程師面試題及答案,一起來看看吧。

  php高級工程師面試題及答案一

  1、 java 中有幾種類型的流?JDK 為每種類型的流提供了一些抽象類以供繼承,請說出他們分別是哪些類?

  字節(jié)流,字符流。字節(jié)流繼承于InputStreamOutputStream,字符流繼承于InputStreamReader OutputStreamWriter。在java.io包中還有許多其他的流,主要是為了提高性能和使用方便。

  2、多線程有幾種實現(xiàn)方法?同步有幾種實現(xiàn)方法?

  多線程有兩種實現(xiàn)方法,分別是繼承Thread類與實現(xiàn)Runnable接口

  同步的實現(xiàn)方面有兩種,分別是synchronized,wait與notify wait():使一個線程處于等待狀態(tài),并且釋放所持有的對象的lock。

  sleep():使一個正在運行的線程處于睡眠狀態(tài),是一個靜態(tài)方法,調(diào)用此方法要捕捉 InterruptedException(中斷異常)異常。

  notify():喚醒一個處于等待狀態(tài)的線程,注意的是在調(diào)用此方法的時候,并不能確切的喚醒某一個等待狀態(tài)的線程,而是由JVM確定喚醒哪個線程,而且不是按優(yōu)先級。Allnotity():喚醒所有處入等待狀態(tài)的線程,注意并不是給所有喚醒線程一個對象的鎖,而是讓它們競爭。

  php高級工程師面試題及答案二

  1、說一說 Servlet 的生命周期?

  答:servlet有良好的生存期的定義,包括加載和實例化、初始化、處理請求以及服務(wù)結(jié)束。這個生存期由javax.servlet.Servlet接口的init,service和destroy方法表達。

  Servlet被服務(wù)器實例化后,容器運行其init方法,請求到達時運行其service方法,service 方法自動派遣運行與請求對應(yīng)的doXXX方法(doGet,doPost)等,當服務(wù)器決定將實例銷毀的時候調(diào)用其destroy方法。

  web容器加載servlet,生命周期開始。通過調(diào)用servlet的init()方法進行servlet的初始化。通過調(diào)用service()方法實現(xiàn),根據(jù)請求的不同調(diào)用不同的do***()方法。結(jié)束服務(wù),web容器調(diào)用servlet的destroy()方法。

  2、說出數(shù)據(jù)連接池的工作機制是什么?

  J2EE服務(wù)器啟動時會建立一定數(shù)量的池連接,并一直維持不少于此數(shù)目的池連接。客戶端程序需要連接時,池驅(qū)動程序會返回一個未使用的池連接并將其表記為忙。如果當前沒有空閑連接,池驅(qū)動程序就新建一定數(shù)量的連接,新建連接的數(shù)量有配置參數(shù)決定。當使用的池連接調(diào)用完成后,池驅(qū)動程序?qū)⒋诉B接表記為空閑,其他調(diào)用就可以使用這個連接。

  實現(xiàn)方式,返回的Connection是原始Connection的代理,代理Connection的close方法不是真正關(guān)連接,而是把它代理的Connection對象還回到連接池中。

  3、這段代碼有什么不足之處?

  try{

  Connection conn =...;

  Statementstmt=...;

  ResultSetrs =stmt.executeQuery("select*fromtable1");

  while(rs.next()){

  }

  }catch(Exception ex){

  }

  答:沒有finally語句來關(guān)閉各個對象,另外,使用finally之后,要把變量的定義放在try語句塊的外面,以便在try語句塊之外的finally塊中仍可以訪問這些變量。

  4、一個用戶具有多個角色,請查詢出該表中具有該用戶的所有角色的其他用戶。

  selectcount(*)asnum,tb.idfro

  m

  tb,

  (selectrolefromtbwhereid=xxx)as t1

  where

  tb.role =t1.role andtb.id!=t1.id

  group bytb.id

  having

  num=selectcount(role)fromtbwhere id=xxx;

  5、一個用戶表中有一個積分字段,假如數(shù)據(jù)庫中有 100 多萬個用戶,若要在每年第一天凌晨將積分清零,你將考慮什么,你將想什么辦法解決?

  altertable drop column score;

  php高級工程師面試題及答案三

  1、描述一下 JVM 加載 class 文件的原理機制?

  JVM中類的裝載是由ClassLoader和它的子類來實現(xiàn)的,Java ClassLoader是一個重要的 Java運行時系統(tǒng)組件。它負責在運行時查找和裝入類文件的類。

  2、heap和stack有什么區(qū)別。

  java的內(nèi)存分為兩類,一類是棧內(nèi)存,一類是堆內(nèi)存。棧內(nèi)存是指程序進入一個方法時,會為這個方法單獨分配一塊私屬存儲空間,用于存儲這個方法內(nèi)部的局部變量,當這個方法結(jié)束時,分配給這個方法的棧會釋放,這個棧中的變量也將隨之釋放。

  堆是與棧作用不同的內(nèi)存,一般用于存放不放在當前方法棧中的那些數(shù)據(jù),例如,使用new 創(chuàng)建的對象都放在堆里,所以,它不會隨方法的結(jié)束而消失。方法中的局部變量使用final 修飾后,放在堆中,而不是棧中。

  3、GC 是什么?為什么要有 GC?

  GC是垃圾收集的意思(GabageCollection),內(nèi)存處理是編程人員容易出現(xiàn)問題的地方,忘記或者錯誤的內(nèi)存回收會導致程序或系統(tǒng)的不穩(wěn)定甚至崩潰,Java提供的GC功能可以自動監(jiān)測對象是否超過作用域從而達到自動回收內(nèi)存的目的,Java語言沒有提供釋放已分配內(nèi)存的顯示操作方法。

  4、列舉出一些常用的類,包,接口,請各舉 5 個

  要讓人家感覺你對java ee開發(fā)很熟,所以,不能僅僅只列core java中的那些東西,要多列你在做ssh項目中涉及的那些東西。就寫你最近寫的那些程序中涉及的那些類。

  常用的類:BufferedReaderBufferedWriter

  Class,List,HashMap

  常用的包:java.lang java.io FileReaderFileWirterStringIntegerjava.util.Date,System,

  java.utiljava.sql,javax.servlet,org.apache.strtuts.action,org.hi

  bernate常用的接口:RemoteListMap Document

  NodeList,Servlet,HttpServletRequest,HttpServletResponse,Transaction(Hibernate)、

  Session(Hibernate),HttpSession

  
看了“php高級工程師面試題及答案”

49573