【推荐】纯干货,新鲜出炉!中高级程序员必看!


0 1

熟练使用Shell脚本,而且可以完成不少自动化的工做;php

熟悉awk/sed/perl 操做技术,可以完成大部分文本处理和数据统计等工做;mysql

精通Linux程序(包括各类库、包、第三方依赖等等,好比MongoDB/Redis/Sphinx/Luncene/SVN之类的);nginx

熟悉Linux服务,好比如何查看Linux的性能指标数据,好比Linux基础下面的问题跟踪等。web


02redis

精通Nginx配置、多核配置、events、proxy_pass,sendfile/tcp_配置,了解超时等相关配置和性能影响;sql

知道nginx除了web server,还可以承担代理服务器、反向静态服务器等配置;熟悉nginx配置调优、权限配置;数据库

熟悉的nginx运行原理(master/worker机制,epoll),而且可以区分nginx 跟apache的区别和联系;apache


03设计模式

熟悉MySQL优化(group by/order by/rand优化等),掌握不少小技巧,熟悉MySQL搭建、冷热备份MySQL数据;浏览器

熟悉可以影响innodb/myisam性能的配置选项(好比key_buffer/query_cache /sort_buffer/innodb_buffer_pool_size/innodb_flush_log_at_trx_commit等);

熟练mysql主从同步的环境,熟悉各个binlog_format的区别;

了解MySQL的性能追查,包括slow_log/explain等,熟悉基本的索引创建以及优化处理等知识;

原理方面了解基本的MySQL的架构 (Server+存储引擎),了解基本的InnoDB/MyISAM索引存储结构和不一样(聚簇索引,B树);

了解基本的InnoDB事务处理机制;

了解大部分MySQL异常状况的处理方案(或者知道哪儿找处处理方案)。

熟悉NoSQL的表明MongoDB数据库,对比nosql跟 MySQL的差异,同时可以结合使用MongoDB。


04

基本全部的中型系统里面都会涉及到缓存处理,因此必定要熟悉缓存的使用和它存在的一些缓存隐患问题以及解决方案;

知道Memcached和Redis的异同和应用场景以及安装配置,了解Memcahed的特性和优缺点,好比最大的value值;

熟悉Redis的基本工做原理和使用,好比基础的数据类型以及应用场景,了解Redis的事务、队列等等。

原理部分,熟悉Memcached的内存结构 (slab机制),或者redis经常使用数据类型底层实现存储结构(SDS/链表/SkipList/HashTable)等等,了解Redis 的持久化机制以及RDB、AOF机制恰当使用。


05

安装配置方面:

熟悉PHP和各类第三方扩展的编译安装以及配置;

了解phpfpm的大部分配置选项和含义(如 max_requests/max_children/request_terminate_timeout之类的影响性能的配置),了解mod_php /fastcgi的区别和联系;对PHP面向对象的有深刻理解,好比依赖注入,路由运行原理,反射等等;

有作过TP/Laraver等框架的源码分析,知道PHP主流框架内部实现机制和设计思想;熟练使用常规的设计模式来应用开发(抽象工厂/单例/观察者/命令链/策略/适配器 等模式);

深刻理解MVC模式,本身也能够去作到一些开发;熟悉PHP的各类调优方法,熟悉PHP大部分安全问题的解决处理;

熟悉基本的 PHP执行的机制原理(Zend引擎/扩展基本工做机制);


06

可以设计大部分中型系统的网站架构、数据库、基本PHP框架选型;

性能测试、问题排查和处理等;

可以完成相似:浏览器 > CDN(Squid) > Nginx+PHP > 缓存 > 数据库。

架构网站的基本设计开发维护;

可以支撑天天数百万到千万流量基本网站的开发维护工做;

相关文章
相关标签/搜索