面試官視角看面試

    靜兒最近作面試官作的比較多,說說我們這些站在巨人肩膀上的後起之秀應該具備的基本觀念。面試

    首先,CRUD(增刪改查)工程師是很難找到好工做的。若是你介紹一我的的時候,說這我的不錯,踏實靠譜,推薦去某某大廠吧。這句話暴露了本身的格局。大廠第一看能力。編程

    先說說CRUD工程師。面試發現是這種狀況,挺尷尬的。若是面試時發現老是在切換內容沒有體系,通常有兩個緣由:要不面試官挫,要不面試者挫。設計模式

 

    某某說我一個作業務的,每天就是CRUD啊,沒啥好說的。額,聽我說說看。api

    好比:你們常常開玩笑舉例子,說作的業務比較挫,就命名爲XXX管理系統。先說說XXX管理系統。安全

 

WHAT網絡

    就算咱們只是簡單的執行者。執行力要看what why how。先看看what。架構

 

    上圖展現了首先要梳理的一些事情。即:處於什麼領域?這個領域都有哪些顯性需求和隱性需求?舉個例子,隱性需求裏看起來很簡單的,可是基本每一個業務都要考慮的安全規約。像金融業務涉及合規什麼一清、二清,獨立物理部署咱們就不提了,就說說每一個項目都要用的。大數據

    數據脫敏是信息安全中心根據《中華人民共和國網絡安全法》和公司敏感數據安全管理要求,開展的一項針對數據倉庫、應用系統等層面的公司敏感數據的脫敏管理工做。技術問題來了,怎麼實現的?這就和麪試官有的聊了。設計

    再說說RBAC(基於角色的權限控制),A是普通用戶,B是管理員。權限有高低之分,這就屬於垂直權限要解決的問題。A、B兩個都是普通用戶,可是他們都只能看到本身的信息,不能看到別人的,這就是水平權限要解決的問題。技術話題打開序幕……對象

 

WHY

    假如咱們給老闆提交了一個項目計劃,裏面列出了什麼時間作什麼事情。老闆看着這些東西多半不是第一個關心的,第一關心的是:作這些有哪些收益?

    why的問題真正決定了這個項目的架構。舉個例子來講,靜兒是作容器的,用k8s,k8s的架構大致以下:

    看不懂不要緊,不是重點。重點從工程上來講,它的核心思想和XX管理系統是差很少的。

    k8s有一個暴露的api層,作的就是CRUD,etcd是存儲,剩下的就是它的核心職能:容器管理和策略。

    XX管理系統是否是差很少?有一個暴露的api層,作的就是CRUD,下面是存儲層,而後是核心職能。

    管理系統是偏業務的。八大數據分析模型(留存分析、行爲事件分析、漏斗分析、點擊分析、用戶路徑分析、用戶分羣分析、分佈分析、屬性分析)是基礎。爲了獲取收益該作的埋點都埋了嗎?該展現的報表展現了嗎?該作的統計分析作了嗎?

 

HOW

    各部分都怎麼作,太多了,不一一細說。最簡單的設計要遵循的一些原則和本身從實踐中總結的規律。列幾個最簡單的,能作好也挺不容易。

 

面向對象的三大基本特性

三大特性:封裝、繼承、多態

封裝:將客觀事物封裝成類

繼承:讓某個類型的對象得到另外一個類型的對象的屬性和方法

多態:指一個類實例的相同方法在不一樣情形有不一樣表現形式

 

面向對象的五大基本原則(SOLID原則)

單一職責原則SRP(Single Responsibility Principle):是指一個類的功能要單一,不能一應俱全。

開放封閉原則OCP(Open-Close Principle):一個模塊在擴展性方面應該是開放的而在更改性方面應該是封閉的。

里氏替換原則(Liskov Substitution Principle LSP):子類應當能夠替換父類並出如今父類可以出現的任何地方。

接口分離原則(the Interface Segregation Principle ISP):模塊間要經過抽象接口隔離開,而不是經過具體的類強耦合起來。

依賴倒置原則(Dependency Inversion Principle DIP):傳統的結構化編程中,最上層的模塊一般都要依賴下面的子模塊來實現,也稱爲高層依賴低層。DIP就是不要直接依賴具體類,能夠定義一個接口,依賴接口。

 

設計模式的六大原則

開閉原則(Open Close Principle):對擴展開放,對修改關閉。

里氏代換原則(Liskov Substitution Principle):任何基類能夠出現的地方,子類必定能夠出現。

依賴倒轉原則(Dependence Inversion Principle):針對接口編程,依賴於抽象而不依賴於具體。

接口隔離原則(Interface Segregation Principle):使用多個隔離的接口,比使用單個接口要好。它還有另一個意思是:下降類之間的耦合度。

迪米特法則,又稱最少知道原則(Demeter Principle):一個實體應當儘可能少地與其餘實體之間發生相互做用,使得系統功能模塊相對獨立。

合成複用原則(Composite Reuse Principle):儘可能使用合成/聚合的方式,而不是使用繼承。

 

其它原則

1.KISS原則

KISS(keep it simple, stupid):簡歷即正義

2.業務內聚,訪問通道隔離

 

對於管理系統來講,權限管理是門藝術,能搞定ABAC(Attribute Based Access Control)和RBAC(Role based Access Control)也能達到至關的高度。