详解Kafka生产者和消费者的工作原理!保准看明白!

蚂蚁金服

一面

算法题,给了长度为N的有重复元素的数组,要求输出第10大的数。

需要在2小时内完成。

二面

自我介绍

目前在部门做什么,业务简单介绍下,内部有哪些系统,作用和交互过程说下

Dubbo踩过哪些坑,怎么解决的?

对线程安全的理解

乐观锁和悲观锁的区别?

这两种锁在Java和MySQL分别是怎么实现的?

事务有哪些特性?

怎么理解原子性?

HashMap为什么不是线程安全的?

怎么让HashMap变得线程安全?

jdk1.8对ConcurrentHashMap做了哪些优化?

redis主从机制了解么?怎么实现的?

有过GC调优的经历么?

有什么想问的

三面

自我介绍

接下来就是全部问的项目,对自己的项目细节逐个盘问,最后问了下如何改进方案

有什么想问我么?

四面

介绍下自己

问项目

说说Spring的生命周期吧

说说GC的过程

强制young gc会有什么问题?

知道G1么?

回收过程是怎么样的?

你提到的Remember Set底层是怎么实现的?

CMS GC有什么问题?

怎么避免产生浮动垃圾?

有什么想问的么?

五面

HRBP面,主要聊了部门在做的事情、职业发展、福利待遇等。阿里面试官有一票否决权,很看重你的价值观是否match。

HR面一定要诚实,不要说谎,只要你说谎HR都会去证实。

最后HR还对我说目前稳定性保障部挺缺人的,希望我尽快回复。

小结

蚂蚁面试比较重视基础,所以Java那些基本功一定要扎实。

拼多多

一面

聊项目

Java中的HashMap、TreeMap解释下?

TreeMap查询写入的时间复杂度多少?

ConcurrentHashMap怎么实现线程安全的?

HashMap多线程有什么问题?怎么解决?

CAS和synchronize有什么区别?都用synchronize不行么?

get需要加锁么,为什么?

volatile的作用是什么?

给我一张纸,画了一个九方格,都填了数字,给一个MN矩阵,从1开始逆时针打印这MN个数,要求时间复杂度尽可能低,可以先说下思路

有什么想问我的?

二面

自我介绍下

手上还有其他offer么?

部门组织结构是怎样的?

系统有哪些模块,每个模块用了哪些技术,数据怎么流转的?给了我一张纸,我在上面简单画了下系统之间的流转情况

链路追踪的信息是怎么传递的?

SpanId怎么保证唯一性?

RpcContext是在什么维度传递的?

Dubbo的远程调用怎么实现的?

Spring的单例是怎么实现的?

为什么要单独实现一个服务治理框架?

谁主导的?内部还在使用么?

逆向有想过怎么做成通用么?

有什么想问的

HR面

主要问了些职业发展、是否有其他offer、以及入职意向等问题,顺便说了下公司的福利待遇等,手上有其他offer或者大厂经历会有一定加分。

字节跳动

一面

自我介绍

聊项目

Redis熟悉么,了解哪些数据结构? zset底层怎么实现的?

红黑树了解么,时间复杂度?

既然两个数据结构时间复杂度都是O(logN),zset为什么不用红黑树

线程池的线程数怎么确定?

如果是IO操作为主怎么确定?

如果计算型操作又怎么确定?

跳表的查询过程是怎么样的,查询和插入的时间复杂度?

说下Dubbo的原理?

CAS了解么?还了解其他同步机制么?

做题:数组A,2*n个元素,n个奇数、n个偶数,设计一个算法,使得数组奇数下标位置放置的都是奇数,偶数下标位置放置的都是偶数。先说下你的思路

你有什么想问我的?

二面

自我介绍

问项目

分布式追踪的上下文是怎么存储和传递的?

SpringMVC不同用户登录的信息怎么保证线程安全的?

我们聊聊mysql吧,说下索引结构,为什么使用B+树?

Dubbo的RpcContext是怎么传递的?主线程的ThreadLocal怎么传递到线程池?你说的内存泄漏具体是怎么产生的?

线程池的线程是不是必须手动remove才可以回收value?那你说的内存泄漏是指主线程还是线程池?

什么是索引覆盖?

Java为什么要设计双亲委派模型?

什么时候需要自定义类加载器?

做题:手写一个对象池

有什么想问我的

小结

头条的面试确实很专业,而且面试官最后给我了一点建议,就是研究技术的时候一定要结合技术的背景。

面试官都有一个特点,会抓住一个值得深入的点或者你没说清楚的点深入下去直到你把这个点讲清楚,不然面试官会觉得你并没有真正理解。

最后

小编在这里分享些我自己平时的学习资料,由于篇幅限制,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!有需要的程序猿(媛)可以关注+点赞,点击这里免费获取

程序员代码面试指南 IT名企算法与数据结构题目最优解

这是” 本程序员面试宝典!书中对IT名企代码面试各类题目的最优解进行了总结,并提供了相关代码实现。针对当前程序员面试缺乏权威题目汇总这一-痛点, 本书选取将近200道真实出现过的经典代码面试题,帮助广“大程序员的面试准备做到万无一失。 “刷”完本书后,你就是“题王”!

image.png

《TCP-IP协议组(第4版)》

本书是介绍TCP/IP协议族的经典图书的最新版本。本书自第1版出版以来,就广受读者欢迎。

本书最新版进行」护元,以体境计算机网络技不的最新发展,全书古有七大部分共30草和7个附录:第一部分介绍一些基本概念和基础底层技术:第二部分介绍网络层协议:第三部分介绍运输层协议;第四部分介绍应用层协议:第五部分介绍下一代协议,即IPv6协议:第六部分介绍网络安全问题:第七部分给出了7个附录。

image.png

Java开发手册(嵩山版)

这个不用多说了,阿里的开发手册,每次更新我都会看,这是8月初最新更新的**(嵩山版)**

image.png

MySQL 8从入门到精通

本书主要内容包括MySQL的安装与配置、数据库的创建、数据表的创建、数据类型和运算符、MySQL 函数、查询数据、数据表的操作(插入、更新与删除数据)、索引、存储过程和函数、视图、触发器、用户管理、数据备份与还原、MySQL 日志、性能优化、MySQL Repl ication、MySQL Workbench、 MySQL Utilities、 MySQL Proxy、PHP操作MySQL数据库和PDO数据库抽象类库等。最后通过3个综合案例的数据库设计,进步讲述 MySQL在实际工作中的应用。

image.png

Spring5高级编程(第5版)

本书涵盖Spring 5的所有内容,如果想要充分利用这一领先的企业级 Java应用程序开发框架的强大功能,本书是最全面的Spring参考和实用指南。

本书第5版涵盖核心的Spring及其与其他领先的Java技术(比如Hibemate JPA 2.Tls、Thymeleaf和WebSocket)的集成。本书的重点是介绍如何使用Java配置类、lambda 表达式、Spring Boot以及反应式编程。同时,将与企业级应用程序开发人员分享一些见解和实际经验,包括远程处理、事务、Web 和表示层,等等。

image.png

JAVA核心知识点+1000道 互联网Java工程师面试题

image.png

image.png

企业IT架构转型之道 阿里巴巴中台战略思想与架构实战

本书讲述了阿里巴巴的技术发展史,同时也是-部互联网技 术架构的实践与发展史。

层,等等。

[外链图片转存中…(img-yCy7Omq2-1626716825917)]

JAVA核心知识点+1000道 互联网Java工程师面试题

[外链图片转存中…(img-UX37xFz4-1626716825919)]

[外链图片转存中…(img-Gqbz43mx-1626716825919)]

企业IT架构转型之道 阿里巴巴中台战略思想与架构实战

本书讲述了阿里巴巴的技术发展史,同时也是-部互联网技 术架构的实践与发展史。

image.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值