0
点赞
收藏
分享

微信扫一扫

java中间件、数据库与spring框架,4面字节跳动拿到Offer

回溯 2022-05-18 阅读 83

前言

Alibaba作为国内互联网行业的“老大”,一直以来也是很多“数码宝贝”梦寐以求的公司,我个人是做Java开发的,阿里这些年也开发了很多屌炸天的开源项目,像什么Spring Cloud Alibaba,开源Java诊断工具Arthas,Apache Dubbo,JDBC连接池、监控组件Druid等等,属实牛逼!

阿里能做到这样,也不知道各位“数码宝贝”花了多少个日日夜夜换来的,因此我本也不想进大厂累死累活的。之前每个月在北京每个月拿个小30k,日子过的也还算不错,但自从有了娃以后,越发有种家庭责任感,钱也越来越感觉不够花,因此我便萌生了进阿里的想法。

因为今年疫情原因,北京管理相当严格,我在家也是间断的在补充新知识,夯实基础,直到今年7月中下旬才拿到了Alibaba的offer,下面我会为大家分享我主要在用的一些资料笔记,以及面经分享。

下面会介绍这些资料笔记的主要内容涵盖的知识点,由于文章篇幅,所以只展示了截图内容

java中间件、数据库与spring框架,4面字节跳动拿到Offer

一、Netty概念及体系结构

01 Netty——异步和事件驱动

  • Java网络编程NIO选择器
  • Netty的简介、谁在使用Netty、异步和事件驱动
  • Netty的核心组件

java中间件、数据库与spring框架,4面字节跳动拿到Offer
java中间件、数据库与spring框架,4面字节跳动拿到Offer

02 你的第一款Netty应用程序

  • 获取并安装Java开发
  • 下载和安装IDE、Apache Maven
  • Netty客户端服务器概览
  • 编写Echo客户端
  • 构建和运行Echo服务器和客户端

java中间件、数据库与spring框架,4面字节跳动拿到Offer
java中间件、数据库与spring框架,4面字节跳动拿到Offer

03 Netty的组件和设计

  • Channel、EventLoop 和ChannelFuture
  • ChannelHandler 接口 和 ChannelPipeline 接口
  • 编码器和解码器
  • 抽象类 SimpleChannel-InboundHandler

java中间件、数据库与spring框架,4面字节跳动拿到Offer
java中间件、数据库与spring框架,4面字节跳动拿到Offer

04 传输

  • 不通过 Netty 使用 OIO和 NIO
  • NIO——非阻塞 I/O Epoll——用于 Linux的本地非阻塞传输
  • OIO——旧的阻塞 I/O 用于 JVM 内部通信的
  • Embedded 传输

java中间件、数据库与spring框架,4面字节跳动拿到Offer
java中间件、数据库与spring框架,4面字节跳动拿到Offer

05 ByteBuf 类——Netty 的数据容器

  • 字节级操作
  • ByteBufHolder 接口
  • 按需分配:Byte-BufAllocator 接口

java中间件、数据库与spring框架,4面字节跳动拿到Offer
java中间件、数据库与spring框架,4面字节跳动拿到Offer

06 ChannelHandler 和ChannelPipeline

  • ChannelHandler 家族
  • 修改 ChannelPipeline
  • ChannelHandlerContext接口
  • 异常处理

java中间件、数据库与spring框架,4面字节跳动拿到Offer
java中间件、数据库与spring框架,4面字节跳动拿到Offer

07 EventLoop 和线程模型

  • 线程模型概述
  • Netty 4 中的 I/O 和事件处理
  • JDK 的任务调度 API
  • 线程管理、 EventLoop/线程的分配

java中间件、数据库与spring框架,4面字节跳动拿到Offer
java中间件、数据库与spring框架,4面字节跳动拿到Offer

08 引导

  • Bootstrap 类
  • 引导客户端和无连接协议
  • 从 Channel引导客户端
  • 在引导过程中添加多个ChannelHandler
  • 使用 Netty 的 Channel-Option 和属性
    java中间件、数据库与spring框架,4面字节跳动拿到Offer

总结:绘上一张Kakfa架构思维大纲脑图(xmind)

image

其实关于Kafka,能问的问题实在是太多了,扒了几天,最终筛选出44问:基础篇17问、进阶篇15问、高级篇12问,个个直戳痛点,不知道如果你不着急看答案,又能答出几个呢?

若是对Kafka的知识还回忆不起来,不妨先看我手绘的知识总结脑图(xmind不能上传,文章里用的是图片版)进行整体架构的梳理

梳理了知识,刷完了面试,如若你还想进一步的深入学习解读kafka以及源码,那么接下来的这份《手写“kafka”》将会是个不错的选择。

  • Kafka入门

  • 为什么选择Kafka

  • Kafka的安装、管理和配置

  • Kafka的集群

  • 第一个Kafka程序

  • Kafka的生产者

  • Kafka的消费者

  • 深入理解Kafka

  • 可靠的数据传递

  • Spring和Kafka的整合

  • SpringBoot和Kafka的整合

  • Kafka实战之削峰填谷

  • 数据管道和流式处理(了解即可)

image

image

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

举报

相关推荐

0 条评论