常見面試題

1.面向對象

1.談談你對面向對象的理解

面向對象的三大特點:繼承   封裝   多態
      1.繼承:提高代碼的複用性,在一個父類的基礎上拓展子類特有的屬性和行爲
      2.封裝:使用一個修飾符private  私有的 
          (1.把成員變量私有化(使用private修飾)2.給私有的成員變量提供getter 和setter方法
      3.多態:使用父類類型(或接口) 接收其子類對象(實現類對象)


2.thissuper的區別
this是指代當前對象(this所在方法被誰調用,this就是指代哪個對象)
this可以調用本類的構造方法,必須寫在第一行

super:可以看成是父類對象,但不持有父類對象地址
super可以用來調用父類方法字段
super可以在子類的構造方法裏面調用父類的構造方法


3.override和overload的區別
override:方法覆寫(子類與父類   接口與實現類)
	但父類的方法不能滿足子類需求需要覆寫父類方法
	方法簽名一致
	和返回值類型與修飾符有關
	(----------------)

overload:方法重載(在同一個類中)
	方法名一致當形參列表不同
	和返回值類型與修飾符無關
		
4.final finally finalize
	final 是一個修飾符
	finally 異常處理裏面代碼塊
	finalize Object 垃圾回收的方法

5.== 和 equals 的區別
	==是用於基本數據類型的比較(比較地址值)
    equals是用於引用數據類型的比較,比較的是對象裏面存儲的數據是否相等,但是,默認Object裏面的	equals本質上還是使用的==在比較


6.String Stringbuffer Stringbuilder的區別
	都是表示字符串
	在字符串拼接上 Stringbuffer Stringbuilder效率高於String
	Stringbuffer 線程安全
	Stringbuilder  線程不安全的


7.線程
	線程啓動的兩種方式?
	一種繼承Thread類
	實現Runnable接口
	
8.請說說啓動線程時 start()run()有什麼區別?
	調用run()只是普通點的方法調用.
	start()是新開啓一個線程,去執行線程裏面的run()方法


9.請說明 ArrayList和LinkedList的區別
     1.	兩個都是不是同步的
      2.ArrayList查找效率高,尾部添加效率高,刪除和中間插入數據效率低
     3.數據添加刪除效率高,查詢效率低

10.Set和List的區別
        1.set --其中的值不允許重複,無序的數據結構
         2.list --其中的值允許重複,因爲其爲有序的數據結構


11.HashSet  TreeSet的區別(判斷重複的標準)
    1.TreeSet 是二差樹實現的,Treeset中的數據是自動排好序的,不允許放入null值。 
    2.HashSet 是哈希表實現的,HashSet中的數據是無序的,可以放入null,但只能放入一個null
	3.兩者中的值都不能重複,就如數據庫中唯一約束。 

HashSet不能添加重複的元素,當調用add(Object)方法時候,首先會調用Object的hashCode方法判斷hashCode是否已經存在,如不存在則直接插入元素;如果已存在則調用Object對象的equals方法判斷是否返回true,如果爲true則說明元素已經存在,如爲false則插入元素。
	
12.Comparable和Comparator 區別
	Comparable:自然排序(默認)
	Comparator:定製排序
	都有一個比較的方法,通過比較方法的返回值,決定添加數據的順序問題(0:相等 1 -1 )

13.map遍歷的方式
	1.運用keySet()  遍歷每個key 通過get(String key)
	2.EntrySet  getKey  getValue



2.mysql

1.事務(ACID)
	原子性
	一致性
	隔離性
	持久性
2.left join 和 right join 是以那邊的數據表爲準
   
3.分頁limit 

limit (1-1)*10,10;
limit (2-1)*10,10;
limit (3-1)*10,10;
分頁 limit (開始索引,每頁的條數)

有可能手寫sql
select * from 表 where
	
	

3.web基礎

1.servlet
	1.servlet生命週期
			1.第一次訪問的時候初始化
            2.以後每一次訪問的時候都執                                                                                行service方法
           3.當正常的關閉tomcat的時候銷燬
	
	2.四大作用域
	1.pageContext
	2.Request
	3.session
	4.application
		作用域:用於servlet和servlet之間進行數據共享

	3.什麼是jsp ---就是servlet  (jsp 頁面會被編譯爲servlet)
	
	4.jsp的內置對象有哪些
			request 
  			response

  			pageContext
  			session
 			application
			page
 			
			 out
			 
  			config
			exception
	5.el和jstl {在jsp頁面運用一定的規則,取作用域裏面的值}

	6.jsp的三大指令
		page --導入java  jar包
		include --引入其他頁面
		taglib  引入標籤 

	7.頁面與頁面跳轉的方式
		請求轉發
		重定向
		請求包含

	8.filter過濾器
		如何配置過濾器
			1.Filter定義的方式
					定義一個類實現Filter接口
			filter的生命週期
			Filter的生命週期---和Servlet的生命週期進行對比
			1.Filter在服務器啓動的時候完成對象的創建並執行init方法
			2.filter對象只會創建一次,init方法也只會執行一次
			3.每次攔截到都會去執行doFilter方法
			4.正常關閉會執行destory方法

	9.監聽器
		如何配置監聽器
		<listener> 
		 <listener-class> </listener-class> 
	 	</listener> 

	10.說說cookie和session的區別
		session和cookie的作用有點類似,都是爲了存儲用戶相關的信息。不同的是,cookie是存儲在本地瀏覽器,而session存儲在服務器。		
		cookie存儲的數據量有限,不同的瀏覽器有不同的存儲大小,但一般不超過4KB。
		session弊端,就是會佔用服務器的資源,




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章