1. 程式人生 > >面試題目總結(一)

面試題目總結(一)

前言:
面試題目總結主要記錄我在面試過程中,面試官提出的問題.將這些問題整理起來希望下次能回答的更好.也希望能給予更多人回憶知識點,希望大家都能找到更好的工作.


問題一:String,StringBuffer,StringBuilder的區別
String:字串常量,字串長度不可變。
StringBuffer,StringBuilder字串變數,長度可以改變.
StringBuffer是執行緒安全的,效率低.相對於StringBuilder.
StringBuilder是執行緒不安全的,效率高.
String是不可變的物件, 因此在每次對String 型別進行改變的時候,都會生成一個新的 String 物件,然後將指標指向新的 String 物件,
所以經常改變內容的字串最好不要用 String ,因為每次生成物件都會對系統性能產生影響,特別當記憶體中無引用物件多了以後, JVM 的 GC 就會開始工作,效能就會降低。


問題二:執行緒有哪幾種狀態

  執行緒從建立、執行到結束一共有五種狀態.新建狀態、就緒狀態、執行狀態、阻塞狀態及死亡狀態.
1.新建狀態(New): 
當用new操作符建立一個執行緒時, 例如new Thread(r),執行緒還沒有開始執行,此時執行緒處在新建狀態。 當一個執行緒處於新生狀態時,程式還沒有開始執行執行緒中的程式碼
2.就緒狀態(Runnable)
一個新建立的執行緒並不自動開始執行,要執行執行緒,必須呼叫執行緒的start()方法。當執行緒物件呼叫start()方法即啟動了執行緒,start()方法建立執行緒執行的系統資源,並排程執行緒執行run()方法。當start()方法返回後,執行緒就處於就緒狀態。
處於就緒狀態的執行緒並不一定立即執行run()方法,執行緒還必須同其他執行緒競爭CPU時間,只有獲得CPU時間才可以執行執行緒。因為在單CPU的計算機系統中,
不可能同時執行多個執行緒,一個時刻僅有一個執行緒處於執行狀態。因此此時可能有多個執行緒處於就緒狀態。對多個處於就緒狀態的執行緒是由Java執行時系統的執行緒排程程式(thread scheduler)來排程的。
3.執行狀態(Running)
  當執行緒獲得CPU時間後,它才進入執行狀態,真正開始執行run()方法.
4. 阻塞狀態(Blocked)
執行緒執行過程中,可能由於各種原因進入阻塞狀態:
1>執行緒通過呼叫sleep方法進入睡眠狀態;
2>執行緒呼叫一個在I/O上被阻塞的操作,即該操作在輸入輸出操作完成之前不會返回到它的呼叫者;
3>執行緒試圖得到一個鎖,而該鎖正被其他執行緒持有;
4>執行緒在等待某個觸發條件;
所謂阻塞狀態是正在執行的執行緒沒有執行結束,暫時讓出CPU,這時其他處於就緒狀態的執行緒就可以獲得CPU時間,進入執行狀態。
5. 死亡狀態(Dead)
有兩個原因會導致執行緒死亡:
        1) run方法正常退出而自然死亡,
        2) 一個未捕獲的異常終止了run方法而使執行緒猝死。
        為了確定執行緒在當前是否存活著(就是要麼是可執行的,要麼是被阻塞了),需要使用isAlive方法。如果是可執行或被阻塞,這個方法返回true;  如果執行緒仍舊是new狀態且不是可執行的, 或者執行緒死亡了,則返回false.
問題三:JSP的四大作用域

作用域就相當於是"資訊共享的範圍"JSP內建物件的作用域分別為application.session.request.page範圍一次變小
application 在所有應用程式中均有效
session 當前會話中有效
request 當前請求中有效
page 當前頁面有效
web互動的最基本單位是http請求,每個使用者從進入網站到離開網站這個過程稱為一個http會話,一個伺服器的執行過程會有多個使用者訪問,就會有多個http會話



相關推薦

面試題目總結()

前言: 面試題目總結主要記錄我在面試過程中,面試官提出的問題.將這些問題整理起來希望下次能回答的更好.也希望能給予更多人回憶知識點,希望大家都能找到更好的工作.問題一:String,StringBuffer,StringBuilder的區別String:字串常量,字串長度不

前端面試題目總結

1.判斷下面輸出內容,並嘗試怎樣正確輸出0,1,2,3,4,5 for (var i = 0; i <= 5; i++) {     setTimeout(function timer(){ console.log(i) }, i * 1000) } /

PYTHON 一些基礎面試題目總結

外部 刪除一個文件 tel 信息 mpi seq break list 請求 PYTHON 一些基礎面試題目總結http://www.bieryun.com/1191.html1. Python是如何進行內存管理的?答:從三個方面來說,一對象的引用計數機制,二垃

Java筆試面試題目

java運算 最大數 sys 功能 正整數 true 編譯 阻止 有效 每日一句:沒有一勞永逸的幸福,只有先苦後甜的努力!加油! java應屆生或自學初學者筆試面試題目總結,希望對大家有幫助,題目來自自己學習總結和老師講解,網絡資源,書籍資料。敲出來

java常見面試題目

過程 重寫 font ble body 釋放 就會 t對象 使用 在大四實習階段,秋招的時候,面試了很多家公司,總結常見的java面試題目:(答案可以自己百度) 1、你所用oracle的版本號是多少? 2、tomcat修改8080端口號的配置文件是哪個? 3、mybati

人事面試題目總結

面試官問的時候,我們需要毫不猶豫的回答出來,這一點非常的重要,一但回答猶豫不決,面試官會認為你正準備編故事,所以不管你後面說什麼,都會持懷疑的態度,一但他對你有懷疑,你覺的他還會要你嗎? 1、請你自我介紹一下你自己? 回答提示:一般人回答這個問題過於平常,只說姓名、年齡、

常用演算法題目總結(陣列篇)

如何用遞迴實現陣列求和? 程式碼如下: #include "stdafx.h" #include<iostream> #include<string> using namespace std; template<class

SQL經典面試題目總結

Sql常用語法 下列語句部分是Mssql語句,不可以在access中使用。 SQL分類: DDL—資料定義語言(CREATE,ALTER,DROP,DECLARE) DML—資料操縱語言(SELECT,DELETE,UPDATE,INSERT) DCL—資料控制語言

程式設計師面試題目總結--陣列(三)【旋轉陣列的最小數字、旋轉陣列中查詢指定數、兩個排序陣列所有元素中間值、陣列中重複次數最多的數、陣列中出現次數超過一半的數】

11、求旋轉陣列的最小數字 題目:輸入一個排好序的陣列的一個旋轉,輸出旋轉陣列的最小元素。 分析:陣列的旋轉:把一個數組最開始的若干個元素搬到陣列的末尾。例如陣列{3, 4, 5, 1, 2}為{1, 2, 3, 4, 5}的一個旋轉,該陣列的最小值為1。這道題最直觀的解

大廠Java面試題目總結

基礎篇 String為什麼要設計成Final String StringBuffer StringBulider的區別 你能給我寫一個final物件嗎 重寫hashc

spring基礎知識彙總及常見面試題目總結

Spring簡介 spring框架由Rod Johnson開發,2004年釋出了Spring框架的第一版。Spring是一個從實際開發中抽取出來的框架,因此它完成了大量開發中的通用步驟,留給開發者的僅僅是與特定應用相關的部分,從而大大提高了企業應用的開發效率。

面試題目總結

1.下面識別符號命名正確的有:命名規範沒有記好導致少選:識別符號就是給變數、類或方法起的名字。可以用字母、下劃線或美元符號開頭,區分大小寫,沒有最大長度限制。//第二題:下面哪些程式片段會導致錯誤; //A String s = "gone with the wind"; S

七、PYTHON 一些基礎面試題目總結

1.       Python是如何進行記憶體管理的? 答:從三個方面來說,一物件的引用計數機制,二垃圾回收機制,三記憶體池機制 一、物件的引用計數機制 python內部使用引用計數,來保持追蹤記憶體中的物件,所有物件都有引用計數。 引用計數增加的情況: 1,一

JS 基礎知識面試題目

1.將一個變數放在外面和放在函式中的區別?•將一個變數放在外面,一般稱之為全域性變數:當前頁面內有效•將一個變數放在一個函式中,一般稱之為區域性變數:只在函式內有效•若定義的變數沒使用var,則為全域性變數2.“==”和“===”的不同?•==表示相等:只要值相等就可以了,資

前端面試題目整理

1.瀏覽器本地儲存 瀏覽器本身為js提供了兩個本地儲存的方式,一個是localstorage,一個是sessionstorage. (1)sessionstorage是本地儲存的一段對話中的資料,只有在同一個頁面會話時才會訪問sessionstorage並且當該回    話

操作系統PV編程題目總結

mut roc ces pst ren 登記表 取出 int 計數 1.今有一個文件F供進程共享,現把這些進程分為A、B兩組,規定同組的進程可以同時讀文件F;但當有A組(或B組)的進程在讀文件F時就不允許B組(或A組)的進程讀文件F。試用P、V操作(記錄型信號量)來進行管理

LeetCode題目總結

括號匹配 比較 最長 github上 三種 https 就是 最長回文 符號 我的代碼在github上,https://github.com/WINTERFELLS/LeetCode-Answers 這裏只提供個人的解題思路,不一定是最好的。 Problems1-20 尋

mysql數據庫面試總結()

strong shu 相對 怎樣 解決問題 一是 一次 數據庫優化 date 1、數據庫優化  1)數據庫範式   第一範式(1NF):強調的是列的原子性,即列不能夠再分成其他幾列。   如電話列可進行拆分---家庭電話、公司電話   第二範式(2NF):首先是 1NF,另

2018/5/19面試題目整理(每日題)

如何 題目 設計 locals 區別 AS 舉例 java 開發工程師 昨天有點事情,忘了更新,不好意思了=。= Java後臺開發 Hashmap源碼(手寫) 產品經理 設計一款比大白更受歡迎的家用機器人。 前端開發工程師 描述cookies,sessionStorage和

Java 面試基礎總結

tor rac 時有 線程安全 lec getclass ron 接口 add 1、九種基本數據類型的大小以及它們的封裝類 java提供的九種基本數據類型:boolean、byte(1)、char(2)、short(2)、int(4)、long(8)、float(4)、do