首页 / 面经java
#

面经java

#
53332次浏览 1348人互动
此刻你想和大家分享什么
热门 最新
03-29 22:01
中南大学 Java
后端开发暑期实习美团一二面
## 3.25美团一面1. 自我介绍2. redis的使用场景,以及为什么使用redis?3. Zset的底层结构是什么?4. 为什么Zset要使用两种结构来实现?5. jemeter压测比较关注什么数据?6. 高并发场景的稳定性你是怎么理解的?7. 介绍一下秒杀的流程?8. 如果出现库存扣减成功但是异步调用失败了怎么办?9. 还是库存扣减成功了,但是调用mq的rpc接口失败了,怎么办?(我回答的是事务,回滚)10.承接上问,如果因为上述的问题,库存扣减了,mq没有接收到消息,导致库存不一致怎么办?11.redis的k,v结构是怎么设计的?12.怎么保证redis的数据不会丢失?13.主从集群有延迟,主节点刚存进去数据,还没同步就挂了,这时从节点没有数据, 那怎么办?14.mysql,订单表怎么设计的?15.如果活动很火爆,有100万QPS的访问量,只持续一分钟,或者5分钟的话,只有一个节点的话根本扛不住,怎么处理?16.场景题:大公司里给员工发工资,十分种以内发十万个人的工资。有一个表存的是公司的账户,里面存的金额。另一个表是员工表,记录的员工的信息。怎么处理?17.算法:删除链表倒数第N个节点(核心代码模式)## 3.26美团二面1.自我介绍2.聊以前的经历(高考,考研)3.项目中,你写了个异步处理和加redis缓存将相应时间降低50%,怎么个处理方式,以及是什么业务场景?4.什么样的场景使用消息对立比较合适?或者哪些任务你需要用消息队列去异步处理,你是怎么划分的?5.redis的哪些原理和特性,导致它是个高性能缓存工具?6.介绍自己研究生期间的成果,这个成果的想法怎么产生的,为什么业界的大公司都没想打你能想到。7.本地缓存和分布式缓存的区别,以及使用场景?8.radis的数据一致性相对于本地缓存比较好,是怎么保证?9.怎么保证redis和数据库的数据一致性?(先更新数据库再删除缓存)10.那为什么不先改数据库数据再去更新缓存呢?11.mq在什么场景下使用?12.设计分布式锁怎么去考量,比如key,value的设计,怎么避免死锁?13.rpc从发起到接收,用哪些协议,有哪些阶段哪些流程?14.讲一下高并发架构的设计15.对ai的理解16.闲聊(无手撕)#牛客AI配图神器##面经java##美团约面#
点赞 评论 收藏
分享
字节后端一面凉经
2025.4.2 下午三点开始面试,时长大约55分钟。2025.4.3 下午四点多一面挂的邮件就已经发来。本人是个菜鸡,正在为找暑期实习而努力。记录一下自己的第二场面试,也是第一个大厂面试。前面直接给我问懵了,中间有一会感觉大脑缺氧,晕晕的。面试官总体来说还行,但是我回答完问题就只是嗯,也不多说。1.自我介绍#牛客AI配图神器#2.首先问了项目是练习项目吗?回答:是学习练手项目;又问:从头开始做的吗?回答:从头开始做的。3.项目为什么选择微服务,是怎么拆分的回答:(这块没准备)只说了微服务后期好扩展,且不同微服务之间解耦。(这时候脑子已经乱了)具体如何拆分微服务的,我回答的是微服务分为对外接口层api、应用层、领域业务层、基础设施层、调用别的微服务接口的rpc层。这真是给后面埋了大雷。4.项目开发过程中的难点和亮点巴拉巴拉乱说一通,但是没忘记说项目的亮点,说了好几个项目的亮点,可能面试官不兴趣,后面就问了我说的在项目中用到了一些设计模式的亮点....5.如何和其他服务交互回答了api层封装接口、rpc层调用其他服务6.RPC基于什么实现回答:rpc是微服务中的其中一层,如果要调用其他服务的,经过 nacos 注册中心借助 Feign 可以实现调用别的微服务中的接口。。7.追问了 Feign 如何实现的回答:把项目中一个微服务调用另一个微服务的实现说了下追问:底层如何实现的回答:网络协议和数据序列化(没看过这个,随便说了俩)8.feign的协议和序列化是用的什么?直接抱歉,不会9.项目部署了吗?回答:在自己实验室电脑上的linux环境接著jenkins自动部署,只能内网访问。把jenkins部署流程简单说了一下10.你提到项目中用到了设计模式,具体如何实现的?把项目中用到的的工厂-策略模式、适配器模式都说了项目阶段回答的太烂了,就开始问八股了。11.java的哈希结构有哪些?回答:hashmap、concurrentHashMap、linkedhashmap、hashtable(直说了这些,其他的回答不上来了)12.hashmap的底层,红黑树查询和插入效率回答:基于数组、链表/红黑树实现,还说了链表转红黑树的时机;面试完回想当时好像说的是O(n),脑子想的是O(logn),说成了O(n)13.hashmap和hashtable的区别回答:hashmap不是线程安全的、hashtable是线程安全的14.hashtable线程安全怎么实现回答:使用synchronized实现15.ConcurrentHashMap实现线程安全?回答:回答了 jdk1.7和1.8分别怎么实现的16.乐观锁与悲观锁,分别的应用场景回答:乐观锁和悲观锁回答出来了,但是应用场景说反了17.synchronized和lock区别回答:说了synchronized基于jvm的监视器锁机制,巴拉巴拉;而reentrantlock使用lock显示的获取锁。18.lock和unlock底层怎么实现回答:只记得判断state的状态来获取和释放锁,具体如何不知道19.JVM的GC算法回答:最开始回答了垃圾回收器,过一会才反应过来,20.什么情况下触发GC回答:说主要是因为内存不足,然后System.gc()方法,其他的不记得了21.讲讲spring的IOC回答:控制反转,把bean交给spring管理,解耦,方便维护和测试。依赖DI实现22.依赖注入怎么实现回答:静态、实力工厂、构造器、setter方法。(注解注入忘记了,没有说)23.Spring事务注解@Transaction的底层实现回答:只说了使用AOP和事务拦截器,替代传统的编程式事务(其他的不知道了,直接抱歉)24.mysql的默认隔离级别回答:read-committed,读已提交25.read-committed是什么意思回答:回答成了一个线程只能读取其他线程已提交的数据(哎,事务说成线程了)26.其他的隔离级别以及解决了什么问题回答:回答了其他的几个隔离级别对应解决的问题27.如何实现可重复读回答:这个忘记了,随便说了一个MVCC28.MVCC如何实现回答:版本号,读取数据快照29.算法(没成功运行):单链表奇数节点递增偶数节点递减,重排后使之升序,回答一下思路。在纸上画了一下,过一会有了思路:把原链表拆分成两条链表,奇数节点链表和偶数节点链表,然后反转偶数节点链表,这时候就是合并两条有序链表。面试官让我实现一下代码写完之后,在合并代码那报空指针异常,检查了一下这个合并方法,问题不出在这,估计是前面的拆分链表的时候写错了。但是没检查出来哪里写错了。面试官说时间快到了,让我下去再看看。反问:通过这场面试,您觉得我应该往哪方面改进?面试官反问,你觉得你前面的问题哪些没答好我说了一些前面没回答好的问题面试官说要了解框架、和一些技术的底层原理,不能只会用#面经java#
点赞 评论 收藏
分享
字节生活服务后端开发日常实习一二三面经
一面50min(15min项目 + 20min做算法 + 15八股)做一下自我介绍之前有实习经历吗介绍一下项目(拷打15min)主要集中在redis、分库分表由于我介绍项目的时候说了我用的JDK17,所以问了我一个JDK17有什么新特性(所以千万别给自己挖坑)你了解JDK17的垃圾回收策略吗?(简要回答:默认使用G1收集器,JDK17对ZGC做了一些修改)简历上写了了解zookeeper,问了一下zookeeper是什么,有了解过他的分布式协议吗?算法题    题目:给定一个数n如23121;给定一组数字a如[2 4 9],求由a中元素组成的小于n的最大数(做了十分钟没做出来要求换题)    题目:输入两颗二叉树,判断B是否是A的子结构约定空树不是任意树的子结构(eazy题)刚才做的题的算法复杂度是多少(最坏情况O(M*N))TCP粘包拆包(说了粘包原因,然后说了拆包如何拆)反问    部门做什么的    面试官最看重被面试者的什么品质二面自我介绍你说你喜欢字节的文化,你知道字节的文化是什么吗?说一下你对redis的理解(打断)你知道zset的底层原理吗(答跳表)跳表里面存的什么?zset插入、删除的是如何实现的?排序是如何实现的?(不知道)说一下MySQL事务的原子性是如何保障的(redo log  undo log)MySQL最多可以存多少数据?(答推荐2000W)为什么是2000W而不是2亿?(不知道)我看你也搞了个web项目,想问一下扫码登录如何实现的?(答后端服务器生成一个带有token的链接,然后转化为二维码,用户扫码之后会向服务器发送一个请求,后台服务器验证之后返回数据给前端,二维码状态变化为已扫描)大模型了解多少?(答了大模型训练的过程数据采集、数据清洗、数据标注、一些模型)如何统计的网站的UV和DAU?(答的set,但其实应该用hyperloglog)你最近有遇到什么全新的事情或者特别有挑战的事情,然后你用了一些不常见的解法解决了这个问题(讲了一下自己用C#写unity游戏小插件的故事)算法:三数之和去重;最长公共子序列;讲一下DP的思路DP相较于传统的方法有什么好处三数之和不去重了该怎么改?(删除判断重复的那段代码就行了)反问    base在哪儿三面浏览器输入地址到页面展示的过程TCP和UDP的区别arraylist和linkedlist的底层和使用场景MySQL的主从同步是如何实现的算法题:至少有 K 个重复字符的最长子串;接雨水啥时候能来实习反问:下个流程要等多久楼主HR面已经面完了,听说在牛客许愿特别有用,在这里许愿一个OC,希望可以去字节实习,也祝大家可以找到心仪的岗位update2025-2-27 许愿oc2025-2-28 许愿oc2025-3-1 许愿oc2025-3-2 许愿oc2025-3-3 许愿oc,打电话问hr说是卡在最后的大领导审批阶段2025-3-4 许愿oc2025-3-5 许愿oc,下午五点打电话告诉审批已通过,晚上10点收到了正式offer#日常# #面经java#
查看28道真题和解析
点赞 评论 收藏
分享
03-22 12:14
东南大学 Java
美团java后端日常实习面经
点赞 评论 收藏
分享
03-05 18:03
已编辑
门头沟学院 Java
字节数据平台实习一面菜鸡凉经
无实习经历,年后赶紧整了份简历乱投,被字节捞了。这是我处女面啊给我整这么大的厂。答得很差,狠狠脏面评。不过面试官态度很好也比较温柔,问的也不算难,纯纯我菜,刚看八股项目才一周多。#字节##暑期##面经java#--------2.24投递2.28发一面邀请时长50min面试官迟到了10分钟,说在开会忘记了有个面试。(我谢谢你)(看背景他找了个过道坐下就开始面了)1.自我介绍2.对手写缓存项目感兴趣,介绍了一下。问我相比其他的缓存优势在哪?(答不上来,我实力不支持我写出比guava更牛逼的缓存。)3.问实习时间,多久到岗,不上课吗?4.看你简历上写了熟悉java基础,你熟悉什么东西?(我一点也不熟悉)5.常用集合都有什么?(太紧张了,只说了hashmap)6.介绍一下hashmap实现。(答得很乱,说了底层实现查询效率扩容机制)7.为什么要用红黑树?8.都是logn复杂度为什么用红黑树不用b+树?(答不上来,说了b+树的特点,对磁盘友好,hashmap在内存不需要磁盘友好,后面编不下去了)9.他看了一下业务项目(叫美团xx),问我在美团实习过?(我只是碰瓷项目名没实习过啊,后面他一点没问这个项目,我准备了贼久)10.看你简历写了熟悉java各种锁机制,介绍一下。(对不起我再也不写熟悉某某了,说了syncronize和reentrantlock,讲的磕磕绊绊的)11.你几岁?12.写代码吧。看你简历写了手写缓存,写个带过期时间的LRUCache。(只写了核心代码,写了十几二十分钟,应该算a出来了,说了下思路)13.反问。我知道答得不好该从哪些方面加强呢?面试官说你这个问题我很难回答。(估计是被我菜的气笑了)部门做什么业务?总的来说面试官人还是很好的,也没甩脸色压力我。就是感觉问得太泛太广了我不知道从哪答起,道阻且长啊
独特的黑眼圈又在摸鱼:面试官人真好
查看13道真题和解析 校招求职吐槽
点赞 评论 收藏
分享
2024-12-30 12:07
已编辑
中南大学 Java
搜狐畅游Java转正实习一面凉经
Java抽象带篮子:狠狠背八股就完事了,可以看看我整理的八股笔记,
查看19道真题和解析
点赞 评论 收藏
分享
01-04 14:58
已编辑
东北大学 Java
高德-java&go日常-一面 8.19
面试时间24-8-19... 整理一下上次找实习的面经🤗时长80min,节奏非常快,常规八股迅速过,很多问题说出关键词就打断了,继续深入。不过最后面试官会讲解且态度好,体验很好一、基础八股(较开放,问k8s是因为开源中使用了)1. 读过什么书,有哪些习惯or工具可以让你开发变得高效2. 你对云原生怎么理解(容器化、资源调度、大数据)3. docker和k8s的关系4. k8s核心组件 (控制层、节点组件、插件)5. 你说到有ETCD,讲讲为什么是ETCD6. ETCD满足CAP定理的那些(raft --> CP)7. 讲讲CAP定理,什么叫可用性8. 其他常用中间件的CAP:kafka,redis,zookeeper9. nginx使用  a. 反向代理,负载均衡(策略,7层还是4层)  b. 服务宕机会返回什么错误码(502)  c. 默认端口(80/443)10. linux内核怎么转发请求的(❌ 面试官应该想问iptable)11. 网页请求到服务端发生了什么12. DNS多级服务器怎么工作13. TCP如何保障可靠连接  a. 三次握手四次挥手  b. 序号、重传、校验和  c. 窗口、流量控制  d. 拥塞控制14. TCP分段的细节(❌ 没复习)  a. 面向字节流,MTU150015. HTTPS原理  a. 流程,对称非对称加密  c. 非对称的公钥私钥的作用:防篡改or身份认证?  d. 私钥加密的,公钥能解吗16. jdk中熟悉哪块 -> 锁17. lock和synchronized的区别和联系18. 公平or非公平(lock通过参数设置,默认非公平)19. aqs的原理(cas改状态位)二、中间件(mysql、redis、mq三选二)20. 讲讲redis线程模型21. select、poll、epoll22. redis作者为什么这么设计  a. 为什么不用多线程  b. 那redis6为何又加了多线程  b. 单线程缺点:大key、热key ---> 单次处理时间长,阻塞其他请求  23. 讲讲mysql整体架构  a. server层有哪些功能    ⅰ. 缓存:为什么新版本删掉了    ⅱ. 优化器:原理,怎么判断最优    ⅲ. a=1 and b=2 and c>3,建索引bc。走那些(优化器换位置,走bc)  b. engine层    ⅰ. innodb结构,插入一条数据的流程(buffer pool、日志的写时机、树中的维护)    ⅱ. b+树复杂度,跳表的复杂度,为什么不用跳表(io少,易维护,支持事务。面试官补充:都是logN,但b+树的底为m,跳表的底为2)    ⅲ. 为什么索引越小,性能越好(相同页存的更多,降低树高度,io少)三、算法:三个线程轮流按顺序输出ABC 四、反问1. 岗位核心工作2. 问最快多久入职。。。面完20分钟约二面#阿里##实习##面经java#
查看25道真题和解析
点赞 评论 收藏
分享
格创东智3.12一面面经 已OC
1.实习和项目8.项目有遇到其它的一些比较困难的事情吗,没办法解决的事情有吗9.发送请求为什么用到线程池,不用线程使用线程池的主要原因在于线程复用,可以避免频繁创建和销毁线程所带来的性能开销。线程池维护一个线程队列,能够更好地管理线程的生命周期和任务调度,同时还可以控制并发数量,防止资源耗尽。10.链表和数组的区别11.面向对象的几个概念,封装、继承、多态 父类引用指向子类对象12.同步和异步的差别同步: 调用者在发出请求后需要等待任务完成才能继续执行,通常会阻塞当前线程;异步: 调用者发出请求后不等待任务结果,而是通过回调、事件或 Future 等机制在任务完成时通知调用者,从而提高系统并发性和响应速度。13.表连接,内联、外联、左联、右联的差别内连接(INNER JOIN): 返回两个表中满足连接条件的交集数据;左外连接(LEFT JOIN): 返回左表的所有记录以及右表中满足连接条件的记录,如果右表无匹配则返回 NULL;右外连接(RIGHT JOIN): 返回右表的所有记录以及左表中满足连接条件的记录,如果左表无匹配则返回 NULL;全外连接(FULL OUTER JOIN): 返回两个表中所有记录,对于没有匹配的部分用 NULL 补充(MySQL 中不直接支持,可通过 UNION 实现)。14.接触过前端吗15.设计模式了解过吗单例模式、工厂模式、观察者模式、策略模式、代理模式16.接触过微服务,消息中间件吗?Exchange和对队你了解吗FanouteExcahnge,DirectExchange,TopicExchange 17.团队合作中扮演一个怎样的角色18.特长19.倾向于南方还是北方20.未来的预期,希望从事哪一类的工作21.反问  出差是干啥   负责业务-智能智造  评价和建议#格创东智##面经java##牛客AI配图神器#
查看14道真题和解析
点赞 评论 收藏
分享
01-12 20:10
已编辑
字节跳动_研发(实习员工)
27 届 实在智能Java一面(凉经)
- 自我介绍- 有了解过JMM内存模型吗- JMM中会有并发问题吗,可以通过什么解决- JUC中的锁有哪些- JUC 并发集合有哪些- Kafka 跟 RocketMQ 的区别和各自的优势(没答好)- RocketMQ 的延时队列如何实现的(不会)- 使用MySQL时,我有两个字段是a,b,那么怎么保证一条记录这两个字段的唯一性-  在有唯一联合索引的表中,怎么实现一条记录的逻辑删除(不会)- 有一个联合索引a,b,c,如果where 条件的 a,b 会走索引吗- 如果是 b,a 会走索引吗- 那如果是 a,c 会走索引吗  - c有可能会走,而且是在 MySQL 8.0 以后- Redis中有哪些基本的数据结构- Redis 集群有几种模式  - 哨兵,主从,cluster集群- Cluster 集群与 主从 相比有什么好处- 有什么操作是主从可以的,集群不可以的(不会)- Redis的事务怎么实现的  - Multi + Watch + EXEC- Redis集群模式支持事务吗,为什么- 什么是缓存穿透,怎么解决- 水平分表怎么做的,为什么需要水平分表- 路由表用来解决什么问题,什么叫查询扩散- 延时发布是怎么做的- 定时任务是用的什么  - SpringSchedule- SpringSchedule 在分布式的场景下会有并发问题吗  - 有,可能会导致重复拉取,所以使用zset解决- JVM 的垃圾回收策略有哪些  - 标记-清除  - 标记-整理  - 复制- 有了解过三色标记法吗手撕:- 三个线程循环按次序打印数字#面经##面经java##找实习##java##27届#
点赞 评论 收藏
分享
01-12 20:09
已编辑
字节跳动_研发(实习员工)
27 届 杭州智晟未来信息科技一面(已挂)
- 学校是什么- 你的成绩能够保研,怎么不选择保研- 自我介绍- 你最熟悉的一方面的技术- 说说java的集合分为两类Collection 接口 和 Map 接口- 说说集合有哪些实现- 说说ArrayList- 说说HashMap- 那你知道ConcurrentHashMap吗- 你提到了CAS和synchronized,那什么时候使用CAS什么时候使用synchronized- 除了put流程,ConcurrentHashMap还有哪个地方使用到了CAS- 说说synchronized的锁升级过程- 那你继续说说monitor- 你知道AQS吗- AQS中等待队列中节点的状态是什么样的- ReentrantReadWriteLock的底层实现原理- 线程的状态- 什么时候线程从Runnable(可运行状态)变成Waiting(等待状态)- 事务的ACID- 你知道MySQL的日志吗- 那你说说binlog- MySQL的MVCC是什么- 怎么判断当前数据版本对当前事务是否可见- MySQL默认隔离级别是什么- MySQL并发读取和写入的时候有什么问题- RR(可重复读)有什么问题- 为什么select ... For update 能解决幻读- 你知道MySQL的锁吗- 你知道哪些Redis的底层数据结构- 说说跳表是怎样实现的- 为什么你要自己实现一个跳表而不是使用JUC包中的数据结构- 说说RocketMQ的事务消息- 使用MQ的时候怎么保证幂等性- 项目中怎么解决缓存穿透的,场景问题等等- 布隆过滤器的底层原理了解过吗- 使用水平分表的时候考虑了哪些问题- 分片算法使用的是什么- 怎么解决数据倾斜的问题- 说说雪花算法- 为什么机器数超过1024就不行- 怎么解决时钟回拨- 你平时是怎么学习Java的- 你在工作室中做了什么事情- 你期望的工作时间和薪资是多少#27届##面经##面经java##找实习##java#
点赞 评论 收藏
分享
玩命加载中
牛客网
牛客企业服务