Java高级面试突围课 ,搞定Java中高级面试的必考点 Study Notes
Kierke

慕课网课程《Java高级面试突围课 ,搞定Java中高级面试的必考点》学习笔记

第1章 课程介绍

学习本课程的必要性

  • 面试越来越“难”
  • 程序员“内卷”:新技术不断迭代更新,老技术门槛越来越低,对程序员的要求拔高
  • 企业渴求“精英”


面试瓶颈

  • 小项目经验行不通,要见识过高难度的项目
    • 不在于项目体量的大小。而经历过高难度项目,整个人的视野、眼界,处理问题的能力,思考方式,悟性提升到较高层次。(大项目影响的是思维方式)
    • 高难度项目:拔高用户视野,提升技术面
  • 要真正理解核心的底层原理,并且知道用在哪
    • 单纯死记硬背必定会有技术盲区以及被问倒
    • 掌握底层原理后,即使遇到技术盲区,仍然可以利用已有的知识展开自己的思考和洞见
  • “理论经验”到“实践经验”的转变


课程能如何帮助你

  • 重要点
  1. 在过硬技术的支撑下加入小技巧,避免踩雷,一败涂地
  2. 面前的面试官和你未来岗位的关系 ?
  3. 一个中级开发应有的level是什么 ?
  4. 遇到过哪些问题,是怎么解决的 ?
  5. 你有什么问题要问的吗 ?
  • 详实又实用的知识,深入到核心,回答难点问题
image
  • Java基础

    • concurrentHashMap加锁力度
    • synchronized和ReentrantLockx别
    • CopyOnWrite容器,volatile关键字作用
    • BIO NIO AIO
  • 数据库

    • 行锁/表锁/间隙锁
    • 当前读/快照读
    • 事务隔离级别
    • MySQL索引优化
  • 缓存

    • 跳表+压缩表
    • RDB和AOF
    • 缓存淘汰策略
    • Setnx原子性
  • MQ

    • 多节点异步
    • Ack机制
    • Offset机制
    • 分布式事务实现
  • OS/网络

    • Select和epoll的区别
    • HTTP2.0
  • 高性能

    • JVM调优
    • 读写性能提高
    • 缓存雪崩
    • 网络瓶颈突破
  • 微服务

    • 学会利用源码和官网
    • 从Dubbo看RPC
  • 其它亮点

    • 其他领域的独特见解
      • 如何用大数据的hive平台发现资损问题
      • docker,k8s,自动扩缩容结合项目的探索
  • 适合人群

    • 初级程序员:帮助总结提炼,破局,提升素养
    • 成熟程序员还未进入大厂:查缺补漏,尝试突破学习方法和面试技巧,同时增加阅历



第2章 一面上半场——项目业务架构介绍

你的目的是在有限的时间内让面试官对你印象深刻。本章教会你如何白板快速的根据业务场景绘制系统架构图,在架构划分过程中体现你的领域模型思想。用电商项目举例,主要分为电商商品和交易场景

概述

  • 如何在一面中展现你的综合素质,使得面试官对你的印象更加深刻
    • 如何做自我介绍
    • 聊聊项目
    • 提问环节
    • 你有什么要问的吗


自我介绍

自我介绍是塑造第一印象的关键,也是你一上来可以掌握主动权的机会

  • 要点
    • 简短有力 3-4分钟较好
    • 内容要有结构性:经历简介、项目经历,技术总结
    • 凸显能力:技术经验能力、学习思考能力
      • 技术经验能力:技术栈、技术技能。(学习的技术使用到了什么场景中)
  • 介绍前的思考
    • 你的一面面试官和你未来工作的关系?
    • 他想要从我的自我介绍中了解什么?
  • 介绍的内容
    • 经历简介
      • 个人信息,教育背景,职业生涯,工作年限
    • 项目经历
      • 电商项目:省微服务,领域模型驱动设计,结果产出,qps,高并发场景,担当什么?
    • 技能总结
      • 你的技术栈,开发语言,主要框架,中间件(存储,微服务相关,大数据,部署相关)
      • 业余时间学习 or 最近在学什么
  • 介绍的亮点
    • 谦逊:能力再强也需要和谐的研发环境
    • 自信:代表了你对个人价值的认可
    • 与众不同:深度思考,愿意学习探索


模拟面试

以面试官的心态提问

  • 提问
    • 介绍下你做的项目
    • 你项目的业务场景,系统架构,工作职责分别是什么样的
    • 你的项目中有哪些亮点,你是如何处理和解决这些难点问题的


聊聊项目

要点

  • 项目场景介绍:项目做了什么?
  • 系统架构方案
  • 你负责了哪块

项目场景介绍

  • 项目做了什么

    • B2C的电商平台:标准的电商场景
    • 既要有全局思维的广度,又要有局部思维的深度
  • 标准的电商基础模块

    • 商家:商家入驻及授权流程e
    • 店铺:店铺管理
    • 用户:用户注册及登录,用户管理模块
    • 品牌:品牌管理,品牌授权
    • 类目:三级类目管理 服饰->男装->卫衣
    • 属性:颜色,尺寸,自定义属性
    • 商品:商品管理,库存管理,运费管理
    • 购物车:购物车管理
    • 导购:搜索,推荐
    • 营销:优惠券,活动
    • 交易:订单,支付,退款
    • 配送:物流
    • 售后:售后,客服
  • 我主要开发的系统

    • 商品系统:商品基础模型,商品详情查询
    • 交易系统:交易支付,订单列表及支付系统对接

系统架构方案

  • 分维度介绍
    • 系统架构:体现整体部署结构,选型思考
      • 流量入口
      • 服务治理
      • 数据选型
    • 业务架构:业务场景引入进来做业务架构设计



Reference




Remark

  1. xxx需要再深入学习
1
2
3
4
5
<font color=red></font>
![]()
<img src="" title="图片名称" alt="图片无法正常加载展示!" width="100%" height="100%" >
<center><img src="" width="70%"></center>
****