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

145 阅读7分钟

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

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

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

  • 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答案解析

获取:转发+评论,关注我,然后加V:haolagui521 即可打包带走哦!

其他复习宝典

(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核心知识点整理文档

获取:转发+评论,关注我,扫一扫