最近一段时间, 在北京参加30多家大中小互联网公司面试, 其中有百度, 腾讯, 蘑菇街, 滴滴, 美丽说, 互联网金融等公司, 面试过程也是学习过程, 从中发现这些知识点范围是固定的, 或者说如果你细心准备, 大概考点都差不多吧, 下面我会把这些知识点范围总结下, 仅仅是问题,没有答案. 同时也欢迎你在下面评论中进行补充. 如果列出问题,你能会80%以上, 我想你能够拿到每月25k以上的薪水.
一 算法
基本排序算法要会写,时间复杂度要会推算, 主要是冒泡排序, 快速排序, 选择排序.
查找算法,要会写二分查找法, 实际场景要会应用.
实例算法思路要明白,基本算法看多了, 我觉得是几种思路的变换, 需要自己领悟.
面试中考过:
猴子选大王
斗地主项目设计
实现随机函数
字符串中元素各种变形查找
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.
进程与线程的区别
什么情况下会出现死锁, 如何解决死锁.
六 swoole
为什么用swoole?swoole的优势是什么?
tcp三次握手过程,详细一些。
握手过程中可能出什么问题
优先级队列如何实现
什么是epoll?你怎么用的,简单写下代码?accept阻塞在哪儿了?如果是epoll为什么不阻塞了?
异步和非阻塞的区别,说详细
php中使用epoll的伪代码流程
进程,线程,协程的区别
最大堆最小堆实现优先级队列
arp协议和rarp协议,说下arp劫持
epoll的常用模式是哪两种?区别是什么?
到了这里很多朋友想深入学习swoole,swoft微服务在使用中遇到很多困难,我为大家准备了一套精品PHP中高级进阶学习教程,需要可+VX:PHPopen888,还可加入大牛学习圈子,分享tp,laravel,swoole,swoft微服务、SQL性能优化,分布式、高并发等教程,各种大牛都是1-7年PHP开发者,每天还有11年的架构师做课程讲解,助你进阶中高级PHP程序员,增值涨薪!
需要可+VX:PHPopen888,还可加入大牛学习圈子,分享tp,laravel,swoole,swoft微服务、SQL性能优化,分布式、高并发等教程,各种大牛都是1-7年PHP开发者,每天还有11年的架构师做课程讲解,助你进阶中高级PHP程序员,增值涨薪!