0

2021 PHP部分面经

 1 year ago
source link: https://anhoder.github.io/post/JeWf3QSkh/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

前段时间辞职换工作,参加了一些面试,现在也入职了,趁着还不忙稍微整理一下面经(记录一些映像比较深的吧)。

广州-爱拍

给我映像最深的就是它的笔试题了,整整4页,还是双面的,而且很多问题都有好几问的...
勉强记得的几个题:

  • TCP三次握手过程
  • TCP与UDP区别
  • session与cookie的区别
  • TCP发送数据包与接收数据包的过程
  • 浏览器输入网址到显示页面其背后经历的过程
  • 还有一些系统设计的题
  • 算法:最长公共字串

面试题记不清了,基本上是项目相关。

广州-4399

等了一会面试官才过来,看起来挺忙的😂

  1. Redis常用的数据结构,除了五种基本数据结构外还有什么数据结构?

string, list, hash, set, zset, HyperLogLog, GEO, bitmap

  1. Redis是单线程的吗?单线程是指哪个模块是单线程?为什么单线程还能保持超高性能?

Redis 6之前是单线程,之后是多线程;I/O模块;epoll I/O复用模型

  1. select, poll, epoll的区别?
  2. 远距离两地的MySQL数据同步,如何实现?异地多活有了解过吗?

没回答上来;听说过,没深入了解

第二面因为时间原因没参加了(HR一直让我在那等...)

广州-爆米科技

  1. php-fpm是什么以及它的工作流程
  2. cgi、fast-cgi的区别
  3. MySQL执行一条SQL时的流程

大概是:权限校验->词法分析->语法分析->语义分析->优化器进行优化->存储引擎查询数据

  1. Redis通过键批量获取值时,如果数据比较多会导致性能下降,如何解决?

将需要获取的键进行分片,依次获取

  1. PHP中对数组进行分片的函数

array_chunk

听面试官说,好像是转转的技术团队二次创业。比较满意的一家,可惜后面打算去深圳了,只能放弃了。

广州-网易游戏

  1. Redis删除一个大数据键值时,有没有什么问题?
  2. 需要从三个物品A, B, C中随机取出一个,如何用一枚硬币做到等概率取?

最简单的就是抛两次,会有四种可能,取其中三种跟三个物品一一对应,如果是第四种就重新抛。

  1. 接口性能比较差,如何排查?
  2. 让你实现一个连接池,如何实现?
  3. OAuth 2.0安全问题
  4. 面了挺久的,问得比较深,只记得一点了...

后来到深圳也面了不少,但是很多都记不起来了,后续有想起来再更新吧。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK