面試官視角看面試

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

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

先說說CRUD工程師。面試發(fā)現(xiàn)是這種情況,挺尷尬的。如果面試時發(fā)現(xiàn)總是在切換內容沒有體系,一般有兩個原因:要不面試官挫,要不面試者挫。

某某說我一個做業(yè)務的,天天就是CRUD啊,沒啥好說的。額,聽我說說看。

比如:大家經常開玩笑舉例子,說做的業(yè)務比較挫,就命名為XXX管理系統(tǒng)。先說說XXX管理系統(tǒng)。

WHAT

就算我們只是簡單的執(zhí)行者。執(zhí)行力要看what why how。先看看what。

上圖展示了首先要梳理的一些事情。即:處于什么領域?這個領域都有哪些顯性需求和隱性需求?舉個例子,隱性需求里看起來很簡單的,但是基本每個業(yè)務都要考慮的安全規(guī)約。像金融業(yè)務涉及合規(guī)什么一清、二清,獨立物理部署我們就不提了,就說說每個項目都要用的。

????數(shù)據(jù)脫敏是信息安全中心根據(jù)《中華人民共和國網(wǎng)絡安全法》和公司敏感數(shù)據(jù)安全管理要求,開展的一項針對數(shù)據(jù)倉庫、應用系統(tǒng)等層面的公司敏感數(shù)據(jù)的脫敏管理工作。技術問題來了,怎么實現(xiàn)的?這就和面試官有的聊了。

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

WHY

假如我們給老板提交了一個項目計劃,里面列出了什么時間做什么事情。老板看著這些東西多半不是第一個關心的,第一關心的是:做這些有哪些收益?

? ? why的問題真正決定了這個項目的架構。舉個例子來說,靜兒是做容器的,用k8s,k8s的架構大體如下:

看不懂沒關系,不是重點。重點從工程上來說,它的核心思想和XX管理系統(tǒng)是差不多的。

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

????XX管理系統(tǒng)是不是差不多?有一個暴露的api層,做的就是CRUD,下面是存儲層,然后是核心職能。

管理系統(tǒng)是偏業(yè)務的。八大數(shù)據(jù)分析模型(留存分析、行為事件分析、漏斗分析、點擊分析、用戶路徑分析、用戶分群分析、分布分析、屬性分析)是基礎。為了獲取收益該做的埋點都埋了嗎?該展示的報表展示了嗎?該做的統(tǒng)計分析做了嗎?

HOW

各部分都怎么做,太多了,不一一細說。最簡單的設計要遵循的一些原則和自己從實踐中總結的規(guī)律。列幾個最簡單的,能做好也挺不容易。

面向對象的三大基本特性

三大特性:封裝、繼承、多態(tài)

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

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

多態(tài):指一個類實例的相同方法在不同情形有不同表現(xiàn)形式

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

單一職責原則SRP(Single?Responsibility?Principle):是指一個類的功能要單一,不能包羅萬象。

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

里氏替換原則(Liskov?Substitution?Principle?LSP):子類應當可以替換父類并出現(xiàn)在父類能夠出現(xiàn)的任何地方。

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

依賴倒置原則(Dependency?Inversion?Principle?DIP):傳統(tǒng)的結構化編程中,最上層的模塊通常都要依賴下面的子模塊來實現(xiàn),也稱為高層依賴低層。DIP就是不要直接依賴具體類,可以定義一個接口,依賴接口。

設計模式的六大原則

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

里氏代換原則(Liskov Substitution Principle):任何基類可以出現(xiàn)的地方,子類一定可以出現(xiàn)。

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

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

迪米特法則,又稱最少知道原則(Demeter Principle):一個實體應當盡量少地與其他實體之間發(fā)生相互作用,使得系統(tǒng)功能模塊相對獨立。

合成復用原則(Composite Reuse Principle):盡量使用合成/聚合的方式,而不是使用繼承。

其它原則

1.KISS原則

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

2.業(yè)務內聚,訪問通道隔離

對于管理系統(tǒng)來說,權限管理是門藝術,能搞定ABAC(Attribute Based Access Control)和RBAC(Role based Access Control)也能達到相當?shù)母叨取?/p>

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容