1.全栈工程师能干什么?

全局性思维,现代项目的开发,需要掌握多种技术。互联网项目,需要用到:

产品设计:ai, CorelDRAW
界面设计:ui ps
前端开发移动优先:
ios app(oc/c++)
android app(java/c++)
Hrbrid app(混合式移动应用)
移动web(html5/javascript)
web前端语言:html5, javascript, css3
操作系统:unix, linux
web服务器:Nginx, Apache
缓存服务器:Memcached, Redis
后端业务服务器:python ,c/c++, php, java, node.js, Erlang
数据库: mysql, mongo DB
文件系统:FastDFS(taobao), GFS(google)
微信公众号:微信交互, 微信支付
restful api设计

一个项目是一个非常复杂的构成,我们需要一个人来掌控全局,他不需要是各种技术的自身专家,但他需要熟悉到各种技术。对于一个团队企业来说,有一个全局性思维的人非常之重要。


2.如何成为全栈工程师?

语言基本功
C:严谨的编程逻辑,知其然并知其所以然。
C++:面向对象编程思想,高性能,高稳定性,会当凌绝顶,一览众山小。
Python:万能胶水,什么都能干,什么都能粘合进来,语法简洁,易学。
JavaScript:html中默认的编程语言,Hybrid混合编程的排头兵,JQuery,AngularJS, Ionic。
SQL:Mysql, mongo DB
Html5:各种标签,Phonegap,Cordova。
Css3:BootStrap, MUI。

算法基本功
数据结构:把具体问题抽象成类或结构体。
排序算法:冒泡,插入,归并,快速,哈希。
链表:增删改查,逆序,树与链表的相互转换。
二叉树:搜索二叉树,平衡二叉树,红黑树。
图:深度优先搜索,广度优先搜索,海量数据挖掘。


操作系统Linux基本功
基本命令操作,开发环境vim/gcc/gdb/makefile, 文件io, 文件系统, 进程间通信,多线程编程,网络协议与编程,高并发服务器,开源服务器框架,服务器阿里云部署实施。

数据库基本功
sql基本语句,表的设计与优化, 数据库的备份部署和实施,数据库缓存优化。

Hacker精神和能力
热爱编程,快速学习能力,高强度抗压能力,解决问题的能力,健康的身体。


3.技术栈:

c/c++
Linux系统编程
arm处理器
python 瑞士军刀
JAVA、android
x86汇编
html
css
javascript


Logo

更多推荐