php面试问答
结合实际PHP面试,汇总自己遇到的问题,以及网上其他人遇到的问题,尝试提供简洁准确的答案
包含MySQL、Redis、Web、安全、网络协议、PHP、服务器、业务设计、线上故障、个人简历、自我介绍、离职原因、职业规划、准备问题等部分
GitHub: https://github.com/colinlet/P...
感觉不错的话,欢迎 Star~~
一般面试流程

目录 - 阅读
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 协议
- HTTPS 通信原理
- websocket 协议
- GET 与 POST 请求方式区别
- RESTful API
- 参考资料
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:colinlets@gmail.com 链接:https://github.com/colinlet/P...
关键字
php面试、php面试题、php面试题2019
php面试问答的更多相关文章
- JAVA多线程和并发基础面试问答(转载)
JAVA多线程和并发基础面试问答 原文链接:http://ifeve.com/java-multi-threading-concurrency-interview-questions-with-ans ...
- [转] JAVA多线程和并发基础面试问答
JAVA多线程和并发基础面试问答 原文链接:http://ifeve.com/java-multi-threading-concurrency-interview-questions-with-ans ...
- JAVA多线程和并发基础面试问答
转载: JAVA多线程和并发基础面试问答 多线程和并发问题是Java技术面试中面试官比较喜欢问的问题之一.在这里,从面试的角度列出了大部分重要的问题,但是你仍然应该牢固的掌握Java多线程基础知识来对 ...
- 【多线程】JAVA多线程和并发基础面试问答(转载)
JAVA多线程和并发基础面试问答 原文链接:http://ifeve.com/java-multi-threading-concurrency-interview-questions-with-ans ...
- 28个MongoDB NoSQL数据库的面试问答
MongoDB是目前最好的面向文档的免费开源NoSQL数据库.如果你正准备参加MongoDB NoSQL数据库的技术面试,你最好看看下面的MongoDB NoSQL面试问答.这些MongoDB NoS ...
- .NET面试问答集锦
程序员级别鉴定书(.NET面试问答集锦) 提供避免元素命名冲突的方法 DOM适合的使用场景是什么?是否有尺寸限制? DOM是一种与浏览器,平台,语言无关的接口,使你可以访问页面其他的标准组件. DOM ...
- C语言面试问答5
12个滑稽的C语言面试问答——<12个有趣的C语言问答>评析(5) 前文链接:http://www.cnblogs.com/pmer/archive/2013/09/17/3327262. ...
- C语言面试问答(3)
12个滑稽的C语言面试问答——<12个有趣的C语言问答>评析(3) 前文链接:http://www.cnblogs.com/pmer/p/3322429.html 5,atexit wit ...
- (转)JAVA多线程和并发基础面试问答
JAVA多线程和并发基础面试问答 原文链接:http://ifeve.com/java-multi-threading-concurrency-interview-questions-with-ans ...
- .net面试问答
转载自:https://www.cnblogs.com/dingfangbo/p/5768991.html .net面试问答(大汇总) 原文://http://blog.csdn.net/weny ...
随机推荐
- PAT B1022 D进制的A+B (20 分)
输入两个非负 10 进制整数 A 和 B (≤),输出 A+B 的 D (1)进制数. 输入格式: 输入在一行中依次给出 3 个整数 A.B 和 D. 输出格式: 输出 A+B 的 D 进制数. 输入 ...
- (三) DRF 序列化
一.单表的GET和POST: 使用serializers序列化,针对每一个表,需要单独写函数.一般会写在views.py里面,但是这样做,会导致整个文件代码过长.需要分离出来! 在app01(应用名) ...
- odoo tree视图 当页不弹窗显示方法
<xpath expr="//tree" position="attributes"> <attribute name='editable'& ...
- hung task机制
最近在修改内核源码的时候一直出现格式化磁盘的时候,进程会出现状态D,看内核日志会看到如下信息: INFO: task filebench: blocked seconds. Oct :: localh ...
- 使用BAPI批量修改采购信息记录的税率
业务方面提出需求:由于国家税率从5月份开始16%更改为13%.要求开发一个批量修改采购信息记录税率的功能. 税代码就是税率,J2代表13% 这个需求在ME13里面就可以单个修改,所以可以用BDC,但后 ...
- Trusted Cloud Summit(2018.08.14)
时间:2018.08.14地点:北京国际会议中心
- C++中的this和Python的self对比
Python,当实例对象调用函数(函数其实都是属于类空间的)的时候,系统会自动将对象本身传入 函数在定义时的第一个变量一般是self.(但self并不是关键字,用其他名字也可以) 定义 ...
- Eclipse中Hadoop插件配置
Eclipse中Hadoop插件DFS配置 http://www.cnblogs.com/xia520pi/archive/2012/05/20/2510723.html
- libgdx学习记录24——九宫格NinePatch
NinePatch用于图片纹理拉伸显示.当图片拉伸时,4个角不会拉伸,而只有中间的部分会拉伸,适合做圆角矩形类的Button. 简单示例: package com.fxb.newtest; impor ...
- Centos7下python3安装ipython
一.通过压缩包安装ipython 1.下载ipython安装包 [root@localhost ~]# wget https://pypi.python.org/packages/79/63/b671 ...