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 ...
随机推荐
- 开源http协议库curl和wget的区别和使用
curl和wget基础功能有诸多重叠,如下载等. 在高级用途上的curl由于可自定义各种请求参数所以长于模拟web请求,用于测试网页交互(浏览器):wget由于支持ftp和Recursive所以长于下 ...
- leetcode63—Unique Path II
A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below). The ...
- Python2.7-hmac
hmac 模块,基于密钥的哈希算法 1.模块对象 1.1 HMAC 对象 1.1.1 初始化构建类:需要通过模块方法 hmac.new(key[, msg[, digestmod]]) 创建一个新对象 ...
- CentOS7下双网卡iptables端口转发规则
1. 拓扑图 10.1.1.173(内网目标) <-------- 10.1.1.207(内网网关)+172.16.5.100(外网入口) <----------- 172.16.6. ...
- C#抽象类与抽象方法--就是类里面定义了函数而函数里面什么都没有做的类
看一下代码应该就可以了 using System; using System.Collections.Generic; using System.Linq; using System.Text; na ...
- day71
上节回顾:(模板层) 1 模板之变量---{{ }} -支持数字,字符串,布尔类型,列表,字典---相当于对它进行了打印 -函数--->相当于加括号运行(不能传参数) -对象---& ...
- PCIE_DMA实例四:xapp1052在Xilinx 7系列(KC705/VC709)FPGA上的移植
PCIE_DMA实例四:xapp1052在Xilinx 7系列(KC705/VC709)FPGA上的移植 一:前言 这段时间有个朋友加微信请求帮忙调试一块PCIe采集卡.该采集卡使用xilinx xc ...
- 20155216 Exp5 MSF基础应用
Exp5 MSF基础应用 基础问题回答 1.用自己的话解释什么是exploit,payload,encode? exploit : Exploit的英文意思就是利用,在做攻击时,通常称为漏洞利用. 一 ...
- Exp4 恶意代码分析 20155223
Exp4 恶意代码分析 20155223 使用原生命令schtasks监视系统运行 在系统盘目录下建立脚本文件netstatlog.bat,包含以下命令: date /t >> c:\ne ...
- 20155317 十六周second 取值
20155317 十六周second 取值 题目如下图: secondset #define base 0xFFFFC0000 # #define &clock void setsecond( ...