Fork me on GitHub

2019年PHP面试题-一案(自我解析)

昨天去阿里Z空间的一个人面试了,说了很多有的没的,说面试就是造飞机,直言不讳的说,现把他说的话记录一下,【缓存穿透、redis数据类型、微服务、熔断机制、网络攻击应对、索引机制、laravel的composer实现原理、laravel的autoload机制】

1.有如下慢sql,执行了90秒,扫描了1329172行,不考虑分表,该如何优化select id,content from table_name where status=1 order by id asc limit 132800,100

2.有一张用户表结构如下:

user: user_id(int) user_name(varchar) age(tinyint) province_id(int) city_id     user_namge 唯一索引 province_id city_id普通索引

查询1:select * from user where user_id <100 or age<20

查询2:select * from user where user_name like '159%' and age<20

查询3:select * from user where province_id =10 or city_id =20

查询4:select * from user where city_id =20

以上四个查询中,分别写出是否分别用到了索引,如果用到了,请写出使用到了什么索引,如果没用到,请写出为什么没用到

3.下面语句中写出结果并给出解决方案

echo (int) (0.58*100)

4.请为一个订单系统设计一套数据库表(写出表名及用途即可)

5.写出下面代码的运行结果

<?php

$arr1 = ['a'=>1,'b'=>2];
$arr2 = ['b'=>3,'d'=>4];
print_r($arr1+$arr2);
print_r(array_merge($arr1+$arr2));


$arr3 = [1,2];
$arr4 = [3,4,5];

print_r($arr3+$arr4);
print_r(array_merge($arr3+$arr4));

6.如何对api接口进行限流(不针对ip和用户)

7.PHP面向对象三大特性??写出自己实际项目中使用过的几种设计模式的名称、含义、以及场景(排除框架内)?

8.在不使用PHP自带函数的情况下把下面数组中的值按从小到大排列?

$array = [1,5,2,8,10]

9.在PHP内存限制在128M时,如何导出一张100万数据量的excel,请写出具体方案

10.高并发秒杀活动设计思路,一件A商品(无规格) 库存100件

要求:

先到先得  付款结束流程(不付款) 

 

 

posted @ 2019-08-08 08:59  我曾如此奢望  阅读(336)  评论(0编辑  收藏  举报