两年经验拿到蚂蚁金服,字节offer,附上金九银十BAT面试核心知识点整理
前言
我自己是本科毕业后在老东家干了两年多,老东家算是一家”小公司”(毕竟这年头没有 BAT 或 TMD 的 title 都不好意思报出身),毕业这两年多我也没有在大厂待过,因此找坑的时候是非常非常虚的。迫于心慌,我好好思考了一阵来给自己打气,当时真正找坑和准备面试的过程大概分为这几个阶段:
面试准备
- 反思:自己是不是真的要离职,假如不离职,在老东家接下来应该做什么才能继续提升?
- 定位:我在硬性技能(编码、架构)上的长处在哪?我在软技能(沟通,团队)上的长处在哪?这步顺带写了简历
- 寻找平台:哪些平台能同时满足:1、有挑战有上升空间;2、符合我的定位方向;3、团队氛围和老东家一样好
- 找人内推:基本都是在 v2 上找的
当你真的决定要跳槽面试的时候就得最自己的知做一个小总结了,找出自己的技术短板去弥补,把自己的学习路线给整理出来会事半功倍,下面附上我自己的复习路线。
就一个JVM就能梳理出这么多知识点,从而可以看出总结自己的复习路线是一个多么重要的事情,这里只是展示我总结的一部分,整个路线包括源码框架,并发专题,JVM性能调优,mysql,分布式,微服务等等。我都总结出了每一小步的复习路线,需要这份复习路线的:关注我的公众号前程有光即可获取
下面是我自己根据上面的复习路线图总记得复习文档,文档内容包括:数据结构与算法,JVM内存结构、垃圾回收器、回收算法、GC、并发编程相关(多线程、线程池等)、NIO/BIO、性能优化、设计模式、Spring框架:分布式相关:Redis缓存、一致Hash算法、分布式存储、负载均衡等,微服务以及Docker容器等。获取方式在文末
下面为部分的内容和面试题展示
JVM
- java中会存在内存泄漏吗,请简单描述。
- 64 位 JVM 中,int 的长度是多数?
- Serial 与 Parallel GC 之间的不同之处?
- 32 位和 64 位的 JVM,int 类型变量的长度是多数?
- Java 中 WeakReference 与 SoftReference 的区别?
- JVM 选项 -XX:+UseCompressedOops 有什么作用?为什么要使用
- 怎样通过 Java 程序来判断 JVM 是 32 位 还是 64位?
- 32 位 JVM 和 64 位 JVM 的最大堆内存分别是多数?
- JRE、JDK、JVM 及 JIT 之间有什么不同?
- 解释 Java 堆空间及 GC?
Redis
- 什么是 Redis?
- Redis 与其他 key-value 存储有什么不同?
- Redis 的数据类型?
- 使用 Redis 有哪些好处?
- Redis 相比 Memcached 有哪些优势?
- Memcache 与 Redis 的区别都有哪些?
- Redis 是单进程单线程的?
- 一个字符串类型的值能存储最大容量是多少?
- Redis持久化机制
Kafka
- 请说明什么是Apache Kafka?
- 请说明什么是传统的消息传递方法?
- 请说明Kafka相对传统技术有什么优势?
- 在Kafka中broker的意义是什么?
- Kafka服务器能接收到的最大信息是多少?
- 解释Kafka的用户如何消费信息?
- 解释如何提高远程用户的吞吐量?
- 解释如何减少ISR中的扰动?broker什么时候离开ISR?
Spring Cloud
- 什么是 Spring Cloud?
- 使用 Spring Cloud 有什么优势?
- 服务注册和发现是什么意思?Spring Cloud 如何实现?
- 负载平衡的意义什么?
- 负载平衡的意义什么?
- 什么是 Hystrix 断路器?我们需要它吗?
- 什么是 Netflix Feign?它的优点是什么?
- 什么是 Spring Cloud Bus?我们需要它吗?
尤其是Spring Cloud这一块,面试几乎必问。SpringCloud 是分布式微服务架构下的一站式解决方案,是各个微服务架构落地技术的集合体,俗称微服务全家桶。
MyBatis
- 什么是 Mybatis?
- Mybaits 的优点
- MyBatis 框架的缺点
- MyBatis 框架适用场合
- MyBatis 与 Hibernate 有哪些不同?
- 当实体类中的属性名和表中的字段名不一样 ,怎么办 ?
- 模糊查询like语句该怎么写?
Java反射
- 除了使用new创建对象之外,还可以用什么方法创建对象?
- Java反射创建对象效率高还是通过new创建对象的效率高?
- java反射的作用
- 哪里会用到反射机制?
- 反射的实现方式
- 实现Java反射的类
- 反射机制的优缺点
- 获取 Class 对象有几种方法
面试总结
一些经验:
简历里写了的项目,以及熟练程度在”掌握”以上的领域与中间件要好好准备,当面试官问你一个偏门的问题时,他内心其实也没希望你能答上来。而当面试官问你简历上涉及的问题时,假如你答不上来,那面试官就觉得这个人要么是眼界太低,会了一点就觉得自己掌握了,要么是简历造假在胡吹,这两种都非常不利;
在上一条的基础上,可以准备一个最得意的项目,在简历上和面试过程中引导面试官往这块聊;
面试前心里可以准备一个方法论:明确面试官想招怎样的人有哪些特质,在面试过程中努力表现出这些特质。这听起来是句正确的废话,但面试的过程不可控因素太多,有一个清晰的目标在脑子里能帮你在手足无措时想到说什么。举个例子,有一轮中面试官问我有什么问题时,我就问贵司的对应岗位会面临哪些技术挑战(当然要先说清楚这不是在质疑他们没有挑战,只是自己渴望挑战);
最后
以上所有资料关注我的公众号:前程有光即可获取!对于大厂面试,我最后想要强调的一点就是心态真的很重要,是决定你在面试过程中发挥的关键,若不能正常发挥,很可能就因为一个小失误与offer失之交臂,所以一定要重视起来。
两年经验拿到蚂蚁金服,字节offer,附上金九银十BAT面试核心知识点整理的更多相关文章
- 这些Servlet知识你一定要知道,金九银十大厂面试官都爱问
前言 Servlet是服务器端的Java应用程序,可以生产动态Web页面.透过JSP执行过程可以知道JSP最终被编译成一个.class文件,查看该文件对应的Java类,发现该Java类继承自org.a ...
- “金九银十”已过,总结我的天猫、蚂蚁、头条面试经历(Java岗)
跳槽时时刻刻都在发生,但是我建议大家跳槽之前,先想清楚为什么要跳槽.切不可跟风,看到同事一个个都走了,自己也盲目的开始面试起来(期间也没有准备充分),到底是因为技术原因(影响自己的发展,偏移自己规划的 ...
- 备战金九银十,Java研发面试题(Spring、MySQL、JVM、Mybatis、Redis、Tomcat)[带答案],刷起来!
八月在即,马上就是"金九银十",又是跳槽招聘季.咱们这行公认涨薪不如跳槽加的快.但不建议频繁跳槽,还是要学会融合团队,抓住每个机会提升技能. 苏先生在这里给大家整理了一套各大互联网 ...
- 不等"金九银十",金风八月,我早已拿下字节跳动的offer
字节跳动,我是在网上投的简历,之前也投过一次,简历都没通过删选,后来让师姐帮我改了一下简历,重新投另一个部门,获得了面试机会.7月23日,中午HR打电话过来预约了下午4点半面试,说会在线写代码,让我准 ...
- 金九银十,史上最强 Java 面试题整理。
以下会重新整理所有 Java 系列面试题答案.及各大互联网公司的面试经验,会从以下几个方面汇总,本文会长期更新. Java 面试篇 史上最全 Java 面试题,带全部答案 史上最全 69 道 Spri ...
- 金九银十想去跳槽面试?那这份Java面经你真得看看了,写的非常详细!
前言 前两天在和朋友吃饭的时候聊到时间这个东西是真的过的好坏啊,金三银四仿佛还在昨天.一眨眼金九银十又快到了,对程序员来说这两个是一年最合适的跳槽涨薪环节了,今年的你已经做好准备了吗?不妨看看这篇文章 ...
- 金九银十跳槽高峰,面试必备之 Redis + MongoDB 常问80道面试题
前言 有着“金九银十”之称的招聘旺季已经开启,跳槽高峰期也如约而至. 本文为主要是 Redis + MongoDB 知识点的攻略,希望能帮助到大家. 内容较多,大家准备好耐心和瓜子矿泉水. Redis ...
- 拿到蚂蚁金服的offer是一种什么体验?3年Java程序员分享面经
前言:我是一名三年的Java程序员,之前一直是在外包公司工作的.在这个月五号的时候,通过我的学长做内推,有了去蚂蚁金服面试的机会.我是在12号接到的电话面试的,因为蚂蚁金服需要7天的简历评估的.还有就 ...
- Android&Java面试题大全—金九银十面试必备
声明本文由作者:Man不经心授权转载,转载请联系原文作者原文链接:https://www.jianshu.com/p/375ad14096b3, 类加载过程 Java 中类加载分为 3 个步骤:加载. ...
随机推荐
- Linux命令之命令别名
对于经常执行的较长的命令,可以将其定义成较短的别名,以方便执行 显示当前shell进程所有可用的命令别名 [04:33:43 root@C8[ ~]#alias alias cp='cp -i' al ...
- 主流开源分布式图数据库 Benchmark
本文由美团 NLP 团队高辰.赵登昌撰写 首发于 Nebula Graph 官方论坛:https://discuss.nebula-graph.com.cn/t/topic/1377 1. 前言 近年 ...
- .net core 3.1 vs2019报HTTP Error 500.30 - ANCM In-Process Start Failure
vs启动报此错误的话查看自己的程序是3.1.1还是3.1.2.解决防范安装高版本的重启
- ASP.NET Core托管运行Quartz.NET作业调度详解
Quartz.NET这么NB的作业调度系统,不会还行? 今天介绍一下Quartz.NET的托管运行,官网传送门. 一.前言 Quartz.NET,按官网上的说法,是一款功能齐全的任务调度系统,从小 ...
- docker compose 用法
目录 docker compose的使用场景 一个基本的demo演示 找一个目录,在其中创建一个python文件app.py 在相同的文件夹下,创建requirements.txt文件 在相同的文件夹 ...
- JavaScript核心 Dom Bom
<div id="time">2020-9-27</div> <script> //文档页面从上往下加载,先有标签才能获取元素对象,script ...
- Kubernetes Pod驱逐策略
Kubelet 能够主动监测和防止计算资源的全面短缺. 在资源短缺的情况下,kubelet 可以主动地结束一个或多个 Pod 以回收短缺的资源. 当 kubelet 结束一个 Pod 时,它将终止 P ...
- vue父组件促发子组件中的方法
实现在父组件中促发子组件里面的方法 子组件: <template> <div> 我是子组件 </div> </template> <script& ...
- mq_open失败,Invalid argument
经四处查找,终于发现原因: (1)attr.mq_maxmsg 不能超过文件 /proc/sys/fs/mqueue/msg_max 中的数值,我的机器上面是10. (2)attr.mq_msgsiz ...
- Java学习的第四十八天
1.例8.4找出整形数组中的最大值 import java.util.Scanner; public class Cjava { public static void main(String[]arg ...