结合实际PHP面试,汇总自己遇到的问题,以及网上其他人遇到的问题,尝试提供简洁准确的答案
包含MySQL、Redis、Web、安全、网络协议、PHP、服务器、业务设计、线上故障、个人简历、自我介绍、离职原因、职业规划、准备问题等部分
MySQL
- MySQL体系结构
- 字段类型
- char和varchar数据类型区别
- 常见索引
- 聚族索引和非聚族索引的区别
- 事务机制
- BTree与BTree-/BTree+索引原理
- 参考资料
Redis
- Redis主要特点
- Redis数据类型
- 跳跃表与Redis
- 参考资料
Web
- JavaScript事件的三个阶段
- 闭包原理及应用
- 跨域
- JSONP原理
- CSS选择器的优先级
- CSS盒子模型
- CSS清除浮动
- 相对定位relative、浮动float、绝对定位absolute区别
- VUE双向绑定原理
- 性能优化
- 参考资料
安全问题
- CSRF攻击
- XSS攻击
- SQL注入
- IP地址能被伪造吗
- include请求参数
- md5逆向原理
- DOS攻击
- 参考资料
网络协议
- UDP的主要特点
- TCP握手三次,断开四次,TIME-WAIT
- socket
- HTTP协议
- websocket协议
- GET与POST请求方式区别
- 参考资料
PHP
- echo、print、print_r、var_dump的区别
- 超全局变量
- PHP支持回调的函数,实现一个
- 发起HTTP请求有哪几种方式,它们有何区别
- 对象关系映射/ORM(Object Relational Mapping)
- MVC的理解
- 类的静态调用和实例化调用
- 常见PHP框架特点
- 设计模式(design pattern)
- 工厂方法模式与抽象工厂模式区别
- base64实现
- ip2long实现
- 代码执行过程
- 弱类型变量如何实现
- 垃圾回收机制
- 进程间通信方式
- 链式调用实现
- 多进程同时写一个文件
- PHP拓展
- PHP7新特性
- PHP7底层优化
- 构造函数和析构函数
- PHP不实例化调用方法
- 参考资料
服务器
- 进程、线程、协程区别
- Linux进程
- 反向代理
- 负载均衡
- nginx中fastcgi_pass监听,unix socket和tcp socket的区别
- 消息队列
- 参考资料
业务设计
- 网易盖楼
- 秒杀设计
- 消息队列
- 共享SESSION
- 下单后30分钟未支付取消订单
- IP对应省市效率尽可能高
- 详细描述输入地址到打开网页过程
- 参考资料
线上故障
- 客户端热更新失败
- Redis实例used_memory达到80%
- 游戏任务完成了进度未更新
- 测试服HTTP请求未响应
- 游戏账号被盗
个人简历
自我介绍
离职原因
- 跳槽频繁
- 这次换工作原因
职业规划
准备问题
- 工作挑战大不大?
- 项目开发是否写测试用例,项目上线先是否会进行压力测试
- 业务前景如何?
- 技术氛围如何?
- 根据这次面试,对个人进行评价,帮助成长
- 融资计划
- 是否有加班费/调休,公司福利,社保公积金缴纳基数
本资料仅供参考,不保证正确性
作者:凌枫 Email:[email protected] 链接:https://github.com/colinlet/PHP-Interview-QA