Skip to content

Commit

Permalink
Update PHP技术面试.md
Browse files Browse the repository at this point in the history
  • Loading branch information
zgia authored Jul 29, 2020
1 parent fcae8d8 commit cf857ca
Showing 1 changed file with 16 additions and 16 deletions.
32 changes: 16 additions & 16 deletions PHP技术面试.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
#PHP技术面试
# PHP技术面试

**基于面试者的简历**,问如下的一些问题:

##框架
## 框架

> * 阅读源码是提升编程能力的最佳手段。不读阅读源码的开发者,是不合格的。
> * 在系统架构方面的设计能力
Expand All @@ -12,15 +12,15 @@
* 如果说阅读过,会问如何设计一个简单的**MVC框架**
* 或者,假设由面试者来设计框架(比如laravel)的数据库处理,如何设计

##错误、异常和日志相关
## 错误、异常和日志相关
> 面试者在编码过程中,是否思考:当代码没有按照既定逻辑运行时,该怎么处理?
* 了解错误(`Error`)和异常(`Exception`)吗
* 编码过程中是怎么处理这2种情况的
* PHP设计中,为什么会有错误和异常这2种
* 如何收集**业务日志**

##语言特性
## 语言特性
> 对PHP语言的了解,强烈建议每一位开发者都要通读[PHP手册](https://www.php.net/manual/en/index.php)
* 魔术方法,比如析构(`__destruct`),会在什么时候调用;`__toString`能做什么
Expand All @@ -32,7 +32,7 @@
* PHP7的一些新特性
* Swoole相关(异步,协程等等)

##应用场景
## 应用场景
> 日常中遇到的一些问题,考量面试者思维的全面性
* 什么是RESTful
Expand All @@ -48,7 +48,7 @@
* 扩展:日增100万的用户表,手机号和用户名均是唯一索引,且会通过手机号或者用户名搜索用户,如何设计
* 100个不同的数字分若干组组,每组数字相加不超过1000,越接近越好,如何设计?

##数据库
## 数据库
> 数据库基础了,没有复杂的问题
* 事务的成功、失败对自增ID的影响
Expand All @@ -60,7 +60,7 @@
* 分库分表
* 索引的知识点,比如**myisam****innodb**的索引的异同

##Redis
## Redis
> 基础问题,抢红包稍复杂
* 如果写熟悉Redis,问Redis的几种数据结构
Expand All @@ -69,7 +69,7 @@
* 如何避免大Key的情况出现
* 数据过期策略

##消息队列
## 消息队列
> 基础问题,用过MQ的都应该会
* 消息队列是怎么工作的
Expand All @@ -78,7 +78,7 @@
* 消息持久化
* 如何避免重复消费

##分布式
## 分布式
> 比较难,很多面试者没有这方面经验
* CAP,BASE相关概念
Expand All @@ -89,7 +89,7 @@
* 拜占庭将军问题
* Snowflake算法

##安全方面
## 安全方面
> 不难,但是面试者通常会忽视
* XSS,CSRF等概念
Expand All @@ -98,31 +98,31 @@
* HTTPS相关
* 一些安全算法

##性能优化
## 性能优化
> 定位问题最难
* 大表查询
* 性能瓶颈的定位分析
* 常用的排序算法

##质量控制
## 质量控制
> 单元测试必须要做;编码规范必须要遵守;代码评审绝不可少
* 测试
* 编码规范,[参考这里](https://github.com/zgia/manual/blob/master/PHP%E7%BC%96%E7%A0%81%E8%A7%84%E8%8C%83.md)
* 代码评审

##PSR
## PSR
> 一些约定
* 自动加载
* 事件、消息机制
* 容器

##前端
* 访问一个链接(如:http://www.163.com)时,浏览器做了哪些事情
## 前端
* 访问一个链接(如:https://www.163.com/ )时,浏览器做了哪些事情

##其他
## 其他
* 自己编译安装过PHP、MySQL、Redis等吗
* Composer
* Git
Expand Down

0 comments on commit cf857ca

Please sign in to comment.