php面试问答

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/112476.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 广东移动DNS收集[通俗易懂]

    广东移动DNS收集[通俗易懂]有些网站的CDN有问题,使用第三方DNS会有访问不了的情况。多数是因为CDN通过DNS请求来源解析出对应线路的服务器IP,但使用第三方DNS时会出现把移动来源解析为电信来源,而服务器电信线路IP又拒绝非电信来源IP访问时,就会出现无法访问网站的情况。所以,使用移动网络的时候,还是尽量使用移动自己的DNS吧!这里收集了一下广东移动的DNS,非移动用户估计用不了。ns3.gd.

  • 转罗马字符_罗马字符是什么意思

    转罗马字符_罗马字符是什么意思publicclassNumToRoman{publicstaticstringToRomanNum(intpNum){string[,]a=newstring[3,10]{{“”,”I”,”II”,”III”,”IV”,”V”,”VI”,”VII”,”VIII”,

  • Shell常用命令大全[通俗易懂]

    Shell常用命令大全[通俗易懂]嵌入式开发用的最多就是Shell命令,Shell命令是所有的Linux系统发行版所通用的,并不是说我在Ubuntu下学会了Shell命令,换另外一个Linux发行版操作系统以后就没用了,所以学习Shell命令非常有必要。1、目录信息查看命令文件浏览是最基本的操作了,Shell下文件浏览命令为ls,格式如下:ls[选项][路径]Is命令主要用于显示指定目录下的内容,列出指定目录下包含的所有的文件以及子目录,它的主要参数有:-a显示所有的文件以及子目录,包括以“”开头的隐藏文件。-l

    2022年10月18日
  • 两种方法在VMware中安装VMware Tools

    两种方法在VMware中安装VMware ToolsVMwareTools的主要作用是虚拟硬件的驱动,鼠标的无缝移出移入,剪贴板共享,共享主机上的文件夹等功能。 方法一1.打开文件夹-Ubuntu17.10amd64(根据自己版本来看)。2.在VMwareWorkstation主界面点击菜单“虚拟机”。会弹出提示框,点击是。3.保持网络状态,等待后台下载,下载后会出现一个压缩包。在下载过程中可能会出现DVD图标…

  • mac goland激活码[最新免费获取]

    (mac goland激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

  • Location protocol 属性

    Location protocol 属性

    2021年10月30日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号