「本文已參與好文召集令活動,點擊查看:後端、大前端雙賽道投稿,2萬元獎池等你挑戰!」前端
《喜劇之王》裏觀衆最深入的應該是星爺讓柳飄飄哭成淚人的一句「我養你啊」,瞬間引發觀衆共鳴,打動人心。
程序員
可是,做爲一個後端程序員,我印象更深入的倒是:算法
正如《演員的自我修養》的封面上做者所說:
沒有小角色,只有小演員
那麼,放在程序員這行裏也蠻貼切的。
如下爲我我的對程序員的自我修養的一些理解,因我的知識侷限性,各位輕噴。sql
入門標準是最低標準,因此具有小學程度的英語和數學水平便可。數據庫
爲何只須要具有小學英語水平?
由於我從我用過的C、C++、Java、PHP、Python、Golang這些高級語言彙總的保留關鍵字也就是這些:
C語言一共32個關鍵字,以下表:後端
關鍵字 | 說明 |
---|---|
auto | 聲明自動變量 |
short | 聲明短整型變量或函數 |
int | 聲明整型變量或函數 |
long | 聲明長整型變量或函數 |
float | 聲明浮點型變量或函數 |
double | 聲明雙精度變量或函數 |
char | 聲明字符型變量或函數 |
struct | 聲明結構體變量或函數 |
union | 聲明共用數據類型 |
enum | 聲明枚舉類型 |
typedef | 用以給數據類型取別名 |
const | 聲明只讀變量 |
unsigned | 聲明無符號類型變量或函數 |
signed | 聲明有符號類型變量或函數 |
extern | 聲明變量是在其餘文件正聲明 |
register | 聲明寄存器變量 |
static | 聲明靜態變量 |
volatile | 說明變量在程序執行中可被隱含地改變 |
void | 聲明函數無返回值或無參數,聲明無類型指針 |
if | 條件語句 |
else | 條件語句否認分支(與 if 連用) |
switch | 用於開關語句 |
case | 開關語句分支 |
for | 一種循環語句 |
do | 循環語句的循環體 |
while | 循環語句的循環條件 |
goto | 無條件跳轉語句 |
continue | 結束當前循環,開始下一輪循環 |
break | 跳出當前循環 |
default | 開關語句中的「其餘」分支 |
sizeof | 計算數據類型長度 |
return | 子程序返回語句(能夠帶參數,也可不帶參數)循環條件 |
C++98/03關鍵字共63個:緩存
asm | do | if | return | typedef |
---|---|---|---|---|
auto | double | inline | short | typeid |
bool | dynamic_cast | int | signed | typename |
break | else | long | sizeof | union |
case | enum | mutable | static | unsigned |
catch | explicit | namespace | static_cast | using |
char | export | new | struct | virtual |
class | extern | operator | switch | void |
const | false | private | template | volatile |
const_cast | float | protected | this | wchar_t |
continue | for | public | throw | while |
default | friend | register | true | |
delete | goto | reinterpret_cast | try |
Java 51個關鍵字:markdown
abstract、assert、boolean、break、byte、case、catch、char、class、continue、default、do、double、else、enum、extends、final、finally、float、for、if、implements、import、int、interface、instanceof、long、native、new、package、private、protected、public、return、short、static、strictfp、super、switch、synchronized、this、throw、throws、transient、try、void、volatile、while、true、false、null
複製代碼
其餘語言的關鍵字也就是和上面的差很少,因此小學英語水平便可掌握這些單詞和具體語義。網絡
在實現通常的業務邏輯時,不多須要用到高等數學、離散數學,常常使用到的也是加減乘除,因此掌握小學數學水平已基本適用絕大部分的業務邏輯處理。若是業務中須要更爲複雜的運算,那麼這時候通常你已有算法組同事。數據結構
主要是使用SQL語言的MySQL、Postgresql、經常使用作緩存的Redis以及NoSQl的MongoDB
主要Linux發行版:Ubuntu、Centos
掌握其中的用戶權限文件權限、進程管理、網絡端口查看監控、定時任務以及經常使用的文件處理命令等命令
下面的則是程序員的進階升級思惟了
掌握常見的數據結構(列表、棧、隊列、鏈表、樹、圖); 掌握常見的查找排序算法(主要經過刷Leetcode和牛客網的劍指offer)
這塊主要是側重如何讓項目高內聚輕耦合,代碼複用; 一方面模塊化設計; 另外一方面如何應用分佈式、微服務讓系統作到高可用高併發高吞吐。
人人都是產品經理,這句話在IT圈很流行。那麼在一個程序員的角度,若是擁有了產品思惟,或許只會偶爾有開發工程師打產品經理的新聞。
產品思惟可讓工程師理解這個項目的 目的願景,就能夠更好的從技術的角度或者經驗的角度提出建設性的建議,對這個項目愈來愈有信心和激情。
自我思惟強調的是程序員對本身將來的規劃。
由於程序員這輩子均可以幹,但有些事情過了這個年紀想幹也幹不了。
向星爺同樣面對大海高喊:「努力!奮鬥!」
因此,遇到本身想幹的事,幹就完事了。
以上是我我的對程序員這個職業的一些想法,
歡迎你們踊躍留言交流。