每一个程序员都拥有一座大厂梦,很多Java开发者面试之前,可能没有较长的工作时间或者较为丰富的工作经验,所以不知道互联网公司或者一线互联网公司技术面试都会问哪些问题? 再加上可能自己准备也不充分,去面试没几个回合就被面试官几个问题打蒙了,最后以惨败收场。
今天针对这类的Java工程师们总结一下关于互联网企业以及一些大厂必问的面试题—Redis做一个面试分享,让即将面试或是有想法跳槽的读者朋友们对面试到Redis能得心应手,增加拿offer的水平
顺带分享一个Java程序员三面技术+HR技术面美团的面试经历(实习offer)
互联网Redis面试必问题!先随便呈上几道,看看大家能否答出来:
(0)redis为什么是key,value的,为什么不是支持SQL的?
(1)redis是多线程还是单线程?(回答单线程的请回吧)
(2)redis的持久化开启了RDB和AOF下重启服务是如何加载的?(10个人9个回答错误)
(3)redis如果做集群该如何规划?AKF/CAP如何实现和设计?
(4)10万用户一年365天的登录情况如何用redis存储,并快速检索任意时间窗内的活跃用户?
(5)redis的5种Value类型你用过几种,能举例吗?
(6)100万并发4G数据,10万并发400G数据,如何设计Redis存储方式?
美团四面
一面
- 自我介绍
- 数据结构算法方面
- 找到单链表的三等分点,如果单链表是有环的呢
- 讲一下项目的架构
- 说一下你熟悉的设计模式
- 有没有配置过服务器啥啥啥
二面
- Spring:有没有用过Spring,Spring IOC、AOP机制与实现,Spring MVC
- 多线程:怎么实现线程安全,各个实现方法有什么区别,volatile关键字的使用,可重入锁的理解,Synchronized是不是可重入锁
- 集合: HashMap底层实现,怎么实现HashMap线程安全
- JVM内存管理,GC算法,HotSpot里面的垃圾回收器、类加载
- 进程和线程的区别
- HTTP有没有状态,我说无状态,怎么解决HTTP无状态
- Java IO,NIO,Java中有没有实现异步IO
- 前端会不会,Ajax是什么,Ajax实现原理
- 让我设计一个线程池
- 讲几个设计模式,哪些地方用到了,为什么要用
- Mysql优化、索引的实现
- 事务的隔离级别
- 有没有用过Hibernate、mybatis、git
- Linux
- 算法题
三面
- MySql优化
- 说下项目做了些什么,架构之类的
- 在collabedit上在线写代码,题目很简单是编程之美上的原题,一个有序的整数数组,输出两个数,使它们的和为某个给定的值。之前做过很快写好,然后给他讲思路。他继续问如果数组无序怎么办,先排序。
- 两个文件,每个文件中都有若干个url,找出两个文件中相同的url(用HashMap)
HR面
- 自我介绍,都四面了还自我介绍?!我还以为是单纯的hr面,所以介绍的都是我的性格和生活方面的,结果并不是。
- 问项目,问的特别特别细,技术细节,还有遇到什么问题,怎么解决的,做项目有没有人带,怎么跟别人沟通的。
- 数据库优化,如果数据库一个表特别大怎么办 数据库优化我就讲了之前讲过很多遍的点,他问一个表特别大怎么办:大表分小表,怎么实现:使用分区表
- 问研究生的科研题目,为什么选这个题,看了一些什么论文(细到问我那些论文是发表在什么期刊上的,作者是哪所学校的),为什么要选这个算法,怎么优化的,实验结果怎么跟别人作对比的,为什么比别人的算法好(一个个问题不断砸过来,我猜我说的那些专业名词他应该不太懂,只是判断一下是不是我做的而已。。)
美团Redis面试题
- 使用Redis有哪些好处?
- redis相比memcached有哪些优势?
- redis常见性能问题和解决方案
- MySQL里有2000w数据, redis中只存20w的数据,如何保证redis中的数据都是热点数据
- Memcache与Redis的区别都有哪些?
- Redis常见的性能问题都有哪些?如何解决?
- redis最适合的场景
- Redis的同步机制了解么?
- 是否使用过Redis集群,集群的原理是什么?
- redis集群如何保证一致性?
史上最全Redis面试答案集合
由于篇幅限制,很多内容都只展示了目录和截图,这些都整理在文档里,需要这些文档资料的
Redis入门
- Redis与其他软件的相同之处和不同之处
- Redis的用法
- 使用Python示例代码与Redis进行简单的互动
- 使用Redis解决实际问题
使用Redis构建Web应用
- 登录cookie
- 购物车cookie
- 缓存生成的网页
- 缓存数据库行
- 分析网页访问记录
Redis核心概念部分
- Redis命令
- 数据安全与性能保障
- 使用Redis构建支持程序
- 使用Redis构建应用程序组件
- 基于搜索的应用程序
- 构建简单的社交网站
Redis进阶内容
- 降低内存占用
- 巨扩展Redis
- 巨Redis的Lua脚本编程
备战年初面试旺季
如何提前复习?
一、Java面试学习宝典
- Java面经
- java后端面试题答案
- 最全JVM面试专题及答案
- 微服务面试专题及答案
- SpringMVC面试专题及答案
- SpringCloud面试专题及答案
- Redis面试专题及答案(上下)
- 2021蚂蚁金服Java必问面试题及答案
二、面试实战书籍
- 深入浅出Redis
- Redis实战书籍
- JAVA核心知识点整理
- Spring Cloud微服务实战
- 深入浅出Spring Boot 2.x
- 深入实践SpringBoot
- Spring源码深度解析
Java核心知识复习文档
由于篇幅限制,很多内容都只展示了目录和截图,这些都整理在文档里,需要这些文档资料的,均可以免费分享给大家,希望所有的程序员都能够学习起来,努力实现我们的大厂梦!