java面試常見基礎問題之一


1 什么是項目

  在既定的資源和要求的約束下,為實現某種目的而相互聯系的一次性工作任務。項目可以創造:1.一個產品;2.一種服務或提供服務的能力;3.對現有產品線或服務的改進;4.一種成果。

  項目的兩大特性:1.臨時性(Temporary)項目有明確的起點和終點,臨時性並不意味着持續時間短,很多項目的結果具有持久性

          2.獨特性(Unique)項目創造獨特的可交互成果(Deliverable),獨特性導致不確定性和風險,使得需要比常規例行工作做更多精心規划

2 java基礎

  java的三大特征,封裝、繼承和多態。

  封裝:把一類實體定義為類,該類中定義的變量為其屬性,定義的方法為其操作或是描述。

  繼承:一個類派生出一個子類,子類實現父類的抽象方法。

  多態:一個類派生出多個子類,各個子類根據業務需求實現不一樣的父類的抽象方法。

3 什么是微服務

  微服務(Microservices Architecture)是一種架構風格,一個大型復雜軟件應用有一個或多個微服務組成,微服務可以獨立部署,微服務之間松耦合,微服務只用關注於完成一件任務並很好的完成該任務。

4 spring是什么

  參見已有博文

5 restfull是什么

  rest全稱(Resource Representational State Transfer)資源表現層狀態轉移:描述了一個java體系架構,什么是一個restfull架構?

  1)每一個url代表一個資源。

  2)客戶端和服務端之間,傳遞這種url資源的某種表現層。

  3)客戶端通過四個http請求對服務端資源進行操作,實現“資源表現層狀態轉移”。

6 mybatis是什么

  一個優秀的基於java的持久層框架,內部封裝了jdbc,mybatis通過xml或注解的方式將要執行的各種statement配置起來,並通過java對象和statement中sql的動態參數進行映射,組成最終執行的sql語句,最后由mybatis框架執行sql語句,並將結果映射為java對象,並返回給java服務端。

7 kafka是什么

  一種高吞吐量的分布式發布訂閱消息系統,它可以處理消費者規模的網站中的所有動作流數據。

8 thrift是什么

  一個軟件框架,用來進行可擴展且跨語言的服務的開發。定義一個簡單的文件,作為輸入文件,編譯器生成代碼。

  支持哪些類型:bool\byte\i16\i32\i64\double\string\list\map\set

  如果某些字段可以有值可以無值,可以使用什么關鍵字修飾:optional,當字段沒有該值時不會被序列化輸出。

  用什么定義組織結構:namespace。

9 docker是什么

  是什么:容器管理引擎。

  有哪些入口:1)使用docker attach進入Docker容器;2)使用nsenter進入Docker容器,需要把nsenter安裝到主機中(主機非容器或是鏡像);3)使用docker exec進入Docker容器。

10 quartz是什么

  開源作業調度框架

11 redis是什么

  redis是什么:一個內存數據庫,

  為什么說它存取效率高:因為基於內存,所以存取效率高。

  value可以是什么:string\hashes\list\sets\sorted sets

  redis的命令有哪些:

    首先需要在redis的bin路徑下執行命令進入命令行截面,鏈接遠程的redis命令 $./redis -cli -h {ip} -p {port} -cipherdir /opt/oss/SOP/etc/cipher/ -a {dbservername}@ossdbuser@123456

    keys * //查勘redis中所有鍵

    補充:cli(Command language interpreter)命令語言解釋程序

    $redis -cli -h host -p port -a password   //連接本地的redis服務


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM