「本文已参与好文召集令活动,点击查看:后端、大前端双赛道投稿,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圈很流行。那么在一个程序员的角度,若是拥有了产品思惟,或许只会偶尔有开发工程师打产品经理的新闻。
产品思惟可让工程师理解这个项目的 目的愿景,就能够更好的从技术的角度或者经验的角度提出建设性的建议,对这个项目愈来愈有信心和激情。
自我思惟强调的是程序员对本身将来的规划。
由于程序员这辈子均可以干,但有些事情过了这个年纪想干也干不了。
向星爷同样面对大海高喊:“努力!奋斗!”
因此,遇到本身想干的事,干就完事了。
以上是我我的对程序员这个职业的一些想法,
欢迎你们踊跃留言交流。