avatar-decorate
萌萌的袖子 level
获赞
193
粉丝
36
关注
24
看过 TA
1519
电子科技大学
2025
Java
IP属地:四川
暂未填写个人简介
私信
关注
0 点赞 评论 收藏
分享
0 点赞 评论 收藏
分享
0 点赞 评论 收藏
分享
询问实习,工作亮点。签名和加密区别加密一般是怎么做的?rpc的通信超时如何解决?https工作流程,非对称加密使用的算法,ca证书。喜欢做java工程还是数据开发?1.聊java内存模型JMM解决了什么问题?线程不安全从操作系统层面怎么导致的?happens-before规则有哪些?解决的什么问题?那volatile的happens-before规则是什么?volatile可见性怎么保证的?-从操作系统和读写屏障分析volatile有原子性吗?64位和32位机器在多线程下需要注意什么?synchronized相比volatile区别?原子性怎么保证的?synchronized的可见性如何保证?-happens-before**锁定规则和monitor指令**juc下的Lock相比于synchronized区别?是如何保证可见性的?说一下AQS?公平锁和非公平锁实现?AQS框架下的读写锁具体怎么实现的?如何去确定读锁写锁状态?读写,写写互斥和读读共享是怎么实现的?为什么有了synchronized,还需要Lock?Lock有哪些api是synchronized不能做到的?还有什么可以保证线程安全的方案?2.线程池默认创建的线程池,阻塞队列是无界有界?线程池线程越多效率越高吗?边界在哪?如何选择线程池参数?阻塞队列怎么实现的?3.其他八股单例模式,局部变量是线程安全的吗?存放在哪?对象可以放在栈帧吗,为什么?bean对象线程安全吗lambda表达式了解吗最后问了下数据库索引数据结构结束。#八股##面试##软件开发2024笔面经##面经#
查看27道真题和解析 软件开发2024笔面经
0 点赞 评论 收藏
分享
头像
04-29 15:54
已编辑
电子科技大学 Java
#软件开发2024笔面经# 这次只问了第一个java项目,先介绍有无难点,然后问了某块设计的流程,问库存秒杀流程,然后就问到了redis。聊到高可用性重点说了为什么不用红锁。后面问回订单id,场景题:问如何分库分表怎么保证订单id唯一性?雪花算法。追问:不用雪花算法的话如何保证不同表的订单id有序性。答:redis存一个变量。追问:那么每次操作db都要读这个值,有更好的方法吗?项目40分钟后左右进入八股 模式基本是问你了解过吗 然后看心情挖细节:深拷贝 浅拷贝 0拷贝(讲了mmp+write和sendfile 本质优化IO)集合:List线程安全用啥?忘了提示了cowlist 然后我说了cow原理。hashmap 1.7 1.8 头插尾插 死循环 数据覆盖 浅聊了下红黑树和AVL 树化退化 线程安全用ConcurrentHashMapredis:缓存3大问题我结合项目分析的,然后雪崩问题提到nginx限流被问了限流算法(桶漏),再问了有无其他算法(固定窗口,滑窗,令牌)让重点分析下令牌。多线程:线程创建具体细节 可重入锁 不可重入导致的问题 悲观锁乐观锁 乐观锁问题ABA和资源问题 数据库实现乐观锁(版本号)ThreadLocal和内存泄漏 jvm:垃圾回收算法 可达性和计数 记数缺点说了可能删不掉垃圾的情况(忘了具体的 提示循环依赖(面试官真的有耐心很)) 分代收集算法各自优缺点 fullgc时机 聊下cms g1(g1直接说没了解过 1.8不常用)mysql 索引如何存放?慢sql查询?最左前缀?场景:如果我要查询10w到10w零10条记录,如何优化?3道算法题 大概15分钟。1.用栈实现队列2.前序中序重建二叉树3.只使用rand(7)如何实现rand(10)?要求最少次数和算期望。(最开始方法不是最优解 面试官又提供了思路 真的nice 但是这种题我确实见的少)问的挺多的,中间还有些忘了。#面试# #面经#
查看23道真题和解析 软件开发2024笔面经 Java求职圈
0 点赞 评论 收藏
分享
前一个半小时:3个项目 + 少量java八股 后40分钟手撕两道项目相关:    主要是问项目流程+深挖细节+衍生场景 选取部分比较有意义的场景:        1.问:我看你做了登录验权,怎么做的?安全性怎么考虑?        回答:jwt 并比较session+cookie 防csrf 做跨域共享        问:如果是扫码登录,怎么流程是怎样的?我只分析出移动端可以扫码在后台认证,但是PC端如何获取认证后的凭据呢?面试官后面说轮询。下来研究了一下可以轮询长轮询或者sse(单向就够用了),移动扫码后台认证二维码,凭据推到pc。(场景题一紧张遇到没见过的还是比较难一瞬间有思路)        2.问:并发下mq重复消费问题?会推到重复推到mq吗?        回答:首先要知道mq本身是不处理重复消费的,必须要在业务做处理。        先分析mq自己重复消费问题:broker网络波动 生产者重发;业务逻辑走完消费者挂了,认为没有消费成功。我这里使用的是类似消息表的方式做幂等,记录发货状态        问:如果同时在消费怎么办?会出问题吗?        回答:发货流程更新发货状态和发货是在一个事务,如果尝试更新发货状态就会上行锁(虽然不走覆盖索引但是可以走订单号的唯一索引,不会升级表锁)。那么其他事务尝试修改会被阻塞。不会出现问题        问:如果你的发货状态的表和用户账户的表不是一个数据库,怎么保证呢?        分库没学过啊,说了个分布式事务,面试官说性能比较低。后来有大佬提供思路使用redis来记录消息,这样就只会操作一个表,不过引入redis会存在数据一致性问题,这个有佬清楚可以分析一下。      项目细节:做这个项目对功能是怎么区分的?如何构建模型的?讲一下你的项目每一层是干嘛的?贫血模型和充血模型区别?你的实体对象的字段如何确定的?和数据库的PO对象有什么联系?你的模板模式怎么用的?支付宝沙箱怎么用的?支付失败如何做补偿?如何保证抽奖的公平性?项目上线了吗,你的docker部署怎么做的,环境部署?讲下你用nginx做的反向代理和负载均衡?负载均衡的算法?讲一下你项目用的SVM,怎么部署在服务器的?你的实习项目的意义,为什么要做这个项目?    java八股:聊下jmm,垃圾回收,四种引用,线程池
0 点赞 评论 收藏
分享
关注他的用户也关注了:
牛客网
牛客企业服务