招银网络后端Java一面

#软件开发笔面经#
7/25 投递 8/9 一面 35min 无算法题
聊项目 15min

1、项目中的用户权限控制、鉴权怎么实现的?
用户单点登录、JWT等相关内容
2、分布式系统中怎么解决分布式数据库的内容同步,事务管理?

3、项目中用到了Redis,Redis在项目中是怎么部署的?会有什么问题?
答了一下缓存击穿、穿透、雪崩

4、单机缓存和分布式缓存有什么区别

5、什么数据存在缓存中,数据更新时怎么处理?
热点数据、先删缓存更新数据库,然后更新缓存

6、SpringBoot的事务管理知道吗,用的什么注解,参数怎么写
@Transaction 相关 传播行为、隔离级别、回滚规则
    6.1 什么情况下@Transaction注解会失效?
        只能应用于 public 方法,因为AOP值代理public方法;自调用;代理对象未生效

7、Exception 和 Error的区别
    Exception属于可以处理的异常,Error属于无法处理的错误
    Checked Exception(受检异常):在编译时会被强制检查,必须要在方法中处理,或者在方法签名中声明通过 throws 关键字抛出。
    Unchecked Exception(非受检异常):在编译时不会被强制检查,可以不处理。
    Error 是 JVM 本身的错误或资源耗尽引发的错误,通常表示程序之外的问题,如硬件故障或 JVM 本身的限制。

8. Java并发包了解吗
    8.1 ThreadLocal 什么原理,怎么用的,会存在什么问题
    
    8.2 Synchronized 怎么用,什么原理,怎么锁住对象的
        Synchronized 的底层实现是基于对象头的锁标志位和锁对象的监视器锁(Monitor)机制

    8.3 线程池怎么用的,线程池的参数
        8.3.1 线程池的核心线程数量,最大线程数之间的设置关系
            
9. 用的什么数据库,MySQL的InnoDB引擎聊一下
    9.1 MyISAM 和 InnoDB的区别
    9.2 索引什么数据结构?聚簇索引和非聚簇索引区别?
        B+树,主键索引和辅助索引(二级索引)的区别
    9.3 索引字段为什么要规定设置数量,设置过多的索引字段会有什么问题吗?
    9.4 最左匹配原则了解?什么情况下匹配不到?
        (a,b,c)的情况下(b,c)能匹配到吗(a,c)呢?
    9.5 COUNT(*) / COUNT(column) 有什么区别?
        Null的行会统计到吗?

10. Double的 0.2 + 0.1 一定等于 0.3吗?Float 呢?有了解过为什么吗?
    不一定,浮点数会存在精度丢失的问题,可能是无限循环小数。
(由于浮点数在计算机内部以二进制形式表示,而某些十进制的小数无法被精确地表示为二进制小数)

最后反问环节,结束。
全部评论
秋招吗
3 回复 分享
发布于 2024-08-09 17:55 北京
收藏了
2 回复 分享
发布于 2024-08-13 22:41 黑龙江
大佬线上吗
2 回复 分享
发布于 2024-08-10 21:12 广东
招银稳定性怎么样啊佬,裁人吗
1 回复 分享
发布于 2024-08-13 02:55 广东
这也太难了
1 回复 分享
发布于 2024-08-12 11:09 上海
挺难的😄
1 回复 分享
发布于 2024-08-12 08:42 广东
什么业务线呀
1 回复 分享
发布于 2024-08-11 15:42 江苏
面试地点咋选,只有线下吗
1 回复 分享
发布于 2024-08-09 19:29 江西
hr说没有hc多不多,本科可以投吗
1 回复 分享
发布于 2024-08-09 18:16 陕西
佬是实习还是秋招呀
1 回复 分享
发布于 2024-08-09 17:49 广东
提前批吗?咋全是八股
点赞 回复 分享
发布于 2024-09-07 14:40 北京
佬投的是海外那个吗
点赞 回复 分享
发布于 2024-08-09 18:40 广东

相关推荐

03-20 11:09
已编辑
中国地质大学(北京) Java
面试官你好,我叫汪明海,目前是中国地质大学(北京)计算机技术专业硕士在读,本科是电子信息工程专业,研究生期间 GPA 3.7,专业排名前10%。我主要专注于 Java 后端开发方向,具备扎实的基础和一定的高并发系统实践经验。在百度有一段接近一年的后端开发实习经历,期间作为模块负责人参与了一个高并发图生视频系统的开发。这个系统日活大约10万,轮询峰值达到7000 QPS。在这个项目中,我主要做了几件比较有价值的事情:架构权衡选择缓存来解决高qps的问题对大表进行分表解决海量数据问题对用户上传图片去重降低存储成本同时解决线上问题和完善监控保证系统稳定除此之外,我还独立设计并实现过一个电商交易系统,完整覆盖用户、订单、库存、支付等核心链路。在这个项目中重点解决了分布式场景下的库存超卖、接口幂等、订单状态一致性等问题,比如通过分布式锁 + 乐观锁 + RabbitMQ 实现库存控制和延迟关单。技术上我比较熟悉 Java、Spring Boot、MySQL、Redis,也有一定的分布式系统和高并发处理经验。我个人做事比较踏实,执行力强,也比较喜欢深入分析问题和做系统优化。希望能在后端方向继续深入发展,参与更大规模系统的设计和优化。围绕项目,无八股算法部署服务的方式pod 最大多少个:高峰期7k QPS: 20到30个 Pod每个pod占用的资源:API 查询和任务消费/回调合并在一个 Pod 内,这类 Pod 既有高并发读流量,又有异步写和状态更新,也就是2C4G request,4C8G limit。分表的分页表怎么做有没有更好的方案  从产品思维:根据用户会员等级,限制用户查询的数量。加入缓存遇到了哪些问题:数据的不一致性问题,具体来说,当回调主动更改缓存任务状态时,有可能更改失败,因为mysql和redis的更新不在一个事务内,这个时候ttl就发挥了作用,视频生成的平均时长是2到3分钟,ttl设置为3分钟,当任务过期就被清楚,从数据库取出最新的数据,保证了redis和缓存的一致性消费者怎么回调:消费者回调通过rpc的方式回调我们的服务,传入状态和视频结果等信息,我们的服务去更新数据库和缓存服务之间调用的输入输出  用了 rpc 的什么协议调用的:百度内部常见的 RPC 框架是 brpc。它底层一般跑在 TCP 之上,消息序列化常用 protobuf;协议层不是只有一种,百度内部常见有 baidu_std 等私有协议,brpc 同时也兼容 HTTP、gRPC、Thrift 等多种协议。HTTP 协议通常把数据组织成请求报文和响应报文。无论请求还是响应,整体结构都是请求行、头部、空行和消息体。起始行用来说明请求方法、路径、版本,或者响应状态码;头部用 key-value 的形式描述元信息,比如内容类型、长度、认证信息;空行用来分隔头部和消息体;消息体里才是真正的业务数据,比如 JSON、表单或者二进制文件。因为底层 TCP 是字节流,没有消息边界,所以 HTTP 还会通过 Content-Length 或 chunked 机制来标识消息体长度。rpc和http的区别我的理解是,HTTP 和 RPC 的核心区别在于抽象层次不同。HTTP 是一种通用的应用层通信协议,通常是面向 URL 和资源来设计接口;而 RPC 是一种远程调用模型,目标是让调用远程服务像调用本地方法一样。在使用场景上,HTTP 更适合前后端交互和对外开放接口,因为标准统一、通用性强;RPC 更适合内部微服务调用,因为通常会结合二进制序列化、长连接和服务治理能力,在性能和调用效率上更有优势。不过两者不是完全对立的,因为 RPC 也可以基于 HTTP 来实现,比如 gRPC 就是基于 HTTP/2。在这个项目中的一些不足和经验我觉得这个项目有两个比较明显的不足。第一,前期方案选型时,我们基于当时的成本、风险和收益考虑,选择了缓存方案,这个决策在当时是合理的,能快速支撑业务上线。但后面随着流量增长,我发现轮询查缓存的方式扩展性有限,后续更适合往服务端主动推送的方向演进。这个经历让我意识到,技术方案要结合业务阶段做取舍,也要提前考虑后续架构升级路径。第二,项目里对慢 SQL 的监控还不够完善,缺少及时报警机制。这样会导致数据库性能问题不能第一时间暴露。后来我复盘时觉得,除了完成功能,线上监控和告警体系也非常重要,尤其是慢 SQL、接口耗时和错误率这类指标,应该尽早纳入日常治理。所以这个项目最大的收获是,我现在做项目不只关注功能实现,还会更关注方案演进能力,以及系统上线后的监控和稳定性建设未来技术规划我对未来的职业规划,现阶段还是希望先立足于技术成长。短期内,我希望先把基础打扎实,不只是把功能做出来,而是真正理解业务,提升自己在代码质量、系统设计、问题排查和工程规范上的能力。中期的话,我希望能参与更有挑战性的项目,比如高并发场景、微服务架构、性能优化这类方向。因为我觉得这些场景能更快锻炼一个工程师的技术深度和系统性思维。长期来看,我希望自己不仅能解决具体技术问题,也能独立负责一个模块,能够把业务理解和技术实现结合起来,做一个既懂技术、也能真正支撑业务发展的工程师。如何看待和应对项目中期进度不理想、需要赶工的情况?这个问题重点是:态度 + 方法论可以这样回答:我觉得这种情况在项目中是比较常见的,关键是如何理性应对,而不是盲目加班。我一般会从几个方面处理:① 先分析原因是需求变更?技术难度被低估?还是沟通问题?② 优先级重排区分核心功能 vs 非核心功能必要时做取舍(保证主线)③ 提升执行效率拆任务,减少阻塞提前沟通依赖问题合理利用工具(包括 AI)④ 主动沟通及时同步风险和负责人一起调整计划⑤ 对赶工的态度我可以接受阶段性加班,但不提倡长期透支,更重要的是通过复盘避免以后再次出现类似问题。
查看12道真题和解析
点赞 评论 收藏
分享
发一下问题给大家参考,攒攒人品!1.小米强调“人车家全生态”。请构思一个具体场景,实现手机、智能家居与车机基于AI深度协同。描述其技术链路与核心体验亮点2.“舱内感知”是热点。除了基础疲劳监测,如何利用舱内视觉、语音等多模态AI,创造更有价值的个性化服务或情感化交互?请提出你的产品构想3.作为行业后来者,小米汽车在智能驾驶体验上应追求何种差异化?是从“极致性能”、“场景深耕”还是“人机共驾体验”上突破?阐述你的观点4.智能驾驶系统“人机交互”至关重要。如何设计一套AI驱动、用于传达系统状态、能力和边界的交互体系,以建立用户信任,避免滥用或误用?5.汽车AI模型面临车规级芯片算力、功耗和实时性的严格约束。以“城市NOA中的预测规划模型”为例,阐述开发中,产品经理需要协同算法和工程团队,在性能、效率和泛化能力上做出哪些关键权衡?6.“端云融合”是趋势。请划分智能座舱或智能驾驶中,哪些AI能力必须部署在车端以确保实时可靠,哪些可以借助云端实现持续进化?你的核心判断标准是什么?7.智能汽车的进化高度依赖“数据驱动”。请描述你理想中,一个智能驾驶功能从车端数据采集、问题挖掘、模型优化到OTA升级的完整“数据闭环”产品方案8.如何定义智能驾驶功能的“安全验收标准”和“体验验收标准”?当两者在测试中发生冲突时,如何处理?9.智能驾驶软件付费订阅已成为趋势。你认为小米汽车的智能驾驶服务应采用何种订阅策略?如何设计免费体验包,以最大化转化率?10。除了开车和坐车,智能汽车还可能成为哪些AI服务的载体或入口?请提出一个具有想象力的商业化产品概念
查看10道真题和解析
点赞 评论 收藏
分享
评论
29
264
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务