专注于PHP、MySQL、Linux和前端开发,感兴趣的感谢点个关注哟!!!文章整理在GitHub,Gitee。主要包含的技术有PHP、Redis、MySQL、JavaScript、HTML&CSS、Linux、Java、Golang、Linux和工具资源等相关理论知识、面试题和实战内容。
概况
这两天请了两天假,出去看了看外面的招聘市场。两天时间差不多面了10家公司,成功拿到7家offer,这里总结一下,个人在面试中遇到的一些问题,不是很全,有一些忘记了。每道题从题目看很简单,在实际中都是一步一步步的深度挖掘,这里就没有总结的很细。这里面的公司有电商、游戏、大数据类型的公司。
PHP相关
- 平常都使用的什么框架?Laravel和ThinkPHP框架的区别?
- Laravel常用到的功能有哪些?Laravel依赖注入实现的原理是怎么样的?
- Swoole你用到了哪些功能?对协程这一块了解吗?
- 能说说PHP的生命周期吗?传统的php-fpm模式和swoole有什么区别?
- 在项目中都是怎么用hyperf的?了解hyperf中的依赖注入实现原理吗?使用hyperf中的类是怎么实现的,是通过注解引入吗?
- 说说你在项目中使用到的PHP函数,任意说几个以及它的功能?
- PHP的垃圾回收机制是怎么样的?
- PHP5的版本和PHP7之间有哪些区别?对PHP8了解吗,任意说说其中的新特性?
- 说说php-fpm与NGINX工作原理是怎么样的?
- 说一说PHP中的垃圾回收机制是怎么样的?
- cgi与fast_cgi关系是怎么样的?
- isset、empty和is_null区别是怎么样的?如果传递一个null,该三个函数分别返回什么?
- require_once与include_once,require与include的区别?为什么一个是警告一个是致命错误?
- php5与php7的区别是怎样的?
- php-fpm的工作模式?进程数量配置依据是什么?
- 说说PHP数组中的数据结构是怎么样的?
- 能说说进程、线程和协程的关系吗?
Redis相关
- 平常使用Redis都是在哪些场景?
- Redis的持久化有哪几种?有什么区别?实现的原理是怎样的?
- Redis的事务了解吗?事务都有哪些注意的地方?
- Redis都有哪些数据类型?你是怎么选择数据类型的?底层的数据结构是怎么样的?
- Redis能够实现命令批处理吗?
- Redis的哨兵机制了解吗?实现原理是怎么样的?
- Redis的主从复制实现原理是怎么样的?如何保证数据一致性?数据延迟又该如何处理?
- 利用Redis如何实现队列功能?
- 消息发布与订阅有使用过吗?怎么使用的?中间又遇到过什么问题吗?
- 如何解决缓存穿透、击穿和雪崩问题?
- Redis作为一个内存型数据库,如何更好的解决内存的占用?
- Redis与memcached的区别?什么时候会选择memcached?
MySQL
- 列举几个MySQL索引失效的情况?该如何优化这些情况?
- MySQL索引都有哪些?InnoDB索引是用的什么数据结构,为什么使用这种数据结构?
- MySQL主从复制是如何实现的?如果从节点挂了,重新启动从节点,如何保持数据一致性?如何解决数据同步延迟问题?
- 说说你优化SQL语句的几种思路有哪些?
- 说说MySQL中的锁有哪些?之间的区别?
- MySQL中的事务了解吗?说说其4大特性?
- 事务中隔离性,有几种情况?这几种情况分别会产生什么问题?
- MySQL中MVVC实现的原理是怎么样的?
- MongoDB与MySQL的关系,为什么日志系统会选择MongoDB?
RabbitMQ
- 主要使用的场景在哪些地方?
- 工作模式都有哪些?之间的区别是怎么样的?
- 如何保证消息的可靠性?
- 日志存储在RabbitMQ,如果同步到MongoDB里面,如何解决新旧数据问题?(这里提到了一个公司实际业务问题,公司日志会存储到MongoDB,如何保证每次存的都是最新的消息)
- 你知道哪些消息队列?这些消息队列有什么区别?
软件设计
- 有一个电商营销活动系统,你该如何去设计这个系统,保证系统不会出现问题?
- 项目中哪些地方用到了消息队列?是如何设计的?
- 电商系统中,如何保证商品库存不会超卖问题?
- 如果一页面请求慢,该从哪些方面排查?