分享面试阿里、京东、网易等大厂后的面经及面试心得—远程面试

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
简介: 受疫情影响,阿里、百度、网易等互联网企业都开启了远程面试。那么远程面试和正常面试有什么不同吗?并没有!企业招聘的要求没有改变,改变的仅仅是面试的地点。今年远程面试完几家互联网企业(阿里、京东、网易、头条),总结下来面试的大体思路都基本一致。比如:

受疫情影响,阿里、百度、网易等互联网企业都开启了远程面试。

那么远程面试和正常面试有什么不同吗?并没有!

企业招聘的要求没有改变,改变的仅仅是面试的地点。今年远程面试完几家互联网企业(阿里、京东、网易、头条),总结下来面试的大体思路都基本一致。比如:

  • JVM 参数配置、常用调试工具、分区、类加载,还会问你有需要线上的调试问题吗?遇到死循环 CPU 飙升怎么解决?
  • Java 并发包常用工具用法和原理、会配合集合类一起考,对了还会有 volatile、CAS 原理等。
  • MySQL 也算是必备了,索引存储结构、索引搜索原理、事务的隔离级别和原理,这些真的是逢考必问。当然除了 MySQL,Redis 和 ES 也是面试长文的,大多都是集中到原理。比如 ES 倒排索引、分片原理,Redis 的 zset 原理和使用场景、多路复用、穿透、熔断等等。
  • 框架也是必备的知识点,最常见的就是 AOP 原理,自己怎么实现?Spring Boot 啥原理?框架通常会配合设计模式一起考,比如你最熟悉的设计模式是啥?Spring MVC 里面用了什么设计模式?解决了什么问题?
  • 接下来最重要的就是服务治理了,这里面内容就太多了,Dubbo 也好,Spring Cloud 也罢,总之这个地方最能看得出你真实的工作经验和问题的考虑深度,毕竟没有真正在庞大的系统里面锻炼过真的很难应付这个地方。
  • 没漏掉还有一个最重要的算法,这个就靠平时多练了,LeetCode 中文版上线了,一天一道题,面试必无敌。

说了这么多只有一个重点,就是无论大厂他有没有题库,面试题的大体方向就这么多,你要都掌握了,还担心去大厂?

那么重点就来了,怎么复习呢——刷题!

首先你需要有一个知识点轮廓,对着这个轮廓不停的扩展、延伸,自己查漏补缺。因为虽然知识点就这么多,但是面试官的提问方式还是千奇百怪的,所以你需要通过知识点做相应的延伸,才能融会贯通。

(1)MySQL

MySQL专题部分

  1. Mysql 中有哪几种锁?
  2. MYSQL 数据表在什么情况下容易损坏?
  3. MySQL 里记录货币用什么字段类型好
  4. MYSQL 支持事务吗?
  5. 解释访问控制列表
  6. 什么是通用 SQL 函数?
  7. 什么是非标准字符串类型?
  8. Mysql 表中允许有多少个 TRIGGERS?
  9. 什么样的对象可以使用 CREATE 语句创建?
  10. NOW()和 CURRENT_DATE()有什么区别?
  11. 可以使用多少列创建索引?
  12. InnoDB 是什么?
  13. Mysql 如何优化 DISTINCT?
  14. 如何输入字符为十六进制数字?
  15. 如何显示前 50 行?

MySQL 答案解析:

(2)Redis

  1. 什么是Redis?
  2. Redis相比memcached有哪些优势?
  3. Redis支持哪几种数据类型?
  4. Redis主要消耗什么物理资源?
  5. Redis的全称是什么?
  6. Redis有哪几种数据淘汰策略?
  7. edis官方为什么不提供Windows版本?
  8. 一个字符串类型的值能存储最大容量是多少?
  9. 为什么Redis需要把所有数据放到内存中?
  10. Redis集群方案应该怎么做?都有哪些方案?
  11. Redis集群方案什么情况下会导致整个集群不可用?
  12. MySQL里有2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据?
  13. Redis有哪些适合的场景?
  14. Redis支持的Java客户端都有哪些?官方推荐用哪个?
  15. Redis和Redisson有什么关系?
  16. Jedis与Redisson对比有什么优缺点?
  17. Redis如何设置密码及验证密码?
  18. 说说Redis哈希槽的概念?
  19. Redis集群的主从复制模型是怎样的?
  20. Redis集群会有写操作丢失吗?为什么?
  21. Redis集群之间是如何复制的?
  22. Redis集群最大节点个数是多少?
  23. Redis集群如何选择数据库?
  24. 怎么测试Redis的连通性?
  25. Redis中的管道有什么用?
  26. 怎么理解Redis事务?
  27. Redis事务相关的命令有哪几个?
  28. Redis如何做内存优化?
  29. Redis回收进程如何工作的?
  30. Redis回收使用的是什么算法?
  31. Redis如何做大量数据插入?
  32. 为什么要做Redis分区?
  33. 你知道有哪些Redis分区实现方案?
  34. Redis分区有什么缺点?
  35. Redis持久化数据和缓存怎么做扩容?
  36. 分布式Redis是前期做还是后期规模上来了再做好?为什么?
  37. Twemproxy是什么?
  38. 支持一致性哈希的客户端有哪些?
  39. Redis与其他key-value存储有什么不同?
  40. Redis的内存占用情况怎么样?
  41. 都有哪些办法可以降低Redis的内存使用情况呢?
  42. 一个Redis实例最多能存放多少的keys?
  43. Redis常见性能问题和解决方案?
  44. Redis提供了哪几种持久化方式?
  45. 如何选择合适的持久化方式?
  46. 修改配置不重启Redis会实时生效吗?

Redis答案解析

(3)JVM

  1. 内存模型以及分区,需要详细到每个区放什么。
  2. 堆里面的分区:Eden,survival (from+ to),老年代,各自的特点。
  3. 对象创建方法,对象的内存分配,对象的访问定位。
  4. GC 的两种判定方法
  5. SafePoint 是什么
  6. GC 的三种收集方法:标记清除、标记整理、复制算法的原理与特点,分别用在什么地方,如果让你优化收集方法,有什么思路?
  7. GC 收集器有哪些?CMS 收集器与 G1 收集器的特点。
  8. Minor GC 与 Full GC 分别在什么时候发生?
  9. 几种常用的内存调试工具:jmap、jstack、jconsole、jhat
  10. 类加载的几个过程
  11. JVM 内存分哪几个区,每个区的作用是什么?
  12. 如和判断一个对象是否存活?(或者 GC 对象的判定方法)
  13. 简述 java 垃圾回收机制?
  14. java 中垃圾收集的方法有哪些?
  15. java 内存模型
  16. java 类加载过程?
  17. 简述 java 类加载机制?
  18. 类加载器双亲委派模型机制?
  19. 什么是类加载器,类加载器有哪些?
  20. 简述 java 内存分配与回收策率以及 Minor GC和Major GC

JVM答案解析

资料获取可以点击此处来获取就可以了!

其他复习宝典

(1)Java面试手册

  • 性能优化面试专栏
  • 微服务架构面试专栏
  • 并发编程高级面试专栏
  • 开源框架面试题专栏
  • 分布式面试专栏

(2)实战文档

  • Redis实战
  • MySQL实战
  • Spring Boot实战
  • Spring Cloud实战
  • 实战Java虚拟机

以实战Java虚拟机为例:

  1. 初探Java虚拟机
  2. 认识Java虚拟机的基本结构
  3. 常用Java 虚拟机参数
  4. 垃圾回收概念与算法
  5. 垃圾收集器和内存分配
  6. 性能监控工具
  7. 分析Java堆
  8. 锁与并发
  9. Class 文件结构
  10. Class 装载系统
  11. 字节码执行

(3)Java核心知识点整理文档

由于篇幅限制,很多内容都只展示了目录和截图,这些都整理在文档里,需要这些文档资料的,均可以免费分享给大家,希望所有的程序员都能够学习起来,努力实现我们的大厂梦!

资料获取:可以点击此处来获取就可以了!

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
30天前
|
存储 关系型数据库 MySQL
阿里面试:为什么要索引?什么是MySQL索引?底层结构是什么?
尼恩是一位资深架构师,他在自己的读者交流群中分享了关于MySQL索引的重要知识点。索引是帮助MySQL高效获取数据的数据结构,主要作用包括显著提升查询速度、降低磁盘I/O次数、优化排序与分组操作以及提升复杂查询的性能。MySQL支持多种索引类型,如主键索引、唯一索引、普通索引、全文索引和空间数据索引。索引的底层数据结构主要是B+树,它能够有效支持范围查询和顺序遍历,同时保持高效的插入、删除和查找性能。尼恩还强调了索引的优缺点,并提供了多个面试题及其解答,帮助读者在面试中脱颖而出。相关资料可在公众号【技术自由圈】获取。
|
1月前
|
存储 消息中间件 NoSQL
每日大厂面试题大汇总 —— 今日的是“京东-后端开发-一面”
文章汇总了京东后端开发一面的面试题目,包括ArrayList与LinkedList的区别、HashMap的数据结构和操作、线程安全问题、线程池参数、MySQL存储引擎、Redis性能和线程模型、分布式锁处理、HTTP与HTTPS、Kafka等方面的问题。
109 0
|
10天前
|
SQL 关系型数据库 MySQL
阿里面试:1000万级大表, 如何 加索引?
45岁老架构师尼恩在其读者交流群中分享了如何在生产环境中给大表加索引的方法。文章详细介绍了两种索引构建方式:在线模式(Online DDL)和离线模式(Offline DDL),并深入探讨了 MySQL 5.6.7 之前的“影子策略”和 pt-online-schema-change 方案,以及 MySQL 5.6.7 之后的内部 Online DDL 特性。通过这些方法,可以有效地减少 DDL 操作对业务的影响,确保数据的一致性和完整性。尼恩还提供了大量面试题和解决方案,帮助读者在面试中充分展示技术实力。
|
19天前
|
存储 缓存 NoSQL
京东面试:亿级黑名单 如何设计?亿级查重 呢?(答案含:布隆过滤器、布谷鸟过滤器)
尼恩,40岁的老架构师,近期在读者交流群中分享了几个大厂面试题及其解决方案。这些问题包括亿级数据查重、黑名单存储、电话号码判断、安全网址判断等。尼恩给出了三种解决方案:使用BitMap位图、BloomFilter布隆过滤器和CuckooFilter布谷鸟过滤器。这些方法不仅高效,还能显著提升面试表现。尼恩还建议大家系统化学习,刷题《尼恩Java面试宝典PDF》,并提供简历修改和面试辅导,帮助大家实现“offer自由”。更多技术资料和PDF可在公众号【技术自由圈】获取。
|
1月前
|
消息中间件 存储 canal
阿里面试:canal+MQ,会有乱序的问题吗?
本文详细探讨了在阿里面试中常见的问题——“canal+MQ,会有乱序的问题吗?”以及如何保证RocketMQ消息有序。文章首先介绍了消息有序的基本概念,包括全局有序和局部有序,并分析了RocketMQ中实现消息有序的方法。接着,针对canal+MQ的场景,讨论了如何通过配置`canal.mq.partitionsNum`和`canal.mq.partitionHash`来保证数据同步的有序性。最后,提供了多个与MQ相关的面试题及解决方案,帮助读者更好地准备面试,提升技术水平。
阿里面试:canal+MQ,会有乱序的问题吗?
|
5月前
|
存储 Linux C++
网易面试:手撕定时器
网易面试:手撕定时器
49 1
|
1月前
|
消息中间件 架构师 Java
阿里面试:秒杀的分布式事务, 是如何设计的?
在40岁老架构师尼恩的读者交流群中,近期有小伙伴在面试阿里、滴滴、极兔等一线互联网企业时,遇到了许多关于分布式事务的重要面试题。为了帮助大家更好地应对这些面试题,尼恩进行了系统化的梳理,详细介绍了Seata和RocketMQ事务消息的结合,以及如何实现强弱结合型事务。文章还提供了分布式事务的标准面试答案,并推荐了《尼恩Java面试宝典PDF》等资源,帮助大家在面试中脱颖而出。
|
1月前
|
SQL 关系型数据库 MySQL
阿里面试:MYSQL 事务ACID,底层原理是什么? 具体是如何实现的?
尼恩,一位40岁的资深架构师,通过其丰富的经验和深厚的技術功底,为众多读者提供了宝贵的面试指导和技术分享。在他的读者交流群中,许多小伙伴获得了来自一线互联网企业的面试机会,并成功应对了诸如事务ACID特性实现、MVCC等相关面试题。尼恩特别整理了这些常见面试题的系统化解答,形成了《MVCC 学习圣经:一次穿透MYSQL MVCC》PDF文档,旨在帮助大家在面试中展示出扎实的技术功底,提高面试成功率。此外,他还编写了《尼恩Java面试宝典》等资料,涵盖了大量面试题和答案,帮助读者全面提升技术面试的表现。这些资料不仅内容详实,而且持续更新,是求职者备战技术面试的宝贵资源。
阿里面试:MYSQL 事务ACID,底层原理是什么? 具体是如何实现的?
|
1月前
|
Kubernetes 架构师 算法
阿里面试:全国14亿人,统计出重名最多的前100个姓名
文章介绍了如何解决“从全国14亿人的数据中统计出重名人数最多的前100位姓名”的面试题,详细分析了多种数据结构的优缺点,最终推荐使用前缀树(Trie)+小顶堆的组合。文章还提供了具体的Java代码实现,并讨论了在内存受限情况下的解决方案,强调了TOP N问题的典型解题思路。最后,鼓励读者通过系统化学习《尼恩Java面试宝典》提升面试技巧。
阿里面试:全国14亿人,统计出重名最多的前100个姓名
|
1月前
|
SQL 存储 关系型数据库
京东面试:分库分表后,如何深度翻页?
在40岁老架构师尼恩的读者交流群中,有小伙伴在京东面试时遇到了MySQL分库分表后深度分页太慢的问题。本文详细分析了单表和分表场景下的性能问题及优化方法,包括索引覆盖、子查询分页、Join分页、禁止跳页查询、二次查询法等。此外,还介绍了使用ES+HBase的海量NOSQL架构方案。通过这些方法,可以显著提升分页查询的性能,帮助面试者在技术面试中脱颖而出。
京东面试:分库分表后,如何深度翻页?

热门文章

最新文章