2020年面试----php一线大厂及二线互联网公司面试总结

滴滴、百度、腾讯、360、一点资讯、美图、融360、作业帮、轻松筹、十荟团、易到用车、华图教育、人人车

 

算法:

https://www.cnblogs.com/wt645631686/category/1003578.html    (面试被问过的所有算法都在这里了)   (几乎每个大厂都问算法了 :滴滴、百度、腾讯、360、一点资讯,让你当时写)

补充:快速排序法

Redis:

Redis的数据类型(被问频率比较高)

 

Redis底层数据结构 SSD……等等(被问频率比较高,多了解一下redis内部数据结构)

 

分布式Redis,如何做到高可用,比如   四台redis,a、b、c、d ,在数据读取过程中,c访问量偏高,排除key的哈希计算,如何做到让其他三台服务器均匀分流

 

redis锁的使用(当场写代码)

随便说出redis 有序集合的几个命令(通过这个问题而言,最好把redis的命令熟悉熟悉)

 

Redis和kafka同可以作为消息队列,他们区别在哪里

Redis秒杀抢购(被问频率比较高,还会问注意哪些细节,这里我当时胡思乱想,其实也不知道考虑周不周全,最好百度了解一下细节方案)

 

Redis和mysql数据如何保持一致(面试官的问法可能会不是这么直接,其实考验的就是这个知识点)

 

 

如何限制同一个ip并发访问(轻松筹的面试官不知道是***难我还是不知道redis是单线程的,这块自己多了解一些方案,当时我回答的是用redis来限制,就被他一直追问)

 

 上一个问题深造:

一点资讯、美图、滴滴面试官:如何限制在一分钟时间内某个ip的访问次数,比如一分钟限制访问10次(这个问题和上一个问题不一样。)

我回答:用redis来设置一个key,key映射对应的ip,然后每次ip访问后都给对应的key加一,假如小于10,就继续访问,相反拒绝访问,同时给这个key设置过期时间一分钟。

面试官继续问:假如我这个时间不是固定时间,而是一个时间轴,比如从10点到10点1分这算是一分钟,同样十点零一秒到十点一分零一秒也是一分钟(这里你深思一下,确实这样就满足不了了)

我思考半天回答:假如给这个redis 的key同时加一个时间戳,每次访问往前推60秒,然后计算这60的访问次数。,,,这样似乎也不行。。。

一点资讯、滴滴面试官就过去了

但是美图面试官给我了一个方法,虽然美图面试官和前两个公司面试官问的方式不一样,但是美图面试官给的方案我觉得是绝对可以的,答案就是:设置一个redis队列名,每次访问就往这个队列丢一个元素……

具体看看这个

https://www.cnblogs.com/wt645631686/p/6868845.html

 

Redis持久化方式,多了解一下,经常被追问到细节。(频率还行)

 

Redis分布式以及如何防止雪崩

 

 

PHP相关:

Php-fpm对进程管理的几种方式

 

php-fpm和fast cgi的关系

 

fast cgi 和cgi区别

 

Nginx和php怎么通信(详细了解一下)

 

详细说一下 从浏览器输入url相应的整个过程(不要想糊弄,被个别面试官追问道http握手,甚至php生命周期以及php内核、zend引擎四层的处理过程)(频率可以)

 

Nginx负载均衡的原理(频率较高,可能是因为我简历上写了配置过负载均衡…)

 

Php垃圾回收机制(频率较高)

 

Php设计模式,还会当场让你写代码,比如工厂模式、单例模式(频率可以)

 

Php哪些魔术方法

 Mysql相关:

数据库如何恢复? 了解一下 redo log ,以及 redo log和binlog区别

 

Mysql 的事务隔离级别,以及默认哪个,以及脏读、幻读、重复度的原因(频率较高)

 

Mysql分布式事务 (频率较高)

 

 

乐观锁(这里会给你出题,考验乐观锁)

 

Mysql最左原则、sql 比如 联合索引  (abc),这里面试官会各种顺序转变来问你 (频率较高)

 

Explain 分析,会被问一些参数,甚至 是序号(频率较高)

 

mysql 执行过程

 

Mysql 聚簇索引和非聚簇索引的区别、innodb引擎中,主键索引为什么比唯一索引快(频率较高)

 

Mysql的优化你会考虑哪些?(频率较高) https://www.cnblogs.com/wt645631686/p/8193622.html  看看这篇文章最下面的图片

 

innodb 和myisam区别

 

索引的相关知识多了解了解

 

Mysql主从复制原理

 

Mysql主从延迟怎么解决?

 

*****mysql索引啊  什么B+树啊,排序啊,二叉树啥的,一定吃透******

 

接口优化及Nosql:

假如给你一个接口,你如何优化? 详细说说你的整个排查思路

 

Mongodb怎么优化?(傻逼易到用车问过我)

 

Elasticsearch 的原理(频率凑合)

 

 Linux:

Linux命令

 

比如统计后多少条

 

比如awk、grep等等

 

杂七杂八: 

 

进程线程携程区别(频率较高)

 

Post和get区别、cookie和session区别,以及如何实现分布式session(小公司问)

 

高并发的网站,你如何考虑做到高可用? (以前经常被问,现在面试偶尔被傻逼面试官问,比如易到用车傻逼面试官【看看极客时间的高并发40问吧】)

 

内存溢出与内存泄漏

 

http握手

 

Osi七层模型(这里会被问到http协议和udp协议相关问题,处于哪个层)

 

socket通信原理

 

Xss、sql注入、csrf安全问题

 

 

队列和堆得区别? 如何让堆实现队列?(华图问过我,极客学院算法课正巧看过一节。这里你可以了解一下)

 

 

 

建议:面试之前一定要把算法吃一遍,再就是mysql一些相关的东西,这两款知识频率非常高

 

posted @ 2020-07-03 10:48  温柔的风  阅读(209)  评论(0编辑  收藏  举报