秋招面试已经过去有半个月了,我相信有人欢喜有人愁,大厂的面试题千奇百怪,不知道他会问到哪方面的知识点,我也是秋招大部队里面的一员,给大家整理出了18个大厂经常会问到200多道面试问题,涉及的知识点有,性能优化,微服务,并发编程,开源框架,分布式,等等。
一 、算法
基本排序算法要会写,时间复杂度要会推算, 主要是冒泡排序, 快速排序, 选择排序. 查找算法,要会写二分查找法, 实际场景要会应用. 实例算法思路要明白,基本算法看多了, 我觉得是几种思路的变换, 需要自己领悟. 面试中考过:
- 猴子选大王
- 斗地主项目设计
- 实现随机函数
- 字符串中元素各种变形查找
- 123456 六个数放到三角形三个顶点及中点上,使每条边上的数字和相等
- 一个超大文件里面存放关键,统计每个关键的个数, 问如何实现
- 一个10G的文件,里面存放关键字, 但内存只有10M, 问如何实现统计, 出现关键字次数最高的前100个
- 实现单链表与双链表
- 实现有权重的随机算法应该就这么多,其他想不起来, 做这些算法需要冷静分析下, 不要轻易说no
二 、php 知识
- 说说php的魔术变量, 要能全部说出来.
- php的设计模式, 要能清晰说出单例, 工厂, 注册模式的实际应用.
- session与cookie的区别及如何解决session的跨域共享.
- 如何防止sql注入及数据安全问题.
- php的生命周期, 启动流程, 多看TIPI.
- php的垃圾回收机制, php变量,数组 c源代码如何实现.
- fastcgi 比 php-cgi 的优势在哪里.
- 你用过那些框架, 各自有什么优缺点.
- 你是怎么理解php的.
- php运行模式有几种,分别是什么.
三、 网络
- http code 码含义 比如204, 304, 404
- apache与nginx对比,你觉得他们各自的优缺点.
- nginx与php数据通信原理是什么.
- http1.0与http1.1的区别, http与https的区别.
- 描述http请求的三次握手.
- 如何实现跨域请求.
- 关于header的各种参数的作用.
- 长连接的优势在哪里.
四、数据库优化
- 你采用mysql的引擎是什么. mysql innodb与myisam 这两种引擎本质区别是什么, 要能够从底层数据实现来说.
- mysql 字段类型有那些, 它们在内存能够存储多少字节数据, 比如 datetime timestamp date.
- 在正式服务器上, 如何操作一个存储大数据表上增加一个字段或添加索引或改变数据字段类型.
- 索引最左原则的意思是什么.
- mysql分库分表策略, 如何解决增表,减表问题.
- redis与memcached对比,各自优缺点.
- redis与memcached如何实现分布式搭建.
- 一致性hash原理是什么.
- mongodb与mysql对比,优势在什么地方.
五、LINUX
- 如何查看服务器负载
- 说说你常用的命令
- 如何统计日志文件中访问次数最多的十个ip地址.
- 源码编译过lamp 或 lnmp 软件吗
- 在当前目录下,如何查找包含keyword文件.
- 如何重启php 或 nginx.
- 进程与线程的区别
- 什么情况下会出现死锁, 如何解决死锁.
六 、综合
- 说说你在工作中碰到的难题及如何解决的, 或讲讲你做过的项目中有难度的项目.
- 你能说一下微博的架构流程是什么样的吗? (这个问题我也是醉了)
- 说说你们现在服务器的架构是什么样子.
- 高并发,高流量情况下,如何设计秒杀或抢红包架构.
- 除了php,你还会那种语言
大佬面试题
- PHP垃圾回收机制
- PHP的弱语言类型如何实现的
- PHP异常的使用方法以及你的经历
- swoole的进程模型
- TCP/IP协议
优信
- 考的是strpos返回值与true false和==以及===的问题
- 简述tcp udp http与https的一些东西,除了php,你还写过哪几种语言,感觉有什么区别。
- 如何取出nginx日志中访问最多的前十个ip地址
- mysql中binlog是什么简述一下,一个事务在主从延迟中可能会产生什么问题
- 手写函数,用球形结构将一个文件夹中所有文件以及文件夹展开
滴滴
- 为什么用swoole?swoole的优势是什么?
- tcp三次握手过程,详细一些。
- 握手过程中可能出什么问题
- 优先级队列如何实现
- 什么是epoll?你怎么用的,简单写下代码?accept阻塞在哪儿了?如果是epoll为什么不阻塞了?
- 异步和非阻塞的区别,说详细
- php中使用epoll的伪代码流程
- 进程,线程,协程的区别
- 最大堆最小堆实现优先级队列
- arp协议和rarp协议,说下arp劫持
- epoll的常用模式是哪两种?区别是什么?
读者福利: 一份阿里p8架构师分享的架构师学习思维路线:
平台与图片大小限制,需获取以下PHP思维导图完整Xmind版可以私信小编【导图】获取领取方式!
一、框架源码解析专题
- thinkphp6.0源码解析
- laravel5.7源码解析
- Symfony4.0源码解析
设计模式
- 设计原则
- 创建型模式
- 原型模式
- 装饰器模式
- 设计模式对比及应用场景
二、性能调优专题
- mysql优化
- redis高级
- PHP程序性能优化
- 算法与数据结果
- Nginx调优实战
Mysql性能调优
- Mysql底层Btree机制讲解
- Mysql 执行计划深入讲解
- Mysql锁机制与事务隔离级别详解
- 慢查询Sql调优实战
- MySQL索引优化详解
- MySQL分库分表
Nginx调优
- Nginx快速掌握
- 熟练掌握Nginx核心配置
- 掌握Nginx负载算法配置
PHP程序性能优化
- PHP内核探索
- 深入对象内存优化
- 类的设计陷进
三、微服务系列专题
- swoft微服务框架
- swoole源码剖析
- API接口平台源码剖析
- Tars分布式RPC框架
- Docker容器
四、分布式框架专题
分布式架构原理
- 初始分布式
- 分布式架构设计原则
- 分布式通信协议
分布式缓存
- Redis主从复制讲解
- Redis分布式集群部署
- Redis读写分离实战
- Redis哨兵机制
分布式RPC、消息中间件
- 多协议的RPC框架
- 多协议通信
- Kafka消息处理原理剖析
- Rabbitmq消息分发原理
五、项目实战专题
亿级云平台
- 云平台项目架构设计及核心技术点整理介绍
- 基于swoft微服务架构拆分
- 云平台技术解决方案
最后针对知识体系我总结出了互联网公司PHP程序员面试涉及到的绝大部分面试题及答案做成了文档和架构视频资料免费分享给大家(包括swoole、Redis、laravel、thinkphp、swoft、docker、分布式、高并发等架构技术资料),希望能帮助到您面试前的复习且找到一个好的工作,也节省大家在网上搜索资料的时间来学习。
领取方式:点赞关注小编后私信【资料】获取资料领取方式!
合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!