LAMP 开发实习生需要的技术能力

说道 La (n) mp 开发,其实我个人觉得应该把这个单词倒过来,可能才更能表现出这套技术栈的主次和先后顺序:pmal=php+mysql+apache\nginx+linux。

  • PHP
    • 手册要仔细读 (高)
      • 注意要仔细
      • 可以尝试一下官方手册评论里那些代码
    • 某个框架比如 thinkPHP:(高)
      • 要有使用和开发经验
      • 要读框架的实现代码
      • 最好自己造个轮子了解下框架的实现和其中可以优化的点
    • 语言底层 (中)
      • 最起码得知道发展历史和主要版本吧
      • 底层实现多少得了解一些
      • 语言层面有哪些安全隐患
      • 语言层面有哪些性能优化点
    • 一些常用的扩展 (中)
      • yaf 有没有尝试过?
      • swoole?
      • 怎么开发扩展
  • Mysql
    • 基本使用
      • 基本的 sql 能力
      • 数据库基本知识
      • 能根据需求设计表结构
    • 性能优化
      • sql 上有哪些优化点
      • 关于数据库索引
      • 存储引擎
      • 分库分表分区?
      • sql 使用上有哪些性能有关的坑?
    • 高性能 MySQL 架构
      • 算了,内容太多,建议去图书馆或京东搜这个关键字吧
      • 从面试的结果看,无论本科研究生没几个人了解这块
  • nignx\apache
    • 这一块相对而言面试不会问太细,因为,大家都是使用者
    • 我见过的一些与此相关的问题
      • 基本搭建使用
      • nginx+php 为什么比 nginx+apache 高效
      • nginx 有哪些作用、先进特性
      • http 服务器实现
      • 穿插考你网络相关知识
      • 与 nginx 日志相关的一些问题
        • 怎么修改日志格式
        • 延伸出怎么进行日志收集统计等
      • url 重写也是一个可能的提问点
      • 怎么实现负载均衡?配过吗?用 nginx 配有什么问题?
  • Linux
    • 好吧,从我收集的情况看一般实习生都不太重视这块
    • 基本使用:找套 Linux 使用手册照着敲一遍吧
    • shell 是关键
    • 科班出身或学术派的面试官会顺带着考操作系统

如果把这套技术栈拆分成单点,可能上面罗列的内容已经有无数的题目可以变着法的作为考题,但是相对而言,上面的还不够。

  • 项目经验
    • 电商:Ecshop 类产品
      • 是否有自己实现过?
      • 实现过哪些功能?
      • 根据实现的功能考察项目开发设计能力
    • 社交类:discuz?wecenter?
    • CMS: 织梦等
  • 架构与性能
    • 高性能 Mysql
    • 大型网站架构
    • 搜索相关话题,这两块内容够啃一年两年的

好的,今天的文章先到这,希望能给需要的同学一点启发,找到需要努力的方向。