page contents

记录最近的几次面试(PHP)

记录一下最近碰到的比较盲点的面试题。公司都不算大,所以只挑出一些技术性比较强的问题做记录。

attachments-2020-12-NHoKFGf95fe7ee921d61f.png

记录一下最近碰到的比较盲点的面试题。公司都不算大,所以只挑出一些技术性比较强的问题做记录。

PHP 基础相关:
  • PHP 编译的过程?对 opcode 有没有了解?从 opcode 的角度出发,能否优化一下 php 的速度?
  • PHP 变量底层是如何实现的?
  • Nginx 与 php-fpm 的通信过程?Nginx 监听端口和 socket 方式,有何区别?php-fpm 是怎么调用 PHP 代码的?
  • PHP 是如何连接 MySQL 的?连接池是如何实现的?
  • 谈下 PHP 和 Golang 的区别
  • Swoole 和 Go 中的协程有何区别?
  • Go 中 goruntine 的底层实现?go 中的协程是怎么通信的?


函数相关
array_key_exists () 和 in_array () 哪个性能较好?

编码相关:
  • 说一下你写的项目中的代码架构?(mvc、transformer、中间件等)
  • laravel 中常用设计模式(除了依赖注入和控制反转,还问到了策略模式和装饰者模式)
  • composer 自动加载机制(psr-4)
数据库(MySQL)

老生常谈的有:常见的优化手段、为什么使用 B+ 树存储、索引类型、隔离级别等。

  • 现在有联合索引 a,b,c, 使用 select * from table where c=1 and a=2 其中 a 和 c 分别都可以走索引吗?为什么
  • 只使用 MySQL 在高并发下的问题
  • MySQL 中使用递归

    一道笔试题,感觉比较偏,当做补充知识了解即可
  • MySQL 执行慢怎么处理?explain 中 extra 字段中一般都会出现什么信息?如果在 explain 中看到 sql 已经走了索引,但是执行还是慢,会是什么原因?

    using filesort、mmr、using index condition、using index、using where

    走了索引还是慢的原因大概有以下几种:

  • 当前 SQL 语句执行时 MySQL 正好在刷脏页
  • 二级索引树上没有要查询的字段,需要回表(需要注意的是,MySQL 的优化器在需要回表,且回表扫描行数过大的时候,会停止使用索引,直接走主键索引,这时 extra 字段中不会出现走索引)可以用联合索引解决
  • 数据表数据量过大,需要分库分表等物理优化
  • MySQL 中排它锁的加锁时机?能否手动加排它锁?
  • myisam 引擎和 innodb 存储数据方式有何不同?myisam 这种存储方式又有何优点?
  • MySQL 主从出现延迟要如何解决?
Redis 和 NoSQL
  • Redis 和 MongoDB 的区别
  • Redis 缓存雪崩、击穿、穿透的概念和解决方法
  • Redis 哨兵之间如何通信?
  • Redis 的连接数用完了怎么办?
  • 一致性哈希和哈希槽的区别?
  • 延时队列(这个是通过一个解决方案来问的,问题是延时发送短信或邮件如何实现)
  • 如何保证一个接口一个用户请求在一秒内只能请求一次?

    用到了 redis 中的锁
操作系统
  • 线程和协程的区别
网络
  • session 共享


attachments-2020-12-sNELQKKt5fe7eea8b528b.jpg原文:https://learnku.com/articles/47202

  • 发表于 2020-12-27 10:16
  • 阅读 ( 1006 )
  • 分类:PHP开发

0 条评论

请先 登录 后评论
Pack
Pack

1135 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1482 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章