前言
今年的面试比往年要难得多,各个互联网企业对于Java岗位的要求越来越多,也越来越高,主要是初级岗位已经趋近饱和,但高级岗位又相对来说缺乏,这类的人才偏少,因此作为Java开发人员,我们应该思考的是怎么去往高级人才发展,而不是转学其他语言,要懂得去成为金字塔顶端的人,而不是逃避一直做基层的人。
本文主要记录了我面试阿里天猫的一个经历以及我在面试前个人的一个准备,当然能够拿到天猫的offer,也得益于我拿到一本“Alibaba通关面试手册”,这本手册349页我整整读了28天,收获颇多。
这篇文章主体分为两个部分吧,前半部分主要来描述这份Alibaba面试通关手册里的内容,后半部分则记录了我这次整个面试的一个完整经历,包括面试题和面试心得。
这份Alibaba面试通关手册,共分为上下两个篇章,上篇主要是“面试经验技巧篇”,下篇则是“面试实战场景篇”,下文我会一一对这两个部分进行阐述。
一、面试前的准备
- 如何准备一场面试
- 简历该如何写
- 如果面试官问你 “你有什么问题问我吗?”时,你该如何回答?
- 面试官问你的优点是什么,应该如何回答?
- 面试官问你的缺点是什么,应该如何回答?
- 七个大部分程序员在面试前很关心的问题
二、Java
- Java基础知识
- Java集合框架
- Jave多线程
- Java虚拟机
- 设计模式
三、计算机网络常见面试点总结
- TCP、UDP协议的区别
- 在浏览器中输入ur1地址->>显示主页的过程
- 各种协议与HTTP协议之间的关系
- HTTP长连接、短连接
- TCP三次握手和四次挥手是面试常客
四、Linux
- 简单介绍一下Linux文件系统?
- 一些常见的Linw命令了解吗?
五、MySQL
- 说说自己对于MySQL常见的两种存储引擎:MyISAM与InoDB的理解
- 数据库索引了解吗?
- 当MySQL单表记录数过大时,数据库的CRUD性能会明显下降,一些常见的优化措施
- 事务隔离级别(图文详解)
六、Redis
- redis简介
- 为什么要用redis /为什么要用缓存
- 为什么要用redis 而不用map/ guava做缓存?
- redis和memcached的区别
- redis常见数据结构以及使用场景分析
- redis设置过期时间
- redis内存淘汰机制( MySQL里有200w数据,Redi s中只存20w的数据,如何保证Redis中的数据都是热点数据? )
- redis持久化机制(怎么保证redis挂掉之后再重启数据可以进行恢复)
- redis 事务
- 缓存雪崩和缓存穿透问题解决方案
- 如何解决Redis的并发竞争Key问题
- 如何保证缓存与数据库双写时的数据一致性?
七、Spring
- Spring Bean的作用域
- Spring事务中的隔离级别
- Spring事务中的事务传播行为
- AOP
- IOC
八、消息队列
- 什么是消息队列
- 为什么要用消息队列
- 使用消息队列带来的一些问题
- JMS YS AMQP
- 常见的消息队列对比
九、Dubbo
- Dubbo重要的概念
- Dubbo的架构
- Dubbo的负载均衡策略
- zookeeper宕机与dubbo直连的情况
十、数据结构
十一、 算法
十二 、实际场景题
十三、 BATJ真实面试题
总结
人与人存在很大的不同,我们都拥有各自的目标,在一线城市漂泊的我偶尔也会羡慕在老家踏踏实实开开心心养老的人,但是我深刻知道自己想要的是一年比一年有进步。
最后,我想说的是,无论你现在什么年龄,位于什么城市,拥有什么背景或学历,跟你比较的人永远都是你自己,所以明年的你看看与今年的你是否有差距,不想做咸鱼的人,只能用尽全力去跳跃。祝愿,明年的你会更好!