作为一名web开发者来说,不论是php还是java web,就我目前掌握的知识来说,个人认为应该掌握以下几个方面的内容 
1 基础的编程语言,这个好像是废话 
2 软件设计的思想,如面向对象、mvc、各种设计模式等等 
3 web服务器的配置、优化,如apache、nginx 
4 关系型数据库,现在mysql比较流行 
5 非关系型数据库,如memcache、redis、MongoDB 
6 http协议 tcp/ip协议 
7 web高并发下的解决方案 
8 linux系统,最低要求会写shell 
9 掌握一门其他语言(这个在有些人貌似是不必要的,但我觉得还是挺有好处的) 
10 正则表达式 
11 web前端技术如js div+css(非必要) 
上面所说的知识点每一个都值得大书特书,下面我尽我能力详细的罗列,并对每一个技术点写一篇专门的博客做解答 
首先是第一点,对自己熟悉语言的理解。这个是基本且是最难的,拿php来说,包括基本函数、内置方法、数组的掌握,底层运行原理的掌握、任意一个框架的构建思想、甚至包括php如何与web服务器的通信原理等等还包括设计其他数据结构和常用技术的知识点,下面开始详细介绍 
1 php常用的处理数字、时间、字符串、文件和数组的函数,如果非要说一个标准的话大约要记住50个 
2 php的编码规范 
3 类中的基础知识(如魔术方法、静态属性、对象赋值、继承、多态等等概念的理解和语法使用) 
4 对cookie和session的理解(这个放到http中归类也是可以的) 
5 队列的作用及实际使用场景 
6 php与web服务器的通信原理(也就是所谓的php-fpm/cgi/fastcgi/sapi这些让人搞不清的概念之间的关系) 
7 跨域的解决 
8 传值与传引用的区别以及使用场景 
9 web安全方面的解决方案 
10 php在处理超大数据方面的解决方法(平时我没用到过,面试中经常会问到) 
11 重定向 
12 try/catch 
13 如何捕获服务器异常,如404 
14 php的垃圾回收机制 
15 路由实现机制 
二 关于软件设计思想 
这一部分是php技能的升级版,在掌握了任何一门语言的基础语法知识后都不可避免的会设计到架构设计方面的问题,小到一个功能的思路设计大到整个框架底层的实现,这都是我们长期实践和思考得来的宝贵财富,需要我们遵循一定的思想及模式来方便我们工作,如面向对象编程、设计模式等等 
1 对面向对象的理解 
2 对任意一个成熟框架的底层架构了解 
3 尽可能多的掌握设计模式并熟练运用 
4 现在力所不能及的软件设计思想,有一次听一个朋友说起过,后来忘了,境界不在一个层次上面,只记得这个名词了,以后在讲解 
三 web服务器的优化配置 
现在不太懂,以后慢慢补充20171007 
四 关系型数据库 -mysql 
知识面实在太大,几乎是我力所不能及的,只能是尽我所能的尽可能的罗列 
1 数据库三大范式,平时根本不会在意,也就面试的时候可能会用到 
2 常用sql语句的熟练掌握(这是基础也是重中之重,比如 limit、having/where 、group by、join、子查询等等的使用 ) 
3 存储引擎的选用(即异同) 
4 对索引的理解(非常非常重要,极其值得大书特书)及常用的sql语句的优化 
5 对数据类型的掌握(如int(5)/int(10)的区别,varchar(10)/varchar(100)的区别,我相信这个问题大多数人也是不清楚的,区别是不同的吆) 
6 读写分离的延迟解决方案 
7 数据穿透的解决方案 
8 事务和锁(非常重要) 
9 隔离级别(这个平时大部分人不会注意,因为都用默认的,但面试的时候会问到) 
10 分库分表

php程序员应该掌握的技能包的更多相关文章

  1. JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Python创建者Van Rossum等编程大牛对程序员的职业建议

    软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编 ...

  2. Code Review 程序员的寄望与哀伤

    一个程序员,他写完了代码,在测试环境通过了测试,然后他把它发布到了线上生产环境,但很快就发现在生产环境上出了问题,有潜在的 bug. 事后分析,是生产环境的一些微妙差异,使得这种 bug 场景在线下测 ...

  3. 传播正能量——做一个快乐的程序员

    引子 今天在博客园看到施瓦小辛格的文章我们搞开发的为什么会感觉到累,顿时有感而发.自己本来不擅长写文章,更不擅长写这种非技术性的文章,但是在思绪喷薄之际,还是止不住有很多话要说.针对从客观上说&quo ...

  4. SQL Server 致程序员(容易忽略的错误)

    标签:SQL SERVER/MSSQL/DBA/T-SQL好习惯/数据库/需要注意的地方/程序员/容易犯的错误/遇到的问题 概述 因为每天需要审核程序员发布的SQL语句,所以收集了一些程序员的一些常见 ...

  5. 就这么漂来漂去---一个毕业三个月的java程序员的裸辞风波

    注:这并不是一篇技术文章,而是记录了我这几个月经历的入职,裸辞,找工作的心路历程,简单介绍一个博主的情况,我是16年毕业生,校招进了一家北京的公司,java开发,和很多年轻人一样,干了一段时间,我发现 ...

  6. 【定有惊喜】android程序员如何做自己的API接口?php与android的良好交互(附环境搭建),让前端数据动起来~

    一.写在前面 web开发有前端和后端之分,其实android还是有前端和后端之分.android开发就相当于手机app的前端,一般都是php+android或者jsp+android开发.androi ...

  7. 程序员必须要知道的Hadoop的一些事实

    程序员必须要知道的Hadoop的一些事实.现如今,Apache Hadoop已经无人不知无人不晓.当年雅虎搜索工程师Doug Cutting开发出这个用以创建分布式计算机环境的开源软...... 1: ...

  8. [转载]一个标准java程序员的进阶过程

    第一阶段:Java程序员 技术名称 内                 容 说明 Java语法基础 基本语法.数组.类.继承.多态.抽象类.接口.object对象.常用类(Math\Arrarys\S ...

  9. 【读书】PHP程序员要读的书目(不断完善中)

    本文地址 分享提纲: 1. PHP 2. Linux 3. Apache/Nginx 4. Mysql 5.设计模式/架构 6. 缓存并发 7. 其他语言 8. 代码基础 9. 大前端 10. 管理生 ...

随机推荐

  1. selenium网页没加载完成就停止加载并自动刷新

    判断一个网页10秒没加载完成就停止加载并自动刷新 driver=webdriver.Chome() driver.set_page_load_timeout(10) while True: try: ...

  2. requirejs源码分析: requirejs 方法–2. context.require(deps, callback, errback);

    上一篇 requirejs源码分析: requirejs 方法–1. 主入口  中的return context.require(deps, callback, errback);  调用的是make ...

  3. yii2判断数据库字段is null

    $query = new Query; $query->select('ID, City,State,StudentName') ->from('student') ->]) -&g ...

  4. iOS 关于自动更新的分阶段发布(灰度发布)的相关简介

    前言:  AppStore 发布应用方式除了自动和手动,如今添加了分阶段发布(灰度发布).目的很明确,降低新版本骤然上升的bug率,不能挽回,只能发布新版本的风险.也也是针对禁止使用热修复,推出的相对 ...

  5. DevOps能力是落地微服务的前提

    在软件开发领域不存在银弹,当用一项新的技术或新的架构时一定要明白其背后的原理,确保把合适的技术应用在合适的项目上,而不是盲目跟风. 单体应用伸缩性差,而且随着应用规模的扩大,业务逻辑和开发部署过程都变 ...

  6. 020_自己编写的wordcount程序在hadoop上面运行,不使用插件hadoop-eclipse-plugin-1.2.1.jar

    1.Eclipse中无插件运行MP程序 1)在Eclipse中编写MapReduce程序 2)打包成jar包 3)使用FTP工具,上传jar到hadoop 集群环境 4)运行 2.具体步骤 说明:该程 ...

  7. 更改计算机名称,影响TFS之前映射的工作区 使用。

    今天把自己电脑的计算机名称改了,打开vs2012的时候,就提示以下的错误: ---------------------------Microsoft Visual Studio------------ ...

  8. 定制AIX操作系统的shell环境

    操作系统与外部最主要的接口就叫做shell.shell是操作系统最外面的一层.shell管理你与操作系统之间的交互:等待你输入,向操作系统解释你的输入,并且处理各种各样的操作系统的输出结果. shel ...

  9. Android系统源代码的下载与编译

    http://www.jianshu.com/p/aeaceda41798 目录 1.简介 2.官方同步源代码 3.镜像同步源代码 4.已有源代码更新 5.编译源代码 5.1编译Android 4.1 ...

  10. Go 外部排序-网络版

    目录结果 main.go package main import ( "NetworkSort/pipeline" "fmt" "os" & ...