网页全栈工程师要点分析

1、设计

美观、交互体验、Axure,AI,PS(包括切图、雪碧图等)三大软件

美观的问题一方面是UI本身的设计稿,另一方面是前端的还原度,“上位者的怜悯”的博客可以说是博客园里的巅峰之作吧。当然也不是需要每个网站都做得像画画一样精美,大多数比较大众的网站都做得还不错,基本上都可以作为参考的对象。话说回来,发现好像漂亮的网站都会比较多图片,而比较丑的网站大多使用纯色块,广告特别多的除外。

交互体验上最坑的是前段时间很流行的下图这种搜索框,好不容易打完了字顺手一点居然是取消,什么心情都没有了。最近几乎没有了,其实很纳闷为什么这种设定会流行出来,明明非常反人类。如果没猜错的话,始作俑者应该是抄ios里面Safari的搜索框,给跪了。

Axure,PS和AI三个软件。好吧,可能很多人都不知道AI是什么来的,这里说的AI不是说人工智能,而是Adobe Illustrator软件,这个软件是用来制作矢量图形的,当然用得最多的还是打开网上下载的图标素材然后拖到PS里 ~_~

网页全栈工程师要点分析_第1张图片

2、前端

HTML/CSS,jQuery/JS(包括DOM操作和Ajax),熟练使用Firebug、Chrome开发者工具 等前端调试工具,了解一两个前端框架(如Bootstrap、AngularJS、ReactJS)

HTML/CSS页面布局,目前看到最多出现却少有人提及的问题在于,实际页面与设计图相差太多,就是一眼看下去差了好几个档次的样子(设计师有空的话会催着调调调)。对于jQuery和JS,能用JQ的就不要用JS瞎折腾吧,网上也有大把的各种插件,自己写插件门槛也非常低。

3、后端

一门后台语言(如PHP),一个成熟的MVC框架(如ThinkPHP),代码规范,分层设计,面向对象,数据库ORM,页面模板渲染,页面静态化,URL优化

4、数据库

表和列的结构设计(包括类型选择、表拆分等)、索引优化、NoSQL缓存(Memcache、Redis等)

5、安全

防止重复提交、SQL注入、XSS攻击、CSRF攻击、Cookie安全、Webshell攻击

6、服务器运维

熟练Linux常用指令和Shell脚本、Windows服务器下的软件安装使用、Apache和Nginx配置、域名解析、svn/git日常操作和规范

7、软实力

业务逻辑分析能力、团队合作能力、小组领导能力、沟通能力

网上找资料看博客,发现网站开发这个领域有一个很奇怪的现象,那就是人人谈技术细节或者架构,没人谈业务逻辑。比如一个典型B2C商城的退换货流程应该怎么设计,这样一个普遍的业务在博客园上竟几乎没有相关的方案文章。而此前在我学电子的时候,常见的需求都会有完整清晰地处理流程方案。比如做一个四轴飞行器,技术论坛上很多都有从电路图到程序包括芯片选型、电路设计、PID算法、平衡调试的整体解决思路。

团队能力、领导能力和沟通能力,这些属于综合素质,只能从学校就开始培养,做班干部,努力争取学校组织、社团的一些有意义的职位等等。不是说偏见或者鄙视什么,一个优秀的人真的通常都会在很多方面都比较优秀、而且是从小就开始,人们口中所说的书呆子还真没见过。学校不少考研的保研的他们本身学习能力就比较强,而且综合能力也比较强。能力优秀者大多会身兼多职,比如你原来知道某某是XXX部长,却会在后来知道她原来还是他们班的班长或者其他重要角色,又或者是在全国性比赛得了一、二等奖等等。

一个全栈工程师也应该是这样,一开始给人感觉可能是他在后端和数据库很强,然后你会发现他还会服务器的日常运维,再然后你会发现他的JS也写得很遛,最后你可能还会发现原来他还会P图……

你可能感兴趣的:(网页全栈工程师要点分析)