一份新鲜刚出炉的面试题
共 1968字,需浏览 4分钟
·
2020-08-19 17:57
来源:IT界农民工
作者:莱乌
最近小莱的一些朋友去大厂面试,小莱与他们沟通了后总结了一份面试题,希望给想进大厂的同学提供一些帮助。
面试题包括:百度、滴滴、头条、微博、小米、顺丰等一线大厂。
数据结构
1、单链表反转(手写代码)
2、如何判断一个单链表是否有环?
3、给你一个实现栈的类,如何实现一个队列?
4、二叉树、B 树、B+ 树
Redis
1、redis数据类型有哪些,及分别对应的底层数据结构
2、跳表的实现方式,时间复杂度
3、分布式锁的实现,详细参考《面试官:谈谈分布式锁的实现》
4、redis持久化方式,分别有哪些优缺点及工程上如何使用?
5、redis内存淘汰机制
6、redis主从复制原理
7、redis集群模式介绍(主从模式、哨兵模式、redis cluster模式)
8、跳表为什么不使用平衡树来实现?
Mysql
1、mysql锁(尤其是 GAP锁)
2、mysql索引有哪些?索引实现方式?(尤其注意联合索引)哪些情况下不会命中索引?
3、mysql事务、隔离级别、脏读、幻读、redo log/undo log/binlog、MVCC及实现原理
4、如何防止sql注入?
5、什么是两阶段提交?
6、加索引为什么会快?
Nginx
1、nginx惊群现象
2、为什么nginx能处理高并发?
3、网络模型:select、poll、epoll
4、IO异步多路复用中的异步是如何实现的?
5、负载均衡算法
6、熟悉nginx配置
Linux
1、统计某一时间段内访问前10的ip(注意是某一时间段内)
2、如何查看当前负载?
网络
1、session 和 cookie的区别?
2、如何处理跨域问题?分别从客户端、服务端回答
3、三次握手、四次挥手
4、ISO七层模型
操作系统
1、守护进程是什么?如何实现?
2、进程间如何通信?
3、什么是僵尸进程、孤儿进程及如何处理?
4、什么是进程、线程,有什么区别?
设计类
1、常见的设计模式(手写程度)
单例模式
工厂模式
注册模式
语言类
1、php有哪些新特性
2、php魔术函数、魔术方法
3、php的垃圾回收机制
4、php数组底层实现方式
5、php底层运行原理
算法类
1、8种基本排序算法(尤其快排手写)
2、令牌桶算法
3、扑克牌顺子
4、专辑问题
综合类
1、为什么需要RPC、而不是简单的HTTP接口?
2、浏览器输入一个地址,访问过程
3、面对未知流量暴涨,如何处理?
4、系统访问过慢如何定位原因?
例如漫画文章
例如讲解算法思想的文章
等等,如果你想学习算法,学习计算机基础,那么我决定这份 PDF,一定会让你有所帮助。当然,如果一是一位有那么点迷茫的在校生,相信我的个人经历,可以给你打一份鸡血,让你更好着去寻找自己的目标。
文章整体目录
如何获取
很简单,在我的微信公众号 帅地玩编程 回复 程序员内功修炼 即可获取《程序员内功修炼》第一版和第二版的 PDF。