• 大厂面试助手(十二):场景和设计


    场景和设计

    • 为什么要这样分表?跨库join如何解决?数据量突增怎么解决? 如何解决线上问题?cpu狂飙怎么办?频繁minor gc怎么办?可能造成的原因是什么?如何避免? 数据库 隔离级别,怎么实现的?当前读,快照读?MVCC?
    • 分库分表的设计? 分布式事务出现过不一致吗?为什么?怎么解决?有什么方法避免?怎么监控?监控到怎么处理?什么时候需要人工接入
    • 如何优雅的写代码?什么代码算做优雅?什么代码是规范?你们代码规范是什么样的? 如何进行code review?
    • mysql innodb下,能不能不设置主键?主键可以为空吗?可以允许几个?主键跟非主键的区别?索引存储形式? 联合索引失效问题?索引失效问题?mysql索引,覆盖索引?回表?B+树叶子节点存储什么?为什么不用AVL树? 数据库锁,乐观,悲观,record lock?next-key lock?
    • 不停机扩容?分表避免冷热?不停机扩库?不停机扩表?跨库事务?
    • Redis与Mysql双写一致性方案
    • 微服务需要注意些什么?
    • redis并发竞争key的解决方案
    • 高并发系统的设计与实现
    • 高并发系统的限流如何实现?
    • 如何从0到1设计一个类似Dubbo的RPC框架?
    • 线上有实际的性能优化经验? 3、从SQL、JVM、架构、数据库四个方面讲讲优化思路,以及如何优先排序?
    • 如果让你实现一个mq,怎么样保证消息不丢失
    • 从简单的生产者消费者模式设计到如何高效健壮实现等等
    • 然后根据一个项目,问如果量级扩大1000倍,你会怎么做?
    • 如果让你做一个监控告警服务,你怎么设计
    • 如果生产者生产的数据量很多,消费者来不及消费这些数据怎么办,
    • 某一个业务中现在需要生成全局唯一的递增 ID, 并发量非常大, 怎么做
    • 考虑一个业务场景: 头条的文章的评论量非常大, 比如说一篇热门文章就有几百万的评论, 设计一个后端服务, 实现评论的时序展示与分页
    • 假如用 id 翻页的方式, 数据库表如何设计?索引如何设计? 假如量很大, 你觉得需要分库分表吗? 怎么分? 分库分表后怎么查询分页? 分库分表后怎么保证主键仍然是递增的? 现在需要支持深分页, 页码直接跳转, 怎么实现?
    • 工作当中cpu和内存异常排查方法;详细说明分析过程及定位解决方式
    • redis问了一个实际问题的解决办法,如果redis一个value特别大,有什么解决方案;
    • 接口调用变慢排查
    • 解决项目运行时,CPU占用过高的问题
    • 死锁怎么排查?
    • 怎么不断优化项目、架构升级?如果业务量剧增,怎么保证系统高可用、扩展性?
    • 系统负载过高怎么办、什么问题导致的?怎么排查?
    • JVM调优思路
    • redis cluster集群扩容怎么数据平滑过度,从客户端设计
    • 设计一个im系统包括群聊单聊
    • 设计数据库连接池
    • 秒杀场景的设计
    • VM 出现 fullGC 很频繁,怎么去线上排查问题?
    • 设计一个系统,每天有100亿条数据,需要在后台做实时展示和查找。 我当时回答的大体思路是nginx负载均衡,消息队列存储,多线程读取,批量插入,数据库分库分表。 面试官根据我的回答又衍生出了很多问题,如消息队列存满了怎么办?(也就是消费跟不上生产)批量插入时某一条失败了有什么影响?怎么解决?分库分表应该怎么分?怎么解决数据迁移的问题?
    • 内存泄露,内存溢出解决方案?
    • A系统和B系统需要交互,A系统需要更新B系统的大量数据,但是更新失败了,有什么解决方法。
    • 高并发场景 1、如何定时得往数据库中插入500万条数据以及删除,保证数据插入正确做到最优解; 2、在高并发下如何设计使用Redis;3、在高并发场景下如何设计一个接口,保证这个接口高性能高可用;
    • 如何读取一个很大得文件里面存入了很多url怎么找到最常用得url;
    • 如果页面点击反应慢,你怎么排查的?最后怎么优化? 分布式你怎么怎么保持数据一致性的 说一下springboot启动run方法里都干了什么 给你ip1到ip2的一个ip段,再给你一个ip,用程序判断这个ip属不属于这个ip段 讲一下zk 你们zk挂了怎么处理的,你们redis挂了用的什么策略解决的
    • 两个10G的文件,里面是一些url,内存只有1G,如何将这两个文件合并,找到相同的url?
    • 100W 的数据,需要定时更新,失败需要重试,需要尽快执行完成。现在机器数量不固定,如何用最少的代码实现
    • 一个任务在平时只需要 5 个线程就可以处理好,忙的时候需要 100 个线程才能处理完成, 如何设计才能合理利用资源?
    • 规定给出的并发量外,如果有额外的流量访问进来了,如何做熔断处理?
    • 搜索时延这么高,该如何进行优化?如何提高响应速度?如何优化以提升用户体验度?
    • 如何实现何高并发下的削峰,限流?
    • 服务器雪崩是怎么造成的?之前有这样的经历吗?怎么防备?
    • 内存500M,有个文件存有int类型数据1亿条,要去读取,怎么处理
    • 从需求到开发到上线。如何对需求进行有效管理?
    • 假设有一个场景,系统需要某个特定时间内响应用户请求,比如说100ms内完成用户请求,但是在最高峰的时候每单位时间几百万的用户请求,也就是高并发,但我必须要实现系统响应及时,而且高可用(不宕机),假如你是架构师,你该如何架构这个系统,聊聊你的方案。
    • 如果要对系统进行监控,考虑哪些方面,如何实现?
    • 如果你现在CPU100%了,你如何查询是哪个进程,哪个线程,哪行代码占用CPU过高?
    • 自己写程序实现MySQL不同实例之间的导表/要求尽量高并发高效/给出设计
    • 前台订单数据库如何与仓库库存数据库保持同步?限时抢购如何实现?
    • 场景:同时给10万个人发工资,怎么样设计并发方案,能确保在1分钟内全部发完?
    • 设计一个订餐排队系统,底层模型有哪些?(客户,商家,桌型)
    • 单台机器4核,服务A请求时间为5S,但是A调用的某个服务B耗时4.98S,A服务超时时间是10S,问100QPS的访问量,动态线程池CoreSize,maxSize,等待队列怎么指定?
    • 多个平台(B端C端)有多个支付的接口可利用,如何设计表;
    • 给你100亿个账号和密码,怎么用纯Java自己设计一个缓存系统;
    • 问重启服务的时候,发现线程数特别高,可能是什么问题?
    • 秒杀系统如何设计?
    • 如何实现1亿用户的消息通知机制?
    • 秒杀业务怎样防止超卖;
    • 怎么搭建一个自动化构建和发布环境,怎么从0开始搭建一个测试环境
    • 分布式缓存实现原理,秒杀业务怎样防止超卖;
    • 系统在10:05 设置一个值,并给出5分钟的过期时间,系统刚刚set完之后redis集群崩溃,10:11分系统重启成功,那么redis中set的值是否还存在?
    • 成千上万个数据文件,每个文件大概2GB数据量,只用java基础实现所有数据的读取,并按每条数据的时间排序;
    • 设计十万并发级别的网站后台,如何计算使用的ecs数目;
    • 10G的整数中,取出最大的一个;
    • 设计一个系统,每天有100亿条数据,需要在后台做实时展示和查找。

    欢迎搜索关注本人与朋友共同开发的微信面经小程序【大厂面试助手】和公众号【微瞰技术】

    file
    file

  • 相关阅读:
    【Foreign】数数 [打表][DP]
    【Foreign】猜测 [费用流]
    【Foreign】最大割 [线性基]
    【Foreign】开锁 [概率DP]
    【Foreign】染色 [LCT][线段树]
    【Foreign】阅读 [线段树][DP]
    【Foreign】字符串匹配 [KMP]
    【Foreign】冒泡排序 [暴力]
    【BZOJ1976】能量魔方 [最小割]
    【Foreign】树 [prufer编码][DP]
  • 原文地址:https://www.cnblogs.com/zhendiao/p/14181100.html
Copyright © 2020-2023  润新知