首页 / 面经java
#

面经java

#
70614次浏览 1636人互动
此刻你想和大家分享什么
热门 最新
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.闲聊(无手撕)
点赞 评论 收藏
分享
字节生活服务后端开发日常实习一二三面经
一面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  
查看28道真题和解析
点赞 评论 收藏
分享
字节后端一面凉经
2025.4.2 下午三点开始面试,时长大约55分钟。2025.4.3 下午四点多一面挂的邮件就已经发来。本人是个菜鸡,正在为找暑期实习而努力。记录一下自己的第二场面试,也是第一个大厂面试。前面直接给我问懵了,中间有一会感觉大脑缺氧,晕晕的。面试官总体来说还行,但是我回答完问题就只是嗯,也不多说。1.自我介绍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.算法(没成功运行):单链表奇数节点递增偶数节点递减,重排后使之升序,回答一下思路。在纸上画了一下,过一会有了思路:把原链表拆分成两条链表,奇数节点链表和偶数节点链表,然后反转偶数节点链表,这时候就是合并两条有序链表。面试官让我实现一下代码写完之后,在合并代码那报空指针异常,检查了一下这个合并方法,问题不出在这,估计是前面的拆分链表的时候写错了。但是没检查出来哪里写错了。面试官说时间快到了,让我下去再看看。反问:通过这场面试,您觉得我应该往哪方面改进?面试官反问,你觉得你前面的问题哪些没答好我说了一些前面没回答好的问题面试官说要了解框架、和一些技术的底层原理,不能只会用
点赞 评论 收藏
分享
03-22 12:14
东南大学 Java
美团java后端日常实习面经
点赞 评论 收藏
分享
04-25 15:23
南开大学 Java
阿里智能信息 凉经
已经凉啦,发出来攒攒人品吧一面:基础平台研发工程师 45min【感觉挂了结果第二天没有电话通知默默发了面试邮件?】1. 自我介绍2. 项目拷打(不知道为什么会觉得这是实习问了好几次,其实后面问题都是基于项目问的)3. 负责部分4. 喜欢哪个方向的技术5. 项目难点6. 是否有压测?追问用多少个Java实例压测的(因为测的是Redis秒杀)?7. 负载均衡怎么做?(我扯了好多RedisMySQL,他说先回到前端请求第一步来考虑(懵了好久才理解他在说Spring那层),然后没想到nginx之类的中间件,直接瞎说在前端可以用hash来分发,后来被点了nginx)8. Redis自己搭的吗?怎么实现备份?怎么实现高可用?集群节点挂了咋办?哨兵模式原理?9. SpringBoot和SpringMVC区别?MVC是什么?(我只知道SpringMVC不知道MVC。。。被提示知道servlet吗,但是Spring真没了解这么深)过滤器和拦截器的区别及各自的应用场景?(强行答了几个被问还有吗,哑口无言)怎么设置Spring框架参数使单个Spring可以支撑5000个用户并发做请求?(其实我对5000个用户毫无概念,也不会设置参数)提示Spring默认线程数是多少?(还是不知道)10. Java项目跑起来之后怎么动态查看堆栈和内存具体内容?用什么工具去看?(记得有命令但是一个都没记)11. JVM方法区干啥了?解释方法区、堆、栈的概念。12. 网络socket编程有做过吗?(我说课设用C++写过)backlog是什么?(再次哑口无言)13. 平时有看开源项目或者开源代码的习惯吗?(老实回答不经常)那平时从什么地方获取技术资料?14. 了解过AI吗?了解过大模型吗?有没有试过本地跑模型调接口来测试大模型能力?(都没有救命,只学过很基础的机器学习算法)15. 自己是喜欢搞计算机的吗?(不知道是不是觉得我太菜了一点都不研究技术)16. 反问(请求提建议:搞清楚基础,比如JVM及其基本命令、socket原理、servlet;学会调优的一些东西,比如Redis高可用、负载均衡怎么做;要多了解最新技术)17. 大学在哪里?确定做开发不做算法吗?18. 看看笔试成绩,没看到,说回去结合看一下。二面 32min完全没怎么问八股啊,全在问我怎么学习。处于一个既不敢撒谎但是不撒谎就显得很垃圾的状态。1. 自我介绍2. 拷打项目:项目背景是?多少人开发?技术挑战是?瓶颈在哪里?3. Redis的学习链路?有看源码吗?你理解的Redis架构是怎样的?4. 有用别的数据库吗?MySQL存了多少数据?如果存了很多数据会有性能问题,怎么办?5. 根据用户ID取模水平分表,但要查城市ID下面的用户,怎么查?6. 那如果还要进行一个全局的排序呢?7. 后端的网络层是怎么实现的?有做过socket网络编程的程序吗?8. 自己会挖掘一些什么样的技术方向?举个例子?9. 每周花多长时间写代码?你觉得刷算法题有什么用?编程有时候也挺枯燥的,你怎么觉得?10. 未来有什么个人规划?11. 有关注过业界的一些技术方向的发展吗?对AI了解多少?现在大模型能具备这么强的一个语义理解能力是为什么?AI产品对你的学习工作有什么影响?12. 你觉得自己比较大的优势和缺点是什么?为什么你认为自己理解能力好?13. 为什么不读研?对深入研究和去工作这两个事情你的思考是怎样的?14. 为什么这么想做业务开发?这个兴趣的支撑点是什么?(因为我老是提到想做业务开发。。。)15. 反问:部门业务?加入需要提升的能力?【第三天早上看默默挂了,不知道为什么连第二志愿都消失了】
查看28道真题和解析
点赞 评论 收藏
分享
03-05 18:03
已编辑
门头沟学院 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道真题和解析 校招求职吐槽
点赞 评论 收藏
分享
搜狐畅游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分钟约二面
查看25道真题和解析
点赞 评论 收藏
分享
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 的垃圾回收策略有哪些  - 标记-清除  - 标记-整理  - 复制- 有了解过三色标记法吗手撕:- 三个线程循环按次序打印数字
点赞 评论 收藏
分享
玩命加载中
牛客网
牛客企业服务