问题来自真实PHP面试,答案搬自各类砖头书。为了让你有份工作,我也是操碎了心~~
从事软件开发,已经接近五个年头了,去年面试中,发现自己依然处于尴尬的位置。简单重复,缺乏挑战的工作,已经没有多大吸引力了,优秀的平台,面试缺屡次碰壁。人上年纪之后,思维敏感度、记忆力都明显有所下滑。
程序开发不要被限制在语言层面,这是大家都懂的道理。但是作为一个 PHP 开发者,很多时候都是缠绕在业务的沟壑,理想和现实总是相差甚大。去年由于部门重组,本来将近十余人负责的项目,之后只剩两三人负责,各种坑只能靠人肉解决,深感无力。
工作可能只是你的一部分,你必须有自己的能力定位。以前总觉得学什么,做什么都无所谓,需要学习的技术,花点时间快速学习就行,有新的技术出来,赶紧紧跟了解下。但这些年下来,发现自己却没有一样能够拿的出手的,甚至连一个像样的作品也没有。其实 PHP 的技术栈还是比较广的,在对整个技术栈有一定的掌握之后,可能还需要深挖几个自己喜欢的领域,否则在现今的就业市场里面,没有任何的竞争力。所以可以看到很多招聘者都在感慨,中高级工程师都去哪里了。
面试或者面试他人,无法逃避,那就选择面对。撰写《PHP 面试问答》,构建一个面试体系,而不必慌张的临时准备,时时刻刻都充分准备好,对自己负责,也对别人负责。
结合实际 PHP 面试,系统的汇总面试中的各种各样的问题,尝试提供简洁准确的答案。如果你在 PHP 面试中遇到问题,欢迎提 Issues 交流。包含网络协议、数据结构与算法、PHP、Web、MySQL、Redis、Linux、安全、设计模式、架构、自我介绍、离职原因、职业规划、准备问题等部分。
最后,祝愿大家在日后的求职中,都能拿到满意的 offer~~
术语对照表:顾名思义,帮助联想知识点
-
数组处理函数
-
从浏览器地址栏输入 URL 到显示页面的步骤
-
如何进行网站性能优化
-
UNION
-
GROUP BY + COUNT + WHERE 组合案例
-
常用 MySQL 函数,如:now()、md5()、concat()、uuid()等
-
了解触发器是什么,说个使用场景
-
常见存储引擎,有什么区别
-
常见索引?有什么特点
-
聚族索引与非聚族索引的区别
-
事务机制
-
BTree 与 BTree-/BTree+ 索引原理
-
分表数量级
-
Redis 特点
-
Redis 有哪些数据类型
-
有序集合底层实现?跳跃表和平衡二叉树效率对比
-
一致性哈希
-
如何实现分布式锁
-
Redis 如何实现持久化
-
可利用 CPU 多核心
-
内存淘汰机制
-
集群 cluster
-
查看 CPU、内存、时间、系统版本等信息
-
find 、grep 查找文件
-
批量删除文件
-
sed、awk使用
-
crontab
-
vim快捷键
-
负载查看
-
如何查看 PHP 进程的内存、CPU 占用
-
Linux进程
-
进程、线程、协程区别
-
502 大概什么什么原因? 如何排查 504呢
-
进程间通信几种方式,最快的是哪种?
-
CSRF 攻击?请描述一个实例
-
XSS 攻击
-
SQL 注入
-
IP 地址能被伪造吗
-
include 请求参数
-
md5 逆向原理
-
DOS 攻击
-
数据库存储用户密码时,应该是怎么做才安全
-
目录权限安全
-
disable_functions 关闭高危函数
-
文件上传 PHP 脚本
-
eval 函数执行脚本
-
了解 Hash 与 Encrypt 区别
-
Autoload、Composer 原理
-
OOP 思想
-
抽象类、接口 分别使用场景
-
依赖注入实现原理
-
单例模式
-
工厂模式
-
观察者模式
-
适配器模式
-
依赖注入模式
-
门面模式
-
负载均衡有哪几种,挑一种你熟悉的说明其原理
-
介绍下 nginx
-
反向代理
-
nginx 中 fastcgi_pass 监听,unix socket 和 tcp socket 的区别
-
消息队列?RabbitMQ、ActiveMq、Nsq、kafka
-
穿透、雪崩
-
DB 主从、读写分离
-
如何保障数据的可用性,即使被删库了也能恢复到分钟级别。你会怎么做
-
数据库连接过多,超过最大值,如何优化架构。从哪些方便处理
-
数据冗余、备份(MySQL增量、全量 原理)
-
画出常见 PHP 应用架构图
-
介绍下 RESTful API
-
API 请求如何保证数据不被篡改
-
API 版本兼容怎么处理
-
限流(木桶、令牌桶)
-
OAuth 2 主要用在哪些场景下
-
JWT
-
了解常用语言特性,及不同场景适用性
本资料仅供参考,水平有限,难免存在纰漏错误之处
欢迎转载,转载请标明来源出处,谢谢~~
作者:凌枫 Email:[email protected] 链接:https://github.com/colinlet/PHP-Interview-QA