【面试】-2020年底个人面经整理
这是本人最近一轮面试经验整理,职位是PHP高级开发,时间为2020年底到2021年初之间。出于隐私考虑公司名不公布,只提供公司属性范围。如果多家公司出现同一问题,只列举该问题一次。部分问题给出了参考答案或链接,但是可能存在主观观点,不保证完全百分百正确。
某新零售独角兽 远程一面
- 1.容器 循环依赖
- 2.中间件原理
- 3.事务相互等待
- 4.aop
- 5.composer包发布流程
- 6.psr-2,psr-4
- 7.微服务
- 8.rpc
某新零售独角兽 远程二面
- 1.抽象类中 抽象方法和普通方法的区别
- 2.抽象类里面一定要有抽象方法吗 -不一定要有
- 3.抽象类能不能继承接口 -可以继承
- 4.接口是不是一定要定义方法 -不一定要有
- 5.抽象类是不是一定要定义方法 -不一定要有
- 6.trait有什么用,有什么优势,trait和普通父类继承区别在哪里
-
7.分布式事务实际应用场景 真实案例
-
https://blog.csdn.net/weixin_33700350/article/details/91420391
- one框架,需要把User、Stock和Order添加为rpc服务,还需要注意beginTransaction和doTransaction方法必须返回$this,
-
https://zhuanlan.zhihu.com/p/94711225
- 基于XA协议的两阶段提交
-
https://blog.csdn.net/weixin_33700350/article/details/91420391
- 8.对程序员的自我水平定位,中等什么水平,高等什么水平
-
9.事务a嵌套事务b,会发生什么
- Mysql是不支持嵌套事务的,开启了一个事务的情况下,再开启一个事务,会隐式的提交上一个事务。
- savepoint可以解决这种应用场景
- 10.php反射是什么
某房地产服务提供商 线上笔试
- 1.所有HTTP返回状态码
- 2.post,get请求方法区别
- 3.php单引号,双引号区别
- 4.echo,print,print_r,var_dump区别
- 5.require一个不存在的文件时,如何避免抛出异常错误
- 6.php单例模式代码
- 7.php自动加载机制
- 8.post请求时,application/x-www-form-urlencoded和mulipart/form-data的区别,
- 9.mvc理解
- 10.mysql查询慢原因,优化建议,为什么有死锁
- 11.如何使用shell脚本统计网站前一天出现40X错误的url总数
- 12.消息队列的理解,除了redis还用过什么
- 13.变量取值问题
-
14.斐波拉切的递归,性能问题,优化方案
- 内存占用过大,改写循环方式。
某房地产服务提供商 线下二面
-
1.微服务,实现微服务的框架,开源项目,落地方案
- 开发框架 : (java)spring cloud,dubbo,dropwizard,consul,etcd(php)腾讯Tars,php-msf,swoft,hyperf
- 2.php实现rpc的具体包名
- 3.docker一些命令
- 4.有没关心前沿技术,大厂最新技术方向
- 5.linux清理内存命令
- 6.观察者模式 原理 实现
- 7.依赖注入,服务调用的区别,各自的使用场景,能不能互相调换使用
- 8.如何保证双主强一致性,主键冲突怎么办
- 9.ifelse优化 策略模式
- 10.swoole如何控制内存不爆满
- 11.rabbitmq 心跳丢失,使用版本
- 12.awk是什么,怎么用
- 13.小组长相关,遇到问题,协调下属,项目排期,代码规范要求,
- 14.如何追踪bug,线上遇到一个bug,没找到原因也很难复现,怎么处理
- 15.复合索引abc选择顺序,离散度还是查询频率
某电子产品供应链平台
- 1.单点登录
- 2.cookie跨域名
- 3.白盒测试 黑盒测试
- 4.查找bug 定位问题
- 5.想加入什么样的团队,氛围,有没有特定想加入的行业
- 6.xss,sql注入
- 7.慢查询,索引
- 8.邮箱规则,怎么制定,经验?怎么得到出来的,有没有很具体的规则出处
- 9.淘宝商品表体系的设计,表结构,表名,表字段
- 10.sku设计,sku怎么来的,规格?维度?单元?表设计怎么弄?谁弄得?来源?
某知识付费技术服务商
-
1.swoole进程模型
- base,process https://www.cnblogs.com/wanghanlin/p/11425262.html
- 2.缓存穿透,缓存击穿
- 3.桶排序
- 4.跳表,zset为什么用跳表不用b树/红黑树
- 5.不用递归的二分查找
-
6.laravel所有用到的设计模式
-
https://blog.csdn.net/lingluo110700/article/details/86433837
- 工厂模式,单例模式,注册树模式,适配器模式,策略模式,数据对象映射模式(orm),观察者模式,原型模式,装饰器模式,迭代器模式,代理模式
-
https://blog.csdn.net/lingluo110700/article/details/86433837
- 7.explain看哪一个 -selete_type,type,rows,extra
某新能源物流车服务商
- 1.swoole怎么基于请求区分参数,理解swoole方法的上下文关系
- 2.sprintf的一些用法
-
3.合并数组 区别
-
http://www.nowamagic.net/librarys/veda/detail/934
-
https://www.cnblogs.com/smallzhen/p/11893284.html
- array_merge
- array_merge_recursive
- 运算符+
-
http://www.nowamagic.net/librarys/veda/detail/934
- 4.查看进程命令 -ps,top
- 5.查找文件命令 -find,updatedb+locate,whereis,which
- 6.怎么确定索引选择,怎么快速判断索引效果
- 7.foreach &相关
-
8.redis淘汰策略默认,lru详细淘汰算法细节
- 默认是noeviction,不处理过期返回报错
- 9.mq延时自动重试
- 10.tp5,6区别
- 11.select,poll,epoll存储的数据结构
- 12.laravel的优点缺点观念
- 13.智力题:5个不同的人,不同的城市,不同的饮料,住在不同的房子,查找猫的房子
最后:原创不易,如果你觉得这篇文章对你有点用的话,麻烦你为本文点赞、评论或转发一下,作者需要一点正能量反馈,谢谢了。