1. 程式人生 > >Java面試2018常考題目彙總(二)

Java面試2018常考題目彙總(二)

1、servlet執行流程

客戶端發出http請求,web伺服器將請求轉發到servlet容器,servlet容器解析url並根據web.xml找到相對應的servlet,並將request、response物件傳遞給找到的servlet,servlet根據request就可以知道是誰發出的請求,請求資訊及其他資訊,當servlet處理完業務邏輯後會將資訊放入到response並響應到客戶端。

2、springMVC的執行流程

springMVC是由dispatchservlet為核心的分層控制框架。首先客戶端發出一個請求web伺服器解析請求url並去匹配dispatchservlet的對映url,如果匹配上就將這個請求放入到dispatchservlet,dispatchservlet根據mapping對映配置去尋找相對應的handel,然後把處理權交給找到的handel,handel封裝了處理業務邏輯的程式碼,當handel處理完後會返回一個邏輯檢視modelandview給dispatchservlet,此時的modelandview是一個邏輯檢視不是一個正式檢視,所以dispatchservlet會通過viewresource檢視資源去解析modelandview,然後將解析後的引數放到view中返回到客戶端並展現。

3、給定一個txt檔案,如何得到某字串出現的次數

?
12345678910File file = new File();InputStream is = new FileInputStream(file);byte b[] = new byte[1024];int a = is.read(b);String str[] = new String(b,0,a).split("");int count = 0;for(int i = 0;i<str.length;i++){if("a".equals(str[i]))count++;}System.out.println(count);

4、Java設計模式思想(單列模式,工廠模式,策略模式,共23種設計模式)

a) 單例模式:單例模式核心只需要new一個例項物件的模式,比如資料庫連線,線上人數等,一些網站上看到的線上人數統計就是通過單例模式實現的,把一個計時器存放在資料庫或者記憶體中,當有人登陸的時候取出來加一再放回去,有人退出登陸的時候取出來減一再放回去,但是當有兩個人同時登陸的時候,會同時取出計數器,同時加一,同時放回去,這樣的話資料就會錯誤,所以需要一個全域性變數的物件給全部人使用,只需要new出一個例項物件,這就是單例模式的應用,並且單例模式節省資源,因為它控制了例項物件的個數,並有利於gc回收。

b) 策略模式:就是將幾個類中公共的方法提取到一個新的類中,從而使擴充套件更容易,保證程式碼的可移植性,可維護性強。比如有個需求是寫鴨子物件,鴨子有叫,飛,外形這三種方法,如果每個鴨子類都寫這三個方法會出現程式碼的冗餘,這時候我們可以把鴨子中的叫,飛,外形這三個方法提取出來,放到鴨父類中,讓每個鴨子都繼承這個鴨父類,重寫這三個方法,這樣封裝的程式碼可移植性強,當用戶提出新的需求比如鴨子會游泳,那麼對於我們oo程式設計師來講就非常簡單了我們只需要在鴨父類中加一個游泳的方法,讓會游泳的鴨子重寫游泳方法就可以了。

c) 工廠模式:簡單的工廠模式主要是統一提供例項物件的引用,通過工廠模式介面獲取例項物件的引用。比如一個登陸功能,後端有三個類,controller類,interface類,實現介面的實現類。當客戶端發出一個請求,當請求傳到controller類中時,controller獲取介面的引用物件,而實現介面的實現類中封裝好了登陸的業務邏輯程式碼。當你需要加一個註冊需求的時候只需要在介面類中加一個註冊方法,實現類中實現方法,controller獲取介面的引用物件即可,不需要改動原來的程式碼,這種做法是的可拓展性強。

5、氣泡排序、二分查詢

a) 冒泡

?
12345678910111213public static void mp(int a[]) {int swap = 0;for (int i = 0; i < a.length; i++) {for (int j = i; j < a.length; j++) {if (a[j] > a[i]) {swap = a[i];a[i] = a[j];a[j] = swap;}}}System.out.println(Arrays.toString(a));}

b)二分查詢

?
1234567891011121314151617public static int ef(int a[], int tag) {int first = 0;int end = a.length;

相關推薦

Java面試2018題目彙總

1、servlet執行流程客戶端發出http請求,web伺服器將請求轉發到servlet容器,servlet容器解析url並根據web.xml找到相對應的servlet,並將request、response物件傳遞給找到的servlet,servlet根據request就可以

Java面試2018題目彙總

因為最近在忙著找工作,看到了很多面試整理的文章,於是便有了自己也寫一篇,部分原創,大部分是我四處蒐集的,我想整理一份最全最新的文章,方便大家總結!廢話不多說,開始! 一、JAVA基礎篇-概念 1.簡述你所知道的Linux: Linux起源於1991年

Java面試2018題目彙總

因為最近在忙著找工作,看到了很多面試整理的文章,於是便有了自己也寫一篇,部分原創,大部分是我四處蒐集的,我想整理一份最全最新的文章,方便大家總結!廢話不多說,開始! 一、JAVA基礎篇-概念 1.簡述你所知道的Linux: Linux起源於1991年,199

C++筆試面試知識點彙總

51:頂層const與底層const的區別? 用名詞頂層const表示指標本身是個常量,而用名詞底層const表示指標所指的物件是一個常量。 更一般的,頂層const可以表示任意的物件是常量,這一點對任何資料型別都適用。 而底層const則

C++筆試面試知識點彙總

128:引用 引用就是某個物件的別名,其最主要作用是函式傳參。 //變數引用 int val=1; int &refval=val; refval=2; cout<<val<<endl;//輸出2 //常量引用 co

計算機網路面試題目彙總

1:OSI七層模型,TCP/IP五層模型、四層模型? TCP/IP五層模型:物理層、資料鏈路層、網路層、傳輸層、應用層 TCP/IP四層模型:網路介面層、網際層、傳輸層、應用層 OSI七層模型及各層作用: 物理層:傳輸介質

JAVA面試問知識總結

JAVA中的引數傳遞總結先看兩道筆試題: 1 public class Test2 { 2 3 public static void main (String [] args) { 4 StringBuffer a = new StringBuff

java見面試題彙總

本期的java面試題是偏向資料庫方面的,對相關技術知識匱乏的,或者對這方面不大自信的同學,面試之前可以參考一下這套題,這只是節選,試運營一下,如果不能滿足你們的需求,可以直接評論留言!  1、檢視的優缺點 答:優點: 1)對資料庫的訪問,因為檢視可以有選擇性的選取資料庫裡的一部分。 2 )使用者

Java見面試題彙總:spring框架

今天分享的java實習生常見面試題,是spring專場,主要是針對spring總結的面試題,有需要的小夥伴可以收入囊中了!   1、 Spring Framework 中有多少個模組,它們分別是什麼? Spring 核心容器 – 該層基本上是 Spring Framework 的核心。它包含以

Java見面試題彙總

今天總結的是java框架相關的面試題,有需要的可以繼續拿去了。  1、J2EE 是什麼? 答:J2EE 是Sun 公司提出的多層(multi-diered),分散式(distributed),基於元件(component-base)的企業級應用模型(enterpriese application

Verilog HDL 筆試 & 面試程式碼精選

Q:用Verilog HDL實現1bit訊號邊沿檢測功能,輸出一個週期寬度的脈衝訊號。 這裡是微信公眾號的連結:Verilog筆面試常考程式碼精選10題 A: 一、原理   脈衝邊沿的特性:兩側電平發生了變化,如上圖所示一個脈衝,既有上升沿還有下降沿。 如果檢

C/C++ 筆試、面試題目彙總

一.找錯題 試題1: void  test1() {   char string [ 10 ];   char *  str1  = " 0123456789 " ;  strcpy(&nb

前端面試大全:JS 基礎知識點及面試題

(內容同步自小鄒的頭條號:滬漂程式設計師的生活史) 原始(Primitive)型別 涉及面試題:原始型別有哪幾種?null 是物件嘛? 在 JS 中,存在著 6 種原始值,分別是: boolean null undefined number

C/C++面試題目討論之:如何通過函式來分配空間

如何將malloc放在函式裡,如何寫這個函式,以及如何呼叫是經常遇到的問題。 看題目: 1.看下面程式碼有什麼問題 void GetMemory( char *p ) { p

HTML5面試題目彙總

2、行內元素有哪些?塊級元素有哪些? 空(void)元素有那些?答案解析:行內元素:a  b  span  img  input  select  strong 塊級元素:div  ul  ol  li  dl  dt  dd  h1  h2  h3  h4  p  等 空元素:<br>  <

JAVA面試必備的知識寶典

java相關概念面向對象的三個特征封裝,繼承,多態.這個應該是人人皆知.有時候也會加上抽象.多態的好處允許不同類對象對同一消息做出響應,即同一消息可以根據發送對象的不同而采用多種不同的行為方式(發送消息就是函數調用).主要有以下優點:可替換性:多態對已存在代碼具有可替換性.可擴充性:增加新的子類不影響已經存在

JAVA面試必備的知識寶典

java數據類型相關java中int char,long各占多少字節?|類型|位數|字節數| |-|-|-| |short|2|16| |int|4|32| |long|8|64| |float|4|32 |double|8|64| |char|2|16|64位的JVM當中,int的長度是多少?Java 中,

操作系統知識點總結2

實現 共享資源 雙工 msu 空間 線程 有一個 col 生成 進程間通信(IPC)方式 1.管道(pipe) 2.信號(signal) 3.消息隊列 4.共享內存 5.信號量 6.套接字(socket) 管道 無名管道有如下特點: 1、半雙工,數據在同一時刻只能在一個方

Java面試系列總結 :JavaSE高階

1. 說說你對Java中反射的理解 Java 中的反射首先是能夠獲取到 Java 中要反射類的位元組碼,獲取位元組碼有三種方法,1.Class.forName(className) 2.類名.class 3.this.getClass()。然後將位元組碼中的方法,變數,建構函式等

ES6面試、複習乾貨知識點彙總

近期在複習ES6,針對ES6新的知識點,以問答形式整理一個全面知識和問題彙總。(全乾貨,適合對ES6有一定理解的同學複習,以及ES6面試。) 一、問:ES6是什麼,為什麼要學習它,不學習ES6會怎麼樣? 答: ES6是新一代的JS語言標準,對分JS語言核心內容做了升級優化,規範了JS使用標準,新增了JS原