结合实际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面试问答的更多相关文章

  1. JAVA多线程和并发基础面试问答(转载)

    JAVA多线程和并发基础面试问答 原文链接:http://ifeve.com/java-multi-threading-concurrency-interview-questions-with-ans ...

  2. [转] JAVA多线程和并发基础面试问答

    JAVA多线程和并发基础面试问答 原文链接:http://ifeve.com/java-multi-threading-concurrency-interview-questions-with-ans ...

  3. JAVA多线程和并发基础面试问答

    转载: JAVA多线程和并发基础面试问答 多线程和并发问题是Java技术面试中面试官比较喜欢问的问题之一.在这里,从面试的角度列出了大部分重要的问题,但是你仍然应该牢固的掌握Java多线程基础知识来对 ...

  4. 【多线程】JAVA多线程和并发基础面试问答(转载)

    JAVA多线程和并发基础面试问答 原文链接:http://ifeve.com/java-multi-threading-concurrency-interview-questions-with-ans ...

  5. 28个MongoDB NoSQL数据库的面试问答

    MongoDB是目前最好的面向文档的免费开源NoSQL数据库.如果你正准备参加MongoDB NoSQL数据库的技术面试,你最好看看下面的MongoDB NoSQL面试问答.这些MongoDB NoS ...

  6. .NET面试问答集锦

    程序员级别鉴定书(.NET面试问答集锦) 提供避免元素命名冲突的方法 DOM适合的使用场景是什么?是否有尺寸限制? DOM是一种与浏览器,平台,语言无关的接口,使你可以访问页面其他的标准组件. DOM ...

  7. C语言面试问答5

    12个滑稽的C语言面试问答——<12个有趣的C语言问答>评析(5) 前文链接:http://www.cnblogs.com/pmer/archive/2013/09/17/3327262. ...

  8. C语言面试问答(3)

    12个滑稽的C语言面试问答——<12个有趣的C语言问答>评析(3) 前文链接:http://www.cnblogs.com/pmer/p/3322429.html 5,atexit wit ...

  9. (转)JAVA多线程和并发基础面试问答

    JAVA多线程和并发基础面试问答 原文链接:http://ifeve.com/java-multi-threading-concurrency-interview-questions-with-ans ...

  10. .net面试问答

    转载自:https://www.cnblogs.com/dingfangbo/p/5768991.html .net面试问答(大汇总)   原文://http://blog.csdn.net/weny ...

随机推荐

  1. Arthas开源项目

    本文主要围绕着Arthas是什么.能做什么.安装和使用等三个方面内容来讲解,希望对初学者和对此有兴趣的朋友有帮助. 一. Arthas是什么 文档地址: https://alibaba.github. ...

  2. windows 环境下如何使用virtualenv python环境管理工具

    1.安装工具 pip install virtualenv 2.新建项目文件夹并在文件夹内安装环境并命名为my_env,加入 virtualenv C:\Users\yxx\wp\my_env 3.激 ...

  3. WorldWind源码剖析系列:星球表面渲染类WorldSurfaceRenderer

    星球表面渲染类WorldSurfaceRenderer描述如何渲染星球类(如地球)表面影像纹理.该类的类图如下. 星球类World包含的主要的字段.属性和方法如下: public const int ...

  4. 2018-2019-2 20175308实验一 《Java开发环境的熟悉》实验报告

    2018-2019-2-20175308 实验一 <Java开发环境的熟悉>实验报告 一.实验内容及步骤 (一)使用JDk编译.运行简单的Java程序 输入cd Code命令进入Code目 ...

  5. javascript删除Cookie的正确方法(转载)

    原来一直以为只要设置javascript的document.cookie对象就能简单的在浏览器端设置和删除cookie值,网上很多文章也是这么教的,但是最近发现简单的设置javascript的docu ...

  6. HBase启动报错:ERROR: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException: Server is not running yet

    今天进入hbase shell中输入命令报错:ERROR: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException: Server is no ...

  7. XSS Challenges练习及解答

    一个偶然的机会在知道创宇的技能表里看到了一个练习XSS的网站http://xss-quiz.int21h.jp,正好想研究这个,于是试着做了一下. 第一.二题是最简单的,直接在搜索框中输入以下代码就成 ...

  8. [清华集训2015 Day1]主旋律-[状压dp+容斥]

    Description Solution f[i]表示状态i所代表的点构成的强连通图方案数. g[i]表示状态i所代表的的点形成奇数个强连通图的方案数-偶数个强连通图的方案数. g是用来容斥的. 先用 ...

  9. vim打开多窗口、多文件之间的切换

    打开多个文件: 一.vim还没有启动的时候: 1.在终端里输入  vim file1 file2 ... filen便可以打开所有想要打开的文件 2.vim已经启动 输入 :e file 可以再打开一 ...

  10. 【Java框架型项目从入门到装逼】第十一节 用户新增之把数据传递到后台

    让我们继续来做"主线任务",这一节,我们来做具体的用户新增功能.首先,为了简单起见,我把主页面改了一些,改的是列表那一块.删去了一些字段,和数据库表对应一致: 现在,我们要实现一个 ...