求職複習系列1

投簡歷一週多了,面試了三個,每天也不知道複習點什麼,就想從今天開始每天寫一篇求職遇到的問題,複習的知識,或者學習的知識,

遇到了好幾個問題下面簡單的列舉一下

  1. 線程創建方式有幾種

這個問題我之前有過了解,開始學習的時候只有兩種,繼承Thread和實現Runable,另外還有通過callable,最後一種是通過線程池(ThreadPool)

  1. hibernate和mybatis的區別

Mybatis:小巧、方便、高效、簡單、直接、半自動化

Hibernate:強大、方便、高效、複雜、間接、全自動化

接著問了我mybatis的缺點.

當時我也沒反應過來,hibernate配置文件中配置了方言,把hql翻譯成對應不同數據庫的sql語句.mybatis直接把sql寫在配置文件中,.數據庫更換的時候,hibernate的移植性比mybatis的移植性高的多

  1. 常見的設計模式

小編在學習這段時間遇到的設計模式主要是單利,工廠模式,平時瞭解的設計模式一共23種,其中我們主要了解的有觀察者,適配器,裝飾器等

主要理解的有單利模式主要是懶漢式和惡漢式,主要把構造方法私有化,提供一個返回對象的方法,懶漢式在返回的時候判斷是否為空,餓漢式,聲明對象的時候就進行出初始化

工廠模式的缺點:

增加新的產品等級結構很複雜,需要修改抽象工廠和所有的具體工廠類,

  1. 對spring的理解

spring 是一個輕量級的開源框架,是一個aop和ioc容器

spring的核心是ioc 和aop

ioc是一種面向對象的設計原則降低了代碼的耦合度,使程序結構更加靈活,

將依賴關係寫到配置文件中,達到松耦合的效果

ioc也叫依賴注入,開發者模式,提倡使用接口編程

spring的注入,構造器注入setter注入,是容器通過調用無參構造器或無參static 工廠方法實列化bean之後,調用該bean的setter方法, 即實現了基於setter的依賴注入

IOC 控制反轉,也叫DI

原來A中聲明B對象的過程,由主動變為被動,控制權顛倒,控制反轉的由來

IOC的缺點:

由於IOC容器生成對象是通過反射方式,在運行效率上有一定的損耗。

具體到IOC框架產品(比如:Spring)來講,需要進行大量的配製工作,比較繁瑣,對於一些小的項目而言,客觀上也可能加大一些工作成本。

Aop

面向切面編程(AOP)將安全,事務等於程序邏輯相對獨立的功能抽取出來,利用Spring的配置文件將這些功能插進去,

實現了按照切面編程,提高了複用性;最主要的作用:可以在不修改源代碼的情況下,給目標方法動態添加功能

Spring優點

  • 低侵入式設計,獨立於各種應用服務器
  • 依賴注入特點性將組件關係透明化,降低耦合度
  • 與第三方框架具有良好的整合效果


分享到:


相關文章: