一面

-------------------------------开场------------------------------
1、介绍自己
2、介绍项目以及自己负责的哪些模块
3、技术上有什么难点
4、内存队列的使用场景
– 1.异步 2.解决并发

-------------------------------技术------------------------------
1、并发三大性
2、什么是可见性
— 我引出了JMM
3、什么是有序性
— 我引出了指令重排序,并且说什么时候需要指令重排序,说了cpu的空间局限性每次读取的时候都是读取连续的命令
4、happens-before
5、如何保证线程安全
– 一方面加锁;另一方面无锁:比如cas、内存队列;threadlocal线程间共享(也没有追问啥是threadlocal)、sleep(这种方式不好)
6、并发不安全的本质原因,就是说什么时候多线程并发是安全的?
– 我回答:是否访问临界资源
7、synchronized可以修饰哪些地方?(我只回答了修饰代码块和方法,面试官问还有吗?)
– 链接 修饰代码块、方法、静态方法、类
8、synchronized修改静态方法和非静态方法的区别?
– 链接 就是类锁和对象锁的区别
9、hashmap是线程安全的吗?
– 回答不是
10、arraylist是线程安全的吗?
– 回答不是
11、那如何让arraylist是线程安全的
– 回答vector。又追问还有吗?回答copyonwritearraylist。
12、又追问copyonwritearraylist底层实现原理是什么?
– 不知道
13、hashmap保证线程安全类是什么?
– concurrenthashmap。追问底层实现原理,我分别为1.7和1.8说了。后续没有追问具体实现逻辑
14、hashmap什么时候线程不安全?
– 我回答1.7是因为扩容的时候出现环形链表;1.8线程不安全的地方需要补充;
15、问了如何指定MySQL走没走索引?
– explain,type类型
16、索引数据结构类型
17、b+树的优势
18、为什么不用二叉树?
– IO磁盘查询次数高,性能低
19、公司rpc的框架
– 用的http
20、追问http和rpc的区别
– 回答了:http可以跨语言,rpc只能双方都用dubbo;
追问他俩本质区别是什么? (没有回答出来)
–http是指从客户端到服务器端的请求消息,rpc是远程过程调用协议
21、系统设计有做过吗?就是一个模块从头开始设计
– 回答需要对业务足够的熟悉,才能用技术解决问题
22、公司中使用消息中间件吗?
23、kafka中有什么重要的组件,kafka的架构是什么样的?
24、kafka基于zookeeper干了什么?
– 回答kafka无状态节点,都是注册到zookeeper中的
25、kafka如何保证消息不丢失
– 1.回答了先开启生产者发送两个消息再开启消费者,这两个消息不会被消费,面试官问为什么会丢数据我回答可能是因为消费者启动的时候偏移量不是从头开发的,被面试官否认:如果实际生产中,谁先谁后开启说不准的。然后我又说有个参数可以设置从头开始消费 2.生产者的ack 3.消费者自动提交
26、公司这边的MySQL事务隔离级别是什么
27、可重复读和读已提交的本质差别在哪?为什么又读已提交还需要可重复读
– 面试官说读已提交,明明解决了并发下可见性的问题,为什么还需要添加一层可重复读?
28、让你设计一套秒杀系统,你需要从那几个方面设计?
– 1.物理机器内存 2.垃圾回收器 3.jvm参数
29、货很少,请求量有很多,那么如何保证这些货不会被超卖?比如10件货,扣减到了-2、-4;
又补充说比如100万的请求,分别给10个tomcat(集群部署),每个tomcat处理10万个请求,且10个tomcat都会访问库存。
– 分布式并发安全问题。我回答加锁。(弄了半圈,灭有直接问我分布式锁,而是让我主动想到分布式锁)
追问有哪些分布式锁?
— redis、zookeeper、MySQL实现
30、一个redis可以抗住多少QPS?
31、redis实现分布式锁的原理、命令?
— setNx。
32、秒杀系统100万的请求量,本来需要10台机器可以抗住,但是只有两台机器,那么如何抗住100万请求不让这两个机器挂掉?
— 限流。使用nginx、histy、sentinel秒杀系统
33、秒杀系统100万的请求,如何防止用户薅羊毛,就是防止一个用户通过其他软件抢了所有的商品?
— 回答记录用户id
追问还有其他方案吗?
– 不知道。秒杀系统
34、来个编程题,我说没有刷过,他就让我写个死锁吧,; 问我来京东之前没有刷过题吗,我说当时只让说思路;
问我产生死锁,会不会让主线程阻塞,我说不会,他说那如何才能让主线程阻塞呢?我使用了join。
35、如何排查死锁
– jstack。追问具体命令,回答忘了
36、问了面试官业务这块

2022年小红书最新Java面试题 - 一面相关推荐

  1. 2022史上最全java面试题题库大全800题含答案

    2022史上最全java面试题题库大全800题含答案 1. meta标签的作用是什么 2. ReenTrantLock可重入锁(和synchronized的区别)总结 3. Spring中的自动装配有 ...

  2. 阿里最新Java面试题,摘选最具代表性49题,看了答案也不过如此

    本文转载自:阿里最新Java面试题,摘选最具代表性49题,看了答案也不过如此 不想当将军的士兵不是好士兵,不想成为架构师的Java程序员不是好程序员!为什么要成为架构师,为什么要进大厂? 那年十八 母 ...

  3. 最新Java面试题及答案整理(下)

    上一篇:2019年最新Java面试题及答案整理(上) 51.类ExampleA继承Exception,类ExampleB继承ExampleA. 答: 有如下代码片断: try {throw new E ...

  4. 2019年最新Java面试题及答案整理(下)

    转载自:https://blog.csdn.net/qq_41701956/article/details/86699263 上一篇:2019年最新Java面试题及答案整理(上) 51.类Exampl ...

  5. 最新Java面试题2021年,常见面试题及答案汇总

    2021最新Java面试题[附答案解析]java面试题及答案2021,java2021最新面试题及答案汇总,2021最Java面试题新答案已经全部更新完了,有些答案是自己总结的,也有些答案是在网上搜集 ...

  6. 2017java最新面试题_2017年最新java面试题及答案

    2017年最新java面试题及答案 class B { private int radius = 10; public void draw() { System.out.println("B ...

  7. 春节跳槽最新Java面试题

    转载自 春节跳槽最新Java面试题及答案整理 1.Mybatis与Ibatis的区别 2.Http1与Http2的区别 3.SpringMVC的执行流程 4.JVM内存溢出具体指哪些内存区域?都会抛出 ...

  8. 京东疯狂月薪36k程序员最新Java面试题(常见面试题及答案汇总)

    最近金三银四火热进行中,很多跳槽的小伙伴您们的福利来了,最新java面试题和答案分享给您们,看到这篇面试题肯定对你有很多帮助,京东,阿里,字节,百度,美团面试题及答案资料. 觉得文章对你有用可以 点赞 ...

  9. 肝了一个月,整理了一万道2020年最新Java面试题,阿里offer有了

    肝了一个月的面试题终于来啦,大家开心不. 2020年最新Java面试题整理,全网最全一份,包含各个技术栈,Java基础,Java集合,多线程,Java异常,spring,spring MVC,spri ...

最新文章

  1. vector 常见方法
  2. 博世发布7款传感器新品 从汽车到消费电子
  3. Safari浏览器的智能跟踪预防工作原理
  4. win10服务器文件停止,解决win10提示“当OLE服务于对象服务器通讯时,后者已停止”的方法...
  5. boost::math::daubechies_wavelet用法的测试程序
  6. 浅析WebRtc中视频数据的接收和渲染流程
  7. 2021牛客多校4 - Rebuild Tree(树形dp)
  8. linux编译安装的好处,Linux学习—源码安装
  9. Zookeeper 终端命令
  10. 代码生成工具随笔(2) ---我的生成工具
  11. Java 中处理 Exception 的最佳实践
  12. oracle数据库通过SQL profile 绑定SQL最优执行计划(个人实践)
  13. android 广播观察者,作业三——观察者模式在Android广播机制上的应用
  14. MFC程序打包为安装文件方法
  15. linux系统怎样挂载虚拟盘,linux 应用盘(从盘)挂载方法linux操作系统 -电脑资料...
  16. html js 跳出框架,现在的web框架为什么把html和js又结合在一起了?
  17. python_(1)_向量运算
  18. 配置访问路径自定义的swagger接口说明文档api
  19. 新来的妹纸 rm -rf 把公司整个数据库删没了!!!
  20. 微信酒店小程序运营解决方案

热门文章

  1. paddlehub人像抠图+PIL图像处理
  2. 《如何高效学习》【加】斯科特·扬 著 读书笔记
  3. 10款超好用的Python开发工具
  4. VINS-Mono之IMU预积分,预积分误差、协方差及误差对状态量雅克比矩阵的递推方程的推导
  5. 《C++程序设计原理与实践》笔记 第15章 绘制函数图和数据图
  6. 应用型本科优秀毕业生天花板
  7. scrollView 的dragging、decelerating、tracking属性
  8. java model.put_java-Restful PUT方法的ModelAttribute未填充值(JSO...
  9. Up or Down? Adaptive Rounding for Post-Training Quantization(记录)
  10. 图像处理matlab基础操作