Study Notes php面试随笔

最牛PHP全套价值10K的复习指导资料

2015-08-24  本文已影响1338人  我爱开发

链接地址

第一阶段复习:(前台页面)

注意:复习需要重点掌握的,会以红色做标记。务必理解。 下面提到的书籍一定要看。

复习要点

知识点

复习具体内容

复习目标

(X)HTML

HTML基础与加强

HTML语言,HTML语言背景知识

HTML格式标签


HTML表格标签<在数据显示方面依旧具有优势>

HTML表单<理解表单POST和GET的区别,重点>

HTML头元素

HTML浮动和定位<为什么会有浮动,清除浮动>

了解html的基本概念、 理解html的运行基本原理、掌握html的一些基本用法、能写出较复杂的网页, 达到能使用HTML创建纯静态站点。

XHTML基础与加强

XHTML与 HTML的差异<规范性>

XHTML语法

XHTML DTD<联想XML的DTD>

XTHML结构化

彻底搞清 HTML 与 XHTML 之间的差异,掌握XHTML的使用技巧,具备能将HTML站点升级到 XHTML 的能力。

HTML和XHTML

这个知识点里面最重要的就是表单的理解,以及布局中的一些技巧。主要理解浮动布局和定位(文档流)

复习表单知识,注意手写ajax在POST提交时候的注意点。

DIV+CSS

CSS基础与加强

CSS 简介

CSS基础语法

CSS 派生选择器

id 选择器(常用)

CSS类选择器(常用)

CSS盒子模型<重点理解>

CSS背景 、文本 、字体 、边框 、外边距 、内边距 、列表 、表格

CSS 高级: CSS 尺寸、分类 、定位 、伪类 、伪元素 、媒介类型

理解CSS常用选择器、简单的样式定义如何显示 HTML 元素 、如何优化网页的CSS,以及引入问题。

CSS初始化的意义?

DIV+CSS设计与应用

在实际页面布局的时候,主要是用DIV来布局,CSS做样式显示,JavaScript做行为的体现。理解结构+样式+行为的思想。

掌握DIV+CSS的WEB布局标准,对CSS的定位和浮动有较为深刻的认识。能使用盒子模型开发单个网页。

Javascript

Javascript基本语法

Javascript基本介绍、

Javascript的发展史、

Javascript运行原理剖析、

Javascript特点、

Javascript的标识符、

Javascript基本数据类型(数值类型、布尔类型、字符串类型)、

Javascript复合数据类型简介(数组、对象)、

Javascript特殊数据类型(NULL、undefine)、

定义变量、初始化、赋值、

数据类型转换的两种方式(自动转换、强制转换)、

Javascript的运算符(算术运算符、关系运算符、逻辑运算符)、

Javascript的位运算和移位运算

掌握Javascript的基本语法,对Javascript基本数据类型有清楚的认识,建立程序变量的概念、能使用变量和各种运算符完成简单编程题.

主要了解 变量声明的时候要注意 var的使用,防止全局污染

了解作用域,以及简单的数据类型有哪些,基本数据类型和复合数据类型的区别

Javascript函数

函数基本概念

函数的定义

函数的调用方式及调用过程深度剖析

函数使用细节讨论

查看以前(打印金字塔、九九乘法表)的逻辑

Javascript常用系统函数使用(encodeURI、decodeURI、eval、parseInt、parseFloat、isNaN等)

充分理解函数的概念,能熟练的自定义函数,掌握js中常用的系统函数;能使用函数完成模块化编程任务。尤其要深刻理解栈的概念以及函数在内存中调用的过程。理解常用的几个算法,冒泡,二分的。(必须理解)

Javascript数组

数组的基本使用

使用for/while遍历数组

数组实际运用(计算班级平均分)

二维数组的基本使用

使用for遍历二维数组

数组是编程中非常重要的基础,掌握如何对一维数组和二维数组进行遍历。

事件驱动编程

Javascript的Event-Driven机制

事件源、事件处理程序、事件名称、事件对象是什么、

事件类型(鼠标事件、键盘事件、HTML事件、其它事件)、

Javascript访问CSS技术、(通过查找DOM,引出jQuery

事件驱动的浏览器兼容性处理、冒泡,捕获

常用的18个事件(onblur、onchange、onfocus、onkeydown、onmousedown等)

充分理解Javascript事件驱动编程机制,以及window.onload的理解,以及异步,同步,阻塞,非阻塞的概念。(特别重要)

DOM编程

DOM编程介绍(HTML DOM与XML DOM)、

DOM编程实例入门、

BOM介绍、

DOM对象介绍、

window对象详解、

history对象详解、

location对象详解、

navigator对象详解、

screen对象详解、

event对象详解、以及兼容性,必须理解事件源

document对象详解、documentElement

style对象详解、

forms对象(集合)、

images对象(集合) 、

links对象(集合)、

熟练掌握DOM编程的技巧,对常见而且重要的DOM对象要烂熟于胸。彻底搞清楚DOM对象的层次关系和运行原理。理解DOM对象和JavaScript对象之间的关系,特别注意IE下的循环引用,内存泄露

在使用script标签的时候,放在什么地方合适,如何优化?

引出《高性能JavaScript》可以查看此书,做个整体回顾

链接:链接:http://pan.baidu.com/s/1eQ8i9wQ密码:7eps

注意 :《高性能JavaScript》必须要查看,对第一阶段的理解觉得可以达到事半功倍的效果,切记。

第二阶段:(PHP+MySQL核心编程,基本知识点的回顾)

复习名称

阶段课程

课程内容

复习目标

PHP+MySQL核心编程复习(10天)

PHP基本语法加强

Apache有几种运行模式

虚拟主机有几种配置方式

PHP脚本生命周期和如何跨脚本共享数据

PHP的引用传值和直接传值

对B/S架构如何理解和GET和POST提交区别

跨脚本共享数据和B/S理解(※※※※※※)

PHP函数

require()、require_once()、include()和include_once()的区别

从内存分析PHP函数调用过程

理解isset和empty的区别

函数值传递和引用传递的区别

以上两点面试必问

数组、排序和查找

冒泡排序和快速排序

选择排序和插入排序

顺序查找和二分查找

在实际中手写算法的项目比较少,但在面试中尤为凸显,面试必须(※※※※※※※)

面向对象编程

面向对象编程基本概念

访问权限public和private和protected的理解

栈、堆、全局区、常量区和代码区的关系

成员方法(函数)及使用细节

构造方法(函数)

默认构造方法(函数)

this的基本概念和使用

析构方法(函数)

PHP的对象垃圾回收器

静态变量(类变量)的概念和使用

静态方法(类方法)的概念和使用

面向对象编程-封装

面向对象编程-继承

面向对象编程-多态

访问控制修饰符(public、protected、private)

方法重载(overload)

方法重写(override)

方法重载(overload)和方法重写(override)的比较

PHP魔术函数(__set __get __construct __destruct __call等 )和魔术常量(__LINE__ , __FILE__ ,__FUNCTION__等 )

抽象类(abstract class)的概念和使用接口(interface)的概念和使用

接口编程和继承的区别

关键字final的使用

常量关键字const 的作用和使用注意事项

面向对象编程已经成为PHP编程的主流,面向对象编程让程序变得更加强大 和灵活,更利于项目的开发和维护。

MySQL数据库(尤其是MySQL优化,必须重点)

MySQL表类型和存储引擎(BDB/HEAP/ISAM/MERGE/MYISAM/InnoBDB)非常重要

如何选择表的存储引擎

事务的基本概念(acid)

事务和锁

事务提交和回滚操作

PHP程序中如何使用事务

多表联合查询和笛卡尔集

自连接

合并查询(union , union all,intersect , minus)

表的内连接和外连接(左外连接、右外连接和完全外连接)

维护数据的完整性-约束(not null、unique, primary key,foreign key,和check )

索引(主键索引/唯一索引/全文索引/普通索引/复合索引)

索引优缺点分析

触发器和存储过程

数据库在实际使用中最为关键,一个web架构的核心瓶颈就在于数据库的IO操作

错误处理和异常处理

错误处理的基本概念

PHP处理错误的三种方式介绍

使用die()进程错误处理

自定义错误和错误触发器

错误基本有几种?如何设置

PHP异常处理的基本介绍

PHP异常处理(try throw catch)

知道PHP常用报错如何处理

深度剖析HTTP协议(加强理解,学会抓包分析

什么是HTTP协议

使用httpwatch和firebug抓取HTTP数据包

HTTP请求详解(请求行、消息头、实体内容)

GET请求与POST请求比较

使用Referer防盗链

HTTP请求和响应时序图

HTTP响应详解(状态行、消息头和实体内容)

HTTP响应状态码详解(常见的响应码 404 502等)

如何防止浏览器缓存页面(js后面加个时间戳)

实际使用中,一定要回分析包,抓包处理数据

数据库编程(mysql mysqli pdo)

mysql_query()执行结果

释放资源和连接

对mysql数据库进行CRUD

mysqli扩展库简介

第一个mysqli扩展库程序

$mysqli->query()执行结果

mysqli对数据库进行CRUD操作

mysqli扩展库增强--批量执行sql语句

mysqli扩展库增强--事务控制

事务的acid

预处理 MySQLi_STMT

PDO的介绍和使用

MariaDB,

percona

了解

预定义超全局数组

预定义超全局数组-基本概念

$_GET、$_POST、$_REQUEST、$_SERVER、$_ENV、$_FILES 、$_COOKIE、$_SESSION、$GLOBALS

$_GET 使用陷阱(sql注入和中文乱码问题)

预定义超全局数组在我们实际编程中非常有用。实际使用中需要过滤处理

MVC开发模式(TP、CI、YII、ZF)

Model开发模式介绍

分层开发模式

MVC开发模式

MVC开发模式优缺点分析

MVC开发模式最佳应用场景,以及框架和库的差异

MVC在现在开发中尤为关键,必须深刻理解MVC的思想

cookie和session(面试必问)

什么是会话

cookie的基本概念

cookie的curd操作

cookie运行原理图解

cookie的实际运用(显示用户上次访问时间、显示用户上次浏览过的商品、)

cookie使用的注意事项

session数据存放的位置和形式

session的curd操作

session运行原理图解

session实际案例-在线购物车

IE禁用Cookie后的session处理方案

session防止用户非法入侵

session配合验证码使用

php.ini 中关于cookie和session配置说明

session入库如何处理

Session和Cookie的区别

cookie和session是面试必问的,熟练掌握

PHP文件编程

文件及文件编程是什么

文件流的基本概念

文件的操作方式

PHP文件编程函数汇总介绍

最常用的13个文件函数

使用文件完成网站计数器

文件上传下载操作(Linux常见Samba,NFS,vsftpd)

遍历文件夹的内容(笔试必考)以及 创建目录(注意Linux权限)以及多目录时候的分层

实际开发中文件操作很多,必须了解

PHP绘图技术

php的上传类

绘图最常用的函数

验证码的使用细节(如何解决IE6下的缓存)

专业的报表开发--JpGraph

实际开发绘图及时也是常有的,注意前台js绘图和后台PHP绘图。注意网站face++(在微信开发里面使用很多)

开发自己的MVC框架(了解思路)

框架介绍及目录结构(必须合理)

框架的控制器基类

框架的模型基类

框架的数据库类

框架的模板

框架的配置和初始化文件

框架的常用工具类

PHP中有很多MVC框架,比如TP,ZF,YII和CI。但是这些都是别人写好的框架,自己设计一个MVC的框架的时候,该从哪些方面考虑。

总结

必须理解MVC和单入口以及cookie等细节

这个环节必须抓紧基础复习

第三阶段:PHP高级课程(加强理解思路)

复习名称

复习课程

课程内容

复习目标

PHP的XML编程(0.5天)

XML基础和DTD

什么是XML及XML的常见应用,以及和Json的比较 (json2.js的使用

XML基础语法(文档声明、元素、属性、注释、CDATA区、特殊字符、处理指令(processing instruction))

XML约束概述

常用的约束技术(DTD和Schema)

DTD的理解

理解Json和XML的区别(面试必问)

PHP XML编程

XML解析技术介绍(PHP与DOM、PHP与XPath、SimpleXML)

php dom 编程步骤

DOM模型介绍和HTML的DOM模型的差异

DOMNode对象详解

php dom实例(CRUD操作)

学生成绩管理系统(php dom技术解析)

xpath详解

SimpleXML是什么

实际中在接口调用中使用最多。

Smarty模板技术(1天)

全面讲解Smarty模板技术

模板引擎原理分析

smarty基本语法

变量操作符(capitalize / count_characters / cat /count_paragraphs/count_sentences /count_words /date_format /default /escape /indent/lower/nl2br/regex_replace/replace/spacify/string_format/strip/strip_tags/truncate/upper/wordw rap)

组合修改器(理解Linux下的管道

Smarty的display和fetch的区别

自定义函数 (assign/counter/cycle/debug/eval/fetch/html_checkboxes/html_image/html_options)

smarty-方法(append、append_by_ref 、assign、assign_by_ref、clear_all_assign、clear_assign 、clear_cache、config_load 、clear_config、display、fetch、templateExists等)

smarty高级特性-对象

smarty高级特性-过滤器(预过滤器 /后过滤器/输出滤镜)

smarty缓存的配置和使用

Smarty的两点:

1 显示视图和后端业务逻辑的分离

2 smarty的缓存,编译文件怎么理解,变量调节器是什么,单模板多缓存,局部不缓存

Javascript加强(2天)

Javascript回顾加强

Javascript基本语法

事件驱动编程(理解冒泡和默认行为)

DOM编程

事件编程是PHP程序员必备

Javascript面向(基于)对象编程①

js面向对象特征介绍

类(原型对象)与对象

自定义类(原型对象)的五种方式(工厂方法、使用构造函数来定义类、使用prototype、构造函数及原型混合方式、动态原型方式)

对象的属性

Javascript对象在内存中存在形式深度剖析

this关键字

所有Javascript类的基类Object详解

闭包(closure)(类的成员访问权限)

构造函数和原型的引入(继承)以及多态(arguments对象)

遍历对象属性的方法(for..in)

删除对象属性(delete关键字)

JavaScript必须理解 闭包,原型链和作用域链。

同时必须注意手写js代码兼容性

Javascript面向(基于)对象编程②

js面向对象编程三大特征介绍

封装性介绍

Javascript面向对象访问权限(公开级别和私有级别)

使用原型法(关键字prototype)为所有对象添加公共方法

继承性介绍

Javascript继承实现方法(对象冒充和call及apply)

Javascript多重继承和基类Object

方法重载(overload)及覆盖(overrid)介绍

多态性介绍

正则表达式

正则表达式(RegExp)是什么

什么是正则表达式对象(RegExp)及如何创建

RegExp对象的常用方法(exec和test)

string对象与正则表达式方法(match/replace/split/search)

RegExp对象的静态属性和实例属性

子表达式、捕获、反向引用详细说明

正则表达式应用案例(电子邮件、身份证、电话、城市、中英文个数、整数小数、url解析和结巴程序)

正则在面试的时候,一般就是邮箱验证和电话号码,身份证常用验证必须烂熟于心

Javascript高级技术

Javascript作用域链

Javascript原型链

使用canvas绘图

html5脚本编程介绍

跨文档消息传递

原生拖放和拖放事件

不同浏览器的错误处理与调试(ie/firefox/safari/opera/chrom)

try-catch语句

常见的错误类型和处理错误的策略

作用域和词法分析以及语法分析

Ajax(1天)

Ajax基础与实战

什么是Ajax

Ajax相关的七种技术(javascript、xml、css、xstl、dom 、xhtml和XMLHttpRequest)

Ajax基本原理和优势

Ajax典型的应用场景

Ajax经典案例1-无刷新验证用户名

不同的浏览器创建XMLHttpRequest 对象的兼容性处理(原生GET和POST提交注意点)

Ajax的(Get和Post)两种方式

Ajax处理服务器返回HTML格式的数据

Ajax处理服务器返回XML格式的数据

Ajax处理服务器返回Json格式的数据

html、xml和json 比较

ajax十分重要,必须熟练使用

1 怎么理解无刷新

2 ajax跨域怎么处理(参照空间文章)

Javascript框架--JQuery(1天)

JQuery基础

JQuery是什么

流行的JavaScript库

JQuery快速入门

什么是jQuery对象

Dom对象和JQuery对象的相互转换

面试者能熟练说出jQuery的好处

JQuery选择器

JQuery选择器介绍

JQuery选择器快速入门

JQuery基本选择器

JQuery层次选择器

JQuery过滤选择器

JQuery基础过滤选择器

JQuery内容过滤选择器

JQuery可见度过滤选择器

JQuery属性过滤选择器

JQuery子元素过滤选择器

JQuery表单对象属性过滤选择器

JQuery表单选择器

JQuery选择器综合练习

强大的选择器,必须总结好

JQuery 中的 DOM 操作

DOM(Document Object Model—文档对象模型)介绍

DOM 操作的分类(XML DOM/CSS DOM/HTML DOM)

查找节点

创建节点

内部插入节点

外部插入节点

删除节点

克隆节点

替换节点

对属性进行各种操作(attr方法)

对样式操作(CSS方法)

设置和获取 HTML, 文本和值

常用的遍历节点方法

CSS-DOM操作

JQuery 加载并解析 XML

jQuery 中的事件 -- 加载 DOM

JQuery和Ajax整合(load、$.get()、$.post())(熟练理解)

ajax无刷新,在后台获取数据,前台DOM操作放在合适的地方。实现局部动态的理解

MVC框架--(TP 1天)

TP基础

什么是框架,和库有什么区别?

框架的优缺点分析及为什么要选择框架

主流MVC框架介绍,理解MVC的设计思想

TP(单入口,ORM,AR)的理解

MVC模式

TP执行流程深入分析(从地址栏输入URL到见到笑脸,经历了什么,见手册)

URL调度模式

面试之中,框架是必问

TP熟练使用(为了更具优势,可以扩展CI)

module功能及源码剖析

model详解

ORM与AR方式的区别

实例化模型的执行流程

连贯操作、自动验证及字段映射

模板标签及逻辑控制

模板中的循环结构

变量调节器

模板包含与布局

TP缓存应用

模板常量替换

扩展标签库

自定义标签库

TP应用ajax

多语言处理和面向切面简介

导入机制和配置文件加载流程介绍

Linux(LAMP)2天

Linux基础

Linux的初步介绍

初步使用Linux(登录/注销/关机/重启)

VI编辑器的使用

Linux目录结构介绍

Linux用户管理

Linux运行级别

Linux常用命令(init/pwd/cd/mkdir/rmdir/rm/man/touch/cp/mv/ln)

Linux常用命令(more/less/grep/管道命令/find/重定向命令ls)

文件所有者、所在组和其它组管理

文件和目录的权限管理,必须理解(755)

Linux是现在企业很看重的,在复习中不可小觑

Linux高级

SSH介绍和使用

分区的概念

Linux分区及挂载和卸载(mount/umount)

磁盘管理命令(df/fdisk)

Linux下Shell(chsh)

history命令妙用

tcp/ip基础及原理

Linux网络环境配置三种方法(setup/ifconfig/修改配置文件ifcfg-eth0)

RPM包管理(安装/删除/升级)

samba服务器

设置任务调度命令crontab

监控网络状态信息(netstat/ping/traceroute)

进程的概念和管理(ps/top/kill/killall)

Linux启动过程分析

压缩和解压(zip/unzip/gzip/gunzip)

知道常用的ftp,ssh,svn服务

Linux下搭建LAMP开发环境

安装gcc编译器

安装libxml2 库

安装libmcrypt 库

安装zlib 库

安装libpng 库

安装jpeg6 库

安装freetype 库

安装autoconf 库

安装gd库

安装apache

安装mysql

如何加固你的mysql数据库

将apache 和 mysql做成自启动

安装php模块

apache 和 php的整合

安装Zend 优化器(xcache可在内存缓存PHP文件)

安装discuz,ECShop,dedecms在面试之前必须自己安装一次

测试Linux下的LAMP开发环境

面试必问,lamp环境搭建的细节(安装顺序不能变)

1、 选择和公司开发版本一样的Linux发行版

2、 检查基本的网络配置

3、 安装编译的环境 gcc,zlib,autoconf这些开发环境的安装

4、搭建ftp(vsftpd)服务

5、到各自官网下载源码包

6、上传文件

7、解压按照顺序安装

8、测试

========

9 熟悉常见的包管理

yum apt-get 源码安装 rpm安装

lamp细节

深度优化LNMP

安装过程中注意防火墙 iptables

注意selinux

编译安装时候的依赖性

安装目录的注意和安装者(安装软件要root,上传文件不能使用root)

注意细节

Redis高级技术(0.5天)

Redis高级技术

Redis是什么

Redis的运行原理

Redis的基本使用和数据类型

Redis最强优势分析

Redis支持的各个数据结构详解

Redis最佳实践-优化大型网站

在Redis如何应用集群

redis是实际项目必备的,熟练理解

SVN版本控制(0.5天)

SVN版本控制

svn是什么

svn的运行原理

svn软件的下载安装及配置

svn的基本使用

svn的单仓库和多仓库

svn客户端tortoisesvn的基本功能介绍

svn用户权限管理和配置

svn做成一个服务(service)

svn批处理文件

svn与apache的整合

实际工作协调开发必备,现在很多新型公司也在使用GIT,必须知道小乌龟

大型门户网站优化核心技术(3天) 实际开发和面试必须理解

页面静态化

明确几个重要概念(静态网址/动态网址/伪静态网址)

页面静态化基本概念

页面静态化的好处(速度快/seo/防sql注入)

php缓存机制完成页面静态化

页面静态化-真静态

数据库和页面静态化(真静态)结合

页面静态化(真静态)的优点和缺点

伪静态的基本概念

PHP程序实现伪静态

rewrite规则介绍

使用.htaccess来控制网站目录访问权限

真静态 VS 伪静态及其如何选择

页面静态化,面试必问

memcached缓存技术

memcached基本概念

Memcached的作用

Memcached--运行原理

Memcached-下载安装和基本操作

Telnet对Memcached进行CRUD操作

PHP程序对Memcached进行CRUD操作

Socket套接字对Memcached进行CRUD操作

Memcached机制深入了解

Memcached的生命周期

Memcached最佳实践

Session数据放入到Memcached

Memcached访问安全性讨论(Windows和 Linux)

什么样的数据适合放Memcached讨论

Memcached vs session的比较

Redis(Key/value型数据库)介绍

memcache的使用,也是项目开发必备,面试中,容易和redis和mongoDB比较

Mysql数据库优化

数据库表设计的3NF

什么是反3NF

SQL语句优化的基本概念

show status命令了解各种SQL的执行频率

SQL语句优化-定位慢查询(slow-query-log)

SQL语句优化-explain分析问题

建立适当的索引

哪些列上适合添加索引和索引的优缺点分析

索引的类型介绍

索引使用陷阱

优化group by 语句

使用连接来替代子查询

选择合适的存储引擎(MyISAM和InnoDB)

选择合适的数据类型

对表进行水平划分

对表进行垂直划分

文件、图片等大文件用文件系统存储

数据库参数优化配置

合理的硬件资源和操作系统

MySQL数据库读写分离

MySQL优化,面试必问

第四阶段:项目经验(提示:这个在实际找工作中尤为重要, 必须重点对待。 鉴于学校这边的项目对后期找工作可能会碰到。故需要学会项目后自己去扩展项目)

复习名称

学习目标

复习内容

复习目标

电子商务系统(基于ecshop或者 使用yii框架开发的商城,多用于外贸)   也可以了解CI框架

1、知道常用的电商网站的购物流程,比如 订单模块、分类模块、会员模块、购物车、权限模块(RBAC)等等

2、 知道常用的开源电商产品 比如:麦金斗(外贸)、基于YII的商城、iWebShop、iWebMall

3 、对于购物车,cookie和session的理解,什么是售空,秒杀,队列和

4、如何解决高并发的时候产生的问题,例如淘宝 双11 , 知道什么是C10K问题,什么是负载均衡和高可用,以及lvs(章文嵩)

5、知道到nginx以及tnginx的相关知识。一款基于B2C网店系统,适合各类企业及个人快速构建个性化网上商店。使 用PHP语言及MYSQL数据库开发的程序,该项目在稳定性、安全性、负载能力有突出表现,同时使用到seo(搜索引擎 优化)、页面静态化技术及缓存技术

注意点 :   在学习过程中,要理解购物的流程。弄清楚商品的展示,购物车的细节。

1、关闭cookie,session还可以使用吗?

2、无限极分类不适用PID如何做?

3、MySQL主从复制(读写分离)怎么做?

4、商城的广告系统怎么实现?

5、MySQL优化怎么处理,慢查询如何开启,索引如何建立,非关系型数据库如何建立缓存,缓存的命中率,哈希碰撞?

=======学会在Linux环境下安装ECShop======== 注意安装时候的写权限

熟练常见项目开发流程

增强MySql索引优化、查询优化、储存优化、PHP缓存技术、静态设计方面经验

熟练运用常用的设计模式(单例模式,工厂模式,),熟悉常用开源类包 及常用PHP拓展(比如:Smarty/Memcached/Curl/PDO

如何做压力测试(Apache的ab使用)

完全OOP设计思想以及面向过程的理解

熟练的使用lamp环境搭建项目(必须实际的操作在Linux环境下上传discuz! 和dedecms 以及ECShop)必须会在Linux操作

使用版本控制软件SVN开发和git的使用。

CMS内容管理系统(基于DEDECMS二次开发)

1、知道什么是CMS,常用的CMS?

2、知道各大门户网站(搜狐网易)熟知全站静态化,局部动态怎么做?(ajax无刷新,以及原生ajax应用,在IE6下如何做,GET提交注意什么?POST提交注意什么? 什么是XXS以及DOS攻击)

以及smarty里面的单模板多缓存,局部不缓存(nocache标签和insert函数),

以及smary的思想。

理解页面静态化怎么做:真静态(ob_start)和伪静态(re_write 熟悉正则) 以及如何在PHP解释器内存优化(xcache和zend加速器)和yaf(c语言框架)

3、熟悉产品如 帝国CMS和 DeDeCMS(必须熟悉其中四张表的关系) 以及PHPCMS织梦内容管理系统(DedeCms) 以简单、实用、开源而闻名,是国内最知名 的PHP开源网站管理系统。

1、很多企业站和门户站直接后台就是使用的DedeCMS,只是前台使用了一个模板。

2、对于展示类的网站,注意的是全站的静态化如何实现?

3、 对于一个门户站整体优化怎么考虑?(两大点:前台和后台)

3.1 前台 js和css代码的压缩(grunt)

3.2 首页文件的减小和HTTP请求。(HTTP协议的理解)

3.3 知道什么CDN加速。前端CDN、(青牛和七牛云存储)

3.4 js代码的阻塞怎么理解,什么是同步和异步?

3.5 页面结构清晰,便于优化(前端MVCangular.js和 avalon 以及backbone)

3.6 常用的前端框架bootstrap和 amaze、css、专业前端乱===================

3.7 后台MySQL 从建表,慢查询,索引,分表,硬件考虑

3.8 非关系型数据库的使用

3.9 反向代理和负载均衡考虑

3.10 页面静态化生产HTML文件

博客系统和其他项目(必须加强重视)

前面的两个项目做完之后,防止面试的过程中和其他的同学项目重复需要自行扩展。具体可以和我细聊。

1、ThinkSNS  社区

2、记事狗微博 轻微博

3、TipAsk 开源问答系统

4、云边  轻博客

5、WordPress  个人博客首选

6、discuz 最常用的的论坛系统

7、PHPwind 专业企业论坛

PHP微信公众平台API接口开发

PHP微信公众平台API

Access_token & token

二维码

微信事件处理(关注,取消关注等)

接收处理微信消息(文本,媒体图片,视频,语音,地理位置等)

发送消息(媒体消息,文本消息,音乐消息,图文消息)

菜单定制(创建,删除,菜单事件)

结合框架(thinkPHP),定义微信操作类

注意:1、调用接口的规范,以及接口文档的细节

2、使用别人接口是要注意什么?

3、常用的接口网站有哪些?

第五阶段:高级提升加分项目(主要是非关系数据库的理解)

名称

阶段课程

课程内容

复习目标

Mongodb(redis和memcache)

MongoDB介绍

NoSQL 的介绍

MongoDB数据库特点

如何卸载MongoDB

监听端口与服务器管理端口说明

MongoDB和redis以及memcache的差异,应用场景,熟练的掌握(非常重要)

MongoDB进阶

几个重要的概念(文档(document) 、集合(collection)、Javascrip shell、_id属性)

使PHP操作MongoDB

Mongodb 中的排序、限制查询、记录数(可用于制作翻页功能)

Mongodb 中的数据类型Json-like

Mongodb 中的查询字段

MongoDB高级

Mongodb中管理索引(ensureIndex、dropIndexes、db.user.getIndexes())

Mongodb的其他高级功能(复制、分片)

全文索引引擎Sphinx

什么是 Sphinx

Sphinx介绍

什么是全文索引引擎?

Sphinx 的特点剖析

如何正确安装Sphinx及其配置

在Linux下正确的安装和配置Sphinx

灵活的使用Sphinx进行对项目进行优化

通过Sphinx行高速索引、 高速搜索及高可用性。它们可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索

Sphinx进阶

Sphinx 中的几个概念(数据源、中文分词、建立索引、搜索)

Sphinx的基本原理与检索流程

SphinxSE -- 基于Sphinx存储引擎检索

Sphinx 的程序目录(bin、var、etc等)

Sphinx 的使用细节

Php 操作 sphinx

增量索引的配置方式

使用SphinxSE

匹配模式、布尔查询、扩展查询、权值计算、排序模式、结果分组(聚类)、分布式搜索、searchd 日志格式

相关API的介绍

Mysql数据库读写分离技术

Mysql读写分离技术

读写分离好处

读写分离原理剖析

负载均衡、容错性和备份

如何正确安装和配置Mysql主从服务器

Sql Nodes 和Data Nodes和数据库集群结构图

Mysql的Replication的调优配置

读写分离和PHP程序整合优化

正确的安装和配置Mysql主从服务器并实现复制。

在网站高并发、海量存储和大负载的情况下,灵活使用Mysql读写分离优化网站(实际之中高性能的体现)

Email邮件技术

Email邮件技术

发送邮件流程分析

STMP和POP3协议剖析

使用PHP的mail函数实现转发邮件

搭建自己的STMP服务器实现发送邮件

使用PHPMailer实现发送邮件

Email邮件技术最佳实践

Email邮件技术中文乱码和安全性讨论

能使用PHP的Email函数和PHPMailer类发送邮件

正确的搭建和配置自己的邮件服务器完成发送和接收

对STMP和POP3协议有所了解,完成邮件开发中的实际需求

PHP网上支付技术

PHP网上支付技术

网上支付的两种接入方案

直接与银行对接

通过中间公司间接与银行对接(网银、易宝支付)

使用支付宝完成支付业务

易宝支付接口交互-uml

网上支付协议介绍

开发自己的网上支付平台

md5-hmac说明

对支付请求的数据加密生成md5-hmac签名串

获取支付结果信息并对支付结果返回的数据加密生成md5-hmac

验证从支付接口返回的签名是否被篡改,并对返回结果做处理

网上支付是电子支付的一种形式,它是通过第三方提供的与银行之间的支付接口进行的即时支付方式,采用在网上电子支付的方式节省了交易的开销。目前,很多大型电子商务网站都应用到了网上支付技术,比如拉手网、淘宝网、当当网、京东商城、携程网等。通过学习,您将掌握如何使用php技术来开发自己的网上支付平台,并对网上支付开发的细节和注意事项有更深刻的认识。

Nginx与服务器集群技术

Nginx与服务器集群技术

Nginx介绍

Nginx服务器的安装与配置

Nginx配置虚拟主机

Nginx HTTP负载均衡和反向代理

Nginx 负载均衡实现Apache服务器集群技术

Nginx 负载均衡和反向代理优化方案

Nginx的Rewrite规则介绍

Nginx与PHP(FastCGI)的安装、配置与优化

Nginx 是一个很牛的高性能Web和反向代理服务器,它具有很多非常优越的特性:在高连接并发的情况下,能够支持高达 50,000 个并发连接数的响应。也可以支持作为 HTTP代理服务器对外进行服务。Nginx 同时也是一个非常优秀的邮件代理服务器。Nginx 是一个安装非常的简单,配置文件非常简洁(还能够支持perl语法),Bugs非常少的服务器:即使运行数个月也不需要重新启动。具体查看附件书籍。

附件:

1、8款常用的电商开源产品:http://www.chinaz.com/free/2011/0420/173751.shtml

2、nginx使用书籍。很不错 :http://yunpan.cn/ccCXM7Apv5kRz (提取码:bff0)

3、 高性能JavaScript 前台js优化必看http://yunpan.cn/ccCXM7Apv5kRz (提取码:bff0)

4、面试宝典必备,在面试之前先做两边以上,必须有手写代码的能力(遍历文件夹和邮箱验证必会)http://yunpan.cn/ccCXM7Apv5kRz(提取码:bff0)

5、正则入门30分钟。http://yunpan.cn/ccCXM7Apv5kRz (提取码:bff0)

上一篇下一篇

猜你喜欢

热点阅读