虾皮 后端开发一面

1. 怎么设计一个高并发系统。
答了nginx负载均衡,redis,消息队列。。不知道对不对
ai的答案:基础设施层 (监控警告:普罗米修斯+熔断:Sentinel)→ 数据层(分库分表+读写分离) → 缓存层 (本地+redis)→ 服务层 (微服务+异步处理+并发控制)→ 接入层(负载均衡:7层nginx 4层lvs + 限流与鉴权)

2. 有哪些负载均衡算法。
轮询,权重轮询。
ai的答案:
静态负载均衡算法(nginx基本都支持):轮询,权重轮询,ip哈希(将同一 IP 的所有请求分配给固定节点)
动态负载均衡算法:最小连接数,加权最小连接数,最小响应时间,最少活跃调用(请求)数

3. 程序多次full gc,怎么排查问题在哪。
答首先排查静态成员变量或集合,然后大对象,循环创建对象。。。

4 .juc,线程间能共享什么东西。
只知道共享内存,还说了个共享代码?面试官说这道题没答好,还有寄存器

5. 为什么有线程安全问题,你知道java中的哪些锁。一开始问了个无锁(读锁?)实现,不知道在说什么。
答syncronized,可重入锁,剩下几个不太清楚java里的实现,信号量,条件变量,乐观锁

6. 手撕k组链表反转
pre=cur报空指针,忘记临时变量存next了,输入输出浪费一堆时间,最后没做出来
全部评论
虾皮面试难度还是有的
点赞 回复 分享
发布于 09-26 14:31 广东
不错不错,我都不会,受教了
点赞 回复 分享
发布于 09-25 21:15 北京
m面经
点赞 回复 分享
发布于 09-25 17:00 湖北
是秋招还是实习呀
点赞 回复 分享
发布于 09-24 20:03 陕西

相关推荐

09-25 09:48
已编辑
南京大学 Java
9.23一面本人投递岗位:后端开发工程师Base:深圳面试时长:预计一小时但最后只面了40min(感觉已经挂了)面试之外: 面试当天会发邮件提醒,不过比较意外的是时间被改到了下午三点,之前约的是下午四点半,在这之前一点没有通知我改时间,好在我那个时间段也是有空的,各位可以注意下。题目总览: 八股+场景/设计+一道手撕+一道SQL自我介绍计网:- 介绍下TCP- TCP三次握手& 四次挥手 (感觉是必问的,我看虾皮的面经基本都问了这个)pring:- Spring MVC处理流程Java:- HashMap源码(底层实现)- HashMap为什么用红黑树- HashMap怎么扩容JVM:- 做项目遇到过OOM么?- OOM一般发生放在哪些区域- 怎么处理OOM- JVM调优场景/设计:- 十亿左右的订单数据,主要有订单ID,用户ID,商品ID三个字段,怎么把它存到MySQL中去- 分库分表的话那么单表的数据你觉得应该设置多大?- 你会按照什么逻辑进行分库分表?- 假如按照刚才的设计,现在需要查询用户A最近一个月的所有订单,怎么查询?(这里岔开讲了redis八股,然后又回到了场景设计)- 在线购物平台,如果出现大规模订单请求,怎么对系统进行优化升级(高并发)- 怎么确保订单数据不丢失(从前端到后端)Redis:- 你平时用redis会用到哪些数据结构- zset为什么可以排序/实现有序- 你在项目中怎么用Redis的,具体说明手撕:- 二叉树原地转成链表(按照前序遍历的顺序),核心代码模式即可写完不需要跑样例,只需要说明思路以及时空间复杂度SQL:一个employee表,一个department表,要求查询出每个部门工资最高的5个员工。自我反省: 八股回答地还可以,但是场景设计被拷打烂了,还是缺少相关的积累,虽然目前还没把我挂了,但感觉已经没啥机会了,就当积累经验吧9.25更新:不出意外收到感谢信了
查看22道真题和解析
点赞 评论 收藏
分享
数开岗,面的非常愉快一开始先介绍了面试流程1.自我介绍,挑实习经历讲一讲2.代码手撕3.八股考察4.QA环节直接介绍实习经历,没有自我介绍,讲了10分钟开始手撕。1.数据是真实数据吗2.来源系统是同一个系统吗了解了一下主要做的项目数据来源手撕:问了下比较熟的编程语言(java)连续子数组最大和多少知道虾皮是干嘛的吗SQL  求销量表,每个类别下售量TOP10的商品id排名连续怎么做衣服这一品类数据量特别多,导致数据倾斜怎么处理,只针对这一场景处理(二次聚合)给谁加随机值,怎么加,举例还有别的方法吗,只针对这个情景(压缩)你知道spark有做这件事吗(压缩)自己工作中会开这个配置吗spark和flink哪个比较熟,或者其他组件哪个学的好,可以自己挑个熟悉的来讲,还是随便挑个问1.flink状态后端知道哪些2.讲一下checkpoint是在干嘛3.如果状态后端是Rocksdb,checkpoint是怎么存的4.一个算子是怎么知道自己该做checkpoint5.从checkpoint恢复的时候,怎么做的6.一个算子,怎么知道恢复时应该读哪份文件7.看过checkpoint文件里面的结构吗8.有遇到过从checkpoint恢复时失败,是由于算子找不到从哪恢复的问题吗spark方面的问题1.executor, 他的内存分成几部分?堆内堆外内存区别为什么会有堆内堆外内存2.在shuffule的过程中,这几部分是否/如何参与其中3.节点0OM,我有哪些方法或者配置,去优化?最后反问总结,面试官全程态度超好,一直在说别着急,没问题,会有正反馈,体验最好的一次面试
查看29道真题和解析
点赞 评论 收藏
分享
评论
2
16
分享

创作者周榜

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