Java 工作 3 年, crud2 年,面试官问起项目中遇到什么技术难题怎么解决?

2023-03-26 17:05:20 +08:00
 yang0225

工作 3 年,crud2 年,面试官问起项目中遇到什么技术难题怎么解决的,不知道怎么答起,想吸取各位大佬的在项目中遇到的一些普遍技术问题以及解决方案,来回答面试官的问题,技术栈可以 spring 到 springcloud redis 中间件 分布式之类的,让面试过程中稍微有些亮点。求求求了! crud2 年太难受了!!!

5053 次点击
所在节点    程序员
32 条回复
diagnostics
2023-03-27 09:41:51 +08:00
CRUD 最后不也得面向用户层嘛,不管用户是其他服务还是真实用户。

- 输入
- 统一校验框架
- 有些查库判断,做到这一层,例如用户 ID 不存在这种,怎么去做呢?所有用户 ID 放 Redis ?可以优化
- 逻辑处理
- latency 是多少?给了多少资源?按利特尔定律去压测,能到这个吞吐量吗?
- latency 能降低吗?例如主要是查库的 IO ,那就加 Redis 缓存,缓存失效问题怎么解决?缓存命中率怎么提高?
- Redis 有缓存了,还想再优化,有资源的情况下(内存),能不能上内存缓存?关于缓存的问题又来一遍
- 放到内存上了,怎么压缩内存(更改数据结构)避免 GC 带来的延迟了? GC 停顿怎么优化(垃圾收集器,zingJDK )
- 回到 DB 这一层,有分页查询,那么 large page 下索引失效问题怎么解决呢? n + 1 问题如何优化呢?
- 输出
cnzjl
2023-03-27 09:46:10 +08:00
遇到了难题其实并不多,比如项目集成的框架自带 shiro 鉴权,通过配置文件没法修改默认配置,最后是通过 BeanFactoryPostProcessor 解决问题;还有就是定时任务同步第三方数据,同步时间过长会锁表造成数据库卡死,这时候通过定时任务作为独立服务运行,新建数据中转表来存放数据,在数据处理完成后一次性导入到业务表中(使用 Insert into...from ),还有就是 java ,scala 混合开发编译。。。好像都是小问题
ForkNMB
2023-03-27 10:25:10 +08:00
线程池参数设置是否合理,比如有个服务 CPU 飙升,就是线程数开太多了
redis 缓存,量太大,查询太频繁,网络有波动容易触发告警,加个很短的本地缓存可以解决问题
还有就是 redis 缓存 @Cacheable 注解失效了 断点源码发现 jackson 反序列化异常了 有人在 dto 里加了多余的 get 方法 tmd
Transactional 注解失效 以及用了注解还是超卖的原因分析之类的
都是 curd 仔线上问题遇到的 =_=
Corrots
2023-03-27 10:52:45 +08:00
同感,蹲一蹲
litchinn
2023-03-27 10:53:18 +08:00
我感觉遇到技术难题大部分时候都不是费很大劲去攻克它,而是转而寻找其他替代方案或者更改需求,选择最简单的那个。
技术难题这东西,就像是某些知识一样,你会了之后觉得很简单,甚至感觉不值得拿出来一说,当你不会时扣脑袋也想不到那去。
zzzmh
2023-03-27 10:59:04 +08:00
我 7 年了,该回答不出的问题还是回答不出,就不如在自由发言的时候多讲讲自己精通的方面。问答的时候不知道就说不知道,也算是节约时间。
yaphets666
2023-03-27 11:27:23 +08:00
网上找开源项目,里边的难点,灵活运用成自己项目里的,不用实际上做过,理解了,懂了就可以说。像服务端,无非是,并发,可用,性能问题等等。前端,无非是 ci ,webpack ,模块化,抽象,微前端等等。还有就是遇到某个问题,通过阅读源码发现解决办法等等
IndieCreator
2023-03-27 18:42:43 +08:00
这个是引入外企的面试风格,回答不一定要非常的难点,也不一定需要你自己经历的,但是要体现这几点
1. 这个问题有点难
2. 我处理这个难点体现了我的 ownership, 提现了我处理复杂问题的能力
3. 我处理这个难点后有什么收获,后续再某某问题的处理中应用到了.
dwlovelife
2023-03-27 20:19:33 +08:00
说几个吧目前做的项目百万用户
dwlovelife
2023-03-27 20:23:23 +08:00
随便说几个吧目前做的项目百万用户
1. 数据安全,防爬和加密等
2. 流量裁剪, 减少重复调用 [如交易端和中台有部分接口会重复调用 比如都需要获取活动信息 能不能一次调用 下游从上游拿取]
3. 限流,接口限流以及 RPC 接口限流
4. MDC 全链路追踪含 RPC 调用
5. 服务器自动扩容
xuanbg
2023-03-27 22:18:07 +08:00
没有遇到过什么技术难题,要不你举个例子?
Angzk3348
2023-03-28 09:27:27 +08:00
插眼学习一下

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/927289

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX