金三银四俗称跳槽黄金季,很多同学都想趁着这段时间拿高薪,去更牛逼的公司工作,认识更多大牛,提升自己的职场竞争力。
那怎样才能通过BAT面试官的考核?怎样成为一名Offer收割机?
之前讲过收割Offer有一个最直接的公示:Offer=硬实力*软实力*好的心态,三者缺一不可。
01
技术硬实力
这里说的硬实力,也就是技术上的真实积累。
怎么来体现你的技术实力?我总的分为:技术深度和技术广度这两方面。
技术广度通俗的讲,就是你熟悉该技术点的使用以及基本原理。一般面试官在面试首轮会问很多技术点,来考核你是否能正确使用。
技术深度通俗的讲,就是深入技术原理的同时,还知道优劣势比较,以及同类产品的横向和纵向比较,以及非常重要的应用场景。关于这一点,Mike已经在官网详细介绍了至少超60+篇关于分布式架构设计的文章。比如:消息队列MQ,市面有哪些MQ,RabbitMQ、RocketMQ、ActiveMQ..等等他们各自的架构设计,优劣势比较,各自的应用场景(并发量和使用优劣比较等)。以及MQ的消息去重,如何保证消息不丢失等。这样就沿着MQ这个话题,深入的去考核你对消息队列中间件的掌握程度。
02
技术实力包含哪些
网络编程
- Http和Https
- OSI7层模型
- 网络安全防范:CSRF、XSS等
算法和数据结构
- 数组、链表、二叉树、队列
- 红黑树、AVL树、Hash树、Tire树、B树、B+树
- 各类排序算法以及复杂度分析(快排、归并、堆)
- 二分查找和各种变种的二分查找
- 手写算法等
JVM
- 内存回收算法
- 垃圾收集器
- 性能调优
并发编程
- 多线程
- NIO
- 并发容器
- 并发工具类
- …等
数据库
- mysql和nosql
- 索引、慢查询、事务
- 大数据方案:分库分表、读写分离、数据主从同步
分布式架构设计
- Redis问得比较多(建议重点掌握)
- 消息队列Kafka、RabbitMQ、RocketMQ(阿里会问)
- 微服务:Dubbo、Spring Cloud等
- 负载均衡
- 分布式理论:CAP、BASE等
- 应用系统拆分
- 分布式锁、分布式事务、分布式全局唯一ID…等
03
软实力
软实力在面试过程中也尤为重要(有时候真的要更重要),主要是指和面试官的沟通,对一个问题的阐述方式和表达方式,逻辑思维能力等。
面试过程全程微笑,项目描述需要严谨的表述,个人的优缺点基本要做到随口而出..等这些其实就是软实力的体现。