美文网首页Java 程序员Java
字节跳动2022Java面经,你离高薪就只差一片面试题了

字节跳动2022Java面经,你离高薪就只差一片面试题了

作者: 一只程序猿哟 | 来源:发表于2022-01-19 17:29 被阅读0次

前言

经历了惨痛的春招与秋招之后,也积攒了一些面经,希望能对大家有所帮助。由于字数限制需要答案的可以关注GZH【程序员空间】 免费领取完整版PDF

其他

什什么是幂等?什什么情况下需要考虑幂等?你怎么解决幂等的问题?

Java

多个线程同时读写,读线程的数量量远远⼤大于写线程,你认为应该如何解决

并发的问题?你会选择加什什么样的锁?

JAVA的AQS是否了了解,它是⼲干嘛的?

除了了synchronized关键字之外,你是怎么来保障线程安全的?

什什么时候需要加volatile关键字?它能保证线程安全吗?

线程池内的线程如果全部忙,提交⼀一个新的任务,会发⽣生什什么?队列列全部

塞满了了之后,还是忙,再提交会发⽣生什什么?

Tomcat本身的参数你⼀一般会怎么调整?

synchronized关键字锁住的是什什么东⻄西?在字节码中是怎么表示的?在内

存中的对象上表现为什什么?

wait/notify/notifyAll⽅方法需不不需要被包含在synchronized块中?这是为什什

么?

ExecutorService你⼀一般是怎么⽤用的?是每个service放⼀一个还是⼀一个项⽬目

⾥里里⾯面放⼀一个?有什什么好处?

Spring

你有没有⽤用过Spring的AOP? 是⽤用来⼲干嘛的? ⼤大概会怎么使⽤用?

如果⼀一个接⼝口有2个不不同的实现, 那么怎么来Autowire⼀一个指定的实现?

Spring的声明式事务 @Transaction注解⼀一般写在什什么位置? 抛出了了异常

会⾃自动回滚吗?有没有办法控制不不触发回滚?

如果想在某个Bean⽣生成并装配完毕后执⾏行行⾃自⼰己的逻辑,可以什什么⽅方式实

现?

SpringBoot没有放到web容器器⾥里里为什什么能跑HTTP服务?

SpringBoot中如果你想使⽤用⾃自定义的配置⽂文件⽽而不不仅仅是

application.properties,应该怎么弄弄?

SpringMVC中RequestMapping可以指定GET, POST⽅方法么?怎么指定?

SpringMVC如果希望把输出的Object(例例如XXResult或者XXResponse)这

种包装为JSON输出, 应该怎么处理理?

怎样拦截SpringMVC的异常,然后做⾃自定义的处理理,⽐比如打⽇日志或者包装

成JSON

MySQL

如果有很多数据插⼊入MYSQL 你会选择什什么⽅方式?

如果查询很慢,你会想到的第⼀一个⽅方式是什什么?索引是⼲干嘛的?

如果建了了⼀一个单列列索引,查询的时候查出2列列,会⽤用到这个单列列索引吗?

如果建了了⼀一个包含多个列列的索引,查询的时候只⽤用了了第⼀一列列,能不不能⽤用上

这个索引?查三列列呢?

接上题,如果where条件后⾯面带有⼀一个 i + 5 < 100 会使⽤用到这个索引吗?

怎么看是否⽤用到了了某个索引?

like %aaa%会使⽤用索引吗? like aaa%呢?

drop、 truncate、 delete的区别?

平时你们是怎么监控数据库的? 慢SQL是怎么排查的?

你们数据库是否⽀支持emoji表情,如果不不⽀支持,如何操作?

你们的数据库单表数据量量是多少?⼀一般多⼤大的时候开始出现查询性能急

剧下降?

查询死掉了了,想要找出执⾏行行的查询进程⽤用什什么命令?找出来之后⼀一般你

会⼲干嘛?

读写分离是怎么做的?你认为中间件会怎么来操作?这样操作跟事务有

什什么关系?

分库分表有没有做过?线上的迁移过程是怎么样的?如何确定数据是正

确的?

JVM

你知道哪些或者你们线上使⽤用什什么GC策略略? 它有什什么优势,适⽤用于什什么

场景?

JAVA类加载器器包括⼏几种?它们之间的⽗父⼦子关系是怎么样的?双亲委派机

制是什什么意思?有什什么好处?

如何⾃自定义⼀一个类加载器器?你使⽤用过哪些或者你在什什么场景下需要⼀一个⾃自

定义的类加载器器吗?

堆内存设置的参数是什什么?

Perm Space中保存什什么数据? 会引起OutOfMemory吗?

做gc时,⼀一个对象在内存各个Space中被移动的顺序是什什么?

你有没有遇到过OutOfMemory问题?你是怎么来处理理这个问题的?处理理

过程中有哪些收获?

1.8之后Perm Space有哪些变动? MetaSpace⼤大⼩小默认是⽆无限的么? 还是

你们会通过什什么⽅方式来指定⼤大⼩小?

Jstack是⼲干什什么的? Jstat呢? 如果线上程序周期性地出现卡顿,你怀疑可

能是gc导致的,你会怎么来排查这个问题?线程⽇日志⼀一般你会看其中的什什么

部分?

StackOverFlow异常有没有遇到过?⼀一般你猜测会在什什么情况下被触

发?如何指定⼀一个线程的堆栈⼤大⼩小?⼀一般你们写多少?

Linux命令

0. 添加Java学习: 1037935907

⽇日志特别⼤大只想看最后100⾏行行怎么弄弄? 如果想⼀一直看⽇日志的持续输出,⽤用

什什么命令?

如果⽇日志⼀一边输出,⼀一边想实时看到有没有某个关键字应该怎么弄弄?

grep如果忽略略⼤大⼩小写应该怎么弄弄? 正则表达式呢?

vim往下⼀一⾏行行是什什么键?往下30⾏行行呢? 跳到⽂文件末尾⼀一⾏行行是什什么? 跳回来

是什什么? 向后搜索是什什么?

如果有个⽂文本⽂文件,按空格作为列列的分隔符,如果想统计第三列列⾥里里⾯面的每

个单词的出现次数应该怎么弄弄?

如果把上⾯面的出现次数排个序应该怎么弄弄? 想按照数字本身的顺序⽽而不不是

字符串串的顺序排列列怎么弄弄?

Linux环境变量量是以什什么作为分隔符的?环境变量量通过什什么命令设置?

给某个⽂文件权设置限⽐比如设置为644 是⽤用什什么命令?这个6是什什么意思?

Linux下⾯面如果想看某个进程的资源占⽤用情况是怎么看的?系统load⼤大概

指的什什么意思?你们线上系统load⼀一般多少?如果⼀一个4核机器器,你认为多

少load是⽐比较正常的? top命令⾥里里⾯面按⼀一下1会发⽣生什什么?

top命令⾥里里⾯面,有时候所有进程的CPU使⽤用率加起来超过100%是怎么回

事?

还有哪些查看系统性能或者供你发现问题的命令?你⼀一般是看哪个参

数?

想看某个进程打开了了哪些⽹网络连接是什什么命令?⾥里里⾯面连接的状态你⽐比较

关⼼心哪⼏几种?

-- 偏题

有没有做过Linux系统参数⽅方⾯面的优化,⼤大概优化过什什么?

系统参数⾥里里⾯面有个叫做backlog的可以⽤用来⼲干什什么?

查看⽹网络连接发现好多TIME_WAIT 可能是什什么原因?对你的应⽤用会有什什

么影响?你会选择什什么样的⽅方式来减少这些TIME_WAIT

可否介绍⼀一下TCP三次握⼿手的过程,如果现在有个⽹网络程序,你⽤用第三⽅方

的library来发送数据,你怀疑这个library发送的数据有问题,那么怎么来验

证? tcpdump导出的⽂文件你⼀一般是怎么分析的?

KeepAlive是⽤用来⼲干什什么的?这样的好处是什什么?

Redis

-- 开发

缓存穿透可以介绍⼀一下么?你认为应该如何解决这个问题

你是怎么触发缓存更更新的? (⽐比如设置超时时间(被动⽅方式), ⽐比如更更新的时

候主动update)?如果是被动的⽅方式如何控制多个⼊入⼝口同时触发某个缓存更更

新?

你们⽤用Redis来做什什么?为什什么不不⽤用其他的KV存储例例如Memcached,

Cassandra等?

你们⽤用什什么Redis客户端? Redis⾼高性能的原因⼤大概可以讲⼀一些?

你熟悉哪些Redis的数据结构? zset是⼲干什什么的? 和set有什什么区别?

Redis的hash, 存储和获取的具体命令叫什什么名字?

LPOP和BLPOP的区别?

Redis的有⼀一些包含SCAN关键字的命令是⼲干嘛的? SCAN返回的数据量量是

固定的吗?

Redis中的Lua有没有使⽤用过? 可以⽤用来做什什么? 为什什么可以这么⽤用?

Redis的Pipeline是⽤用来⼲干什什么的?

-- 运维

Redis持久化⼤大概有⼏几种⽅方式? aof和rdb的区别是什什么? AOF有什什么优缺

点吗?

Redis Replication的⼤大致流程是什什么? bgsave这个命令的执⾏行行过程?

-- 偏题

如果有很多 KV数据要存储到Redis, 但是内存不不⾜足, 通过什什么⽅方式可以缩

减内存? 为什什么这样可以缩⼩小内存?

Redis中List, HashTable都⽤用到了了ZipList, 为什什么会选择它?

监控、稳定性

业务⽇日志是通过什什么⽅方式来收集的?

线上机器器如何监控?采⽤用什什么开源产品或者⾃自研的产品?它是分钟级的还

是秒级的?

如果让你来想办法收集⼀一个JAVA后端应⽤用的性能数据,你会在意哪些⽅方

⾯面? 你会选择什什么样的⼯工具、思路路来收集?

⼀一般你调⽤用第三⽅方的时候会不不会监控调⽤用情况?

相关文章

  • 字节跳动2022Java面经,你离高薪就只差一片面试题了

    前言 经历了惨痛的春招与秋招之后,也积攒了一些面经,希望能对大家有所帮助。由于字数限制需要答案的可以关注GZH【程...

  • Java程序员面完字节面小米,字节凉凉后没想到拿到小米高薪off

    前段时间去面试了字节跳动,也是三面,面完以后就没有音讯了。估计也是凉凉了,想看我字节跳动面经的可以看看这篇文章: ...

  • 字节跳动算法实习面试

    两面字节跳动+openday面试经 达达 二面题目(部门技术面): 1、你知道这边是什么情况?之前面试官有跟你提起...

  • 面试——Java字节面经(已获Offer)

    前言 要么字节跳动,要么心脏跳动,你选哪个?哈哈哈,为大家准备的字节三面面经,后面有总结面试经验,以及相关面试技巧...

  • 字节跳动面试题

    字节跳动面试题 历经4面,“跳进”字节跳动 字节跳动一面: 自我介绍 tcp和udp区别,应用场景 tcp三次握手...

  • 字节跳动面经

    只能自己给自己鼓励,不能总是按别人说的去做。有时,你甚至连为什么要这样做都分不清楚,任何的责任都可以让人振奋。但是...

  • 字节跳动--面经

    http和https的区别 https协议需要到CA(Certificate Authority,证书颁发机构)申...

  • 字节跳动安卓面经

    前两天面试了字节跳动安卓开发的实习生,给大家分享一下面经。字节跳动好像都是一下子把三面都面完,所以要好好准备一下,...

  • 字节跳动--面经2

    TCP和UDP的区别、特点 TCP的主要特点是:面向连接。每一条TCP连接只能是点对点的(一对一)。提供可靠交付的...

  • 字节跳动--面经3

    设计用例的方法、依据有哪些 白盒测试白盒测试用例设计有如下方法:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件...

网友评论

    本文标题:字节跳动2022Java面经,你离高薪就只差一片面试题了

    本文链接:https://www.haomeiwen.com/subject/ainrhrtx.html