元戎启行一面

  1. 项目聊了很久,挖到答不上
  2. 手撕:原地操作一个m*n矩阵,有0和其他数字,当一行或者一列出现0时,需要将整行整列都置为0。
  3. 手撕:有效括号
  4. 回到第一个手撕:用了map来处理,如何不使用map再写一下
  5. 数据库分表分库怎么做,分表的话一般有什么依据
  6. 场景:在电商情况下,怎么分表比较合适

面试体验很好,面试官也很有礼貌,还会引导回答

#元戎启行2024秋招#
全部评论
谢谢同学对我们面试官的认可!开心!
点赞 回复 分享
发布于 2023-08-11 18:43 日本
hot100😳昨天刚看到这道题,给每行每列做个标记
点赞 回复 分享
发布于 2023-08-09 10:09 浙江
请问面的是软件工程师吗
点赞 回复 分享
发布于 2023-08-05 08:16 上海
不懂就问:为什么第一个要用Map啊?
点赞 回复 分享
发布于 2023-08-05 03:33 浙江

相关推荐

问题1:为什么会使用分库分表,到达了什么样的数据级别才会去加设计,是否对数据量有一个统计我的理解:看星哥之前写过 单表行数超 500 万行或者单表容量超过 2GB,推荐分库分表,但是面试的过程中怕被问自己写的项目会有这么大的数据量吗不要这么硬背,具体情况具体分析,有的表字段少,经常是条件等值查询,这样加个索引,一个亿也不用分表,有的字段多,还是范围查询,可能5000万就得分表,面试官问你你说是自己在学习分库分表应用到项目中,自己造了几千万的数据量问题2:基因法需要分表的一个数量和确定的一个东西(我的理解是分表的依据,例如大麦中是订单编号和用户id),但是正常的生产环境中是可能动态改变的,比如说需要动态扩容的话,怎么解决呢(例如当前有4个分表,但是现在需要扩充到8个分表),是使用双写吗?这个在扩容前就要考虑好能维持多少年内不需要再扩容。转转架构师在分库分表前,通过之前记录的数据增长量,做了256张表,能在7年内不需要再扩容,如果需要扩容的话,可以使用双写,新扩容表写的过程中,用新的分库分表算法问题3:如果在防止超卖的过程中,Redis不可用了,怎么解决我的理解:使用Redis集群和主从复制吗?因为Redis宕机的话数据库的数据也不能保证是最新的版本,所以得尽量保证Redis不宕机?肯定要使用redis集群模式,但可能会有主从延迟,导致从节点数据不是最新的,但关系不大。可以在用户生成订单后,修改数据库的座位和库存,然后用户支付后,再改数据库的座位和库存,每一步都做好验证。这样从节点的数据问题会降到最低。问题4:如果在当前的幂等验证逻辑中,有一个消息所对应的幂等标识符是不存在的,按照现有的逻辑是可以执行的,但是幂等验证之后的业务系统异常了,这个时候应该怎么处理呢(即通过了幂等的验证,但是后面的服务down掉了,比如说下游抛了一个异常出来)【没太明白应该回答什么,是指需要将幂等标识符重新进行设置吗】异常了就异常了呗,把这个请求的标识从redis中删除了,就像分布式锁时,业务异常也要执行解锁一样,让下一个请求进来正常执行,然后设置好标识位问题5:本地缓存为什么使用Caffine呢,为啥不用Guava因为caffine的性能要远高于Guava,没有其他复杂原因我的理解:查了下Caffine就是Guava改进而来的,可以这么说吗- Caffine在读写操作方面的性能更高,是基于异步的操作,将淘汰过期操作与读写进行分离- Caffine采用了一种结合 LRU、LFU的算法W-TinyLFU+,具有高命中率,低内存占用的特点
查看5道真题和解析
点赞 评论 收藏
分享
05-15 18:12
门头沟学院 Java
全程1h,结合实习、项目,穿插着八股进行提问,无自我介绍,无手撕1. 我看你实习时间挺久的,实习主要做的工作?医疗平台的功能?服务量级?2. 实习过程中遇到有挑战的事?相关背景,问题和解决方法?3. 系统集群的规模和相关节点的配置?4. 多租户架构,为什么采用了基于DataBase/Schema级别的隔离?如何通过租户标识进行DataBase路由?5. 考虑一个场景,存在大租户对于系统来说影响很大,甚至不可接受,如何进行解决?(回答租户分级,大租户独立节点)6.  k8s中使用nginx-ingress-controller和直接使用nginx的区别?使用Ingress集成nginx和使用普通的容器集成有什么区别7. Deployment和Pod的区别?Pod和Container的区别?既然建议一个Pod封装一个Contanier为什么要封装Pod而不是直接使用Container?(回答可能有主Container和从Container)什么场景下会使用?(不会)8. java与python的异同?如果用SpringBoot,怎么实现多租户架构?9. 如果需要扩展租户物理节点,如何做到修改配置不重启服务?(回答配置中心)10. 数据库采用主从架构,如果主从之间网络忽然连接不上,导致数据不同步,如何解决?(回答暂时解除主从关系) 暂时解除主从关系,如何实现?(回答采用Mycat,修改XML配置文件)追问如果不通过中间件如何解决?(回答配置中心?)追问Nacos配置中心修改配置可以立即生效吗?如何做到的?11. 医疗平台对隐私安全比较注重,体现在哪些方面?12.  https如何保证安全?如何确保TLS握手的对象是对的?如何确保CA机构是权威的?有没有可能伪造CA机构?(想了想不知道如何防伪)13. 如果没有nginx或是ingress,会有什么问题?nginx或是ingress是如何实现负载均衡的?以及它们如何能够转发到对应IP的?14. 微服务的注册中心原理?如何动态的进行服务发现?微服务的注册中心节点一般也是集群,如何确保集群内部的各个节点都有完整的信息?(回答可能是定期通讯)如果请求落到的节点没有完整的信息怎么办?(回答可能是请求其他节点,不会)15. 实验室项目开发过程中,是如何进行沟通的?如何确保项目整体的推进?16. 项目用到线程池,如果执行任务过程中,节点宕机了,恢复后如何可以继续执行?(回答持久化)如果持久化过程中宕机的,导致没有落库成功呢?(不会)17. 线程池使用什么方法创建的,为什么不用Executors创建?18. 项目中用到SPI机制,具体是怎么用的?(回答作为框架功能扩充者,以扩充ShardingJDBC框架)19. 分表ID怎么生成的?为什么使用UUID?UUID和自增ID的区别?20. 有调优过JVM参数吗?(回答自己玩过,线上只修改过垃圾回收器)CMS和G1的异同?为什么G1可以设置停顿时间?如何评估Region的价值?(忘了)21. Redis和MemCache区别?什么场景使用MemCache?22. RabbitMQ,RocketMQ,Kafka的差异?Kafka为什么这么快了解过吗?(回答只知道零拷贝)聊天:中国海洋大学在海南吗?(在青岛,回答做导师项目来三亚的)有没有感兴趣的方向?有没有想要发展的地方?(回答广州)有没有找到其他的实习?(回答没有,没人要🐀🐀)反问:部门业务(游戏平台,游戏账号买卖,游戏包分发,游戏加速工具)
点赞 评论 收藏
分享
4月18日shopee一面1. 聊实习,sql优化,并发优化,线程池参数怎么配2. 聊项目,秒杀功能Redis+lua+RocketMQ过程详细讲讲3. Redis存储完数据之后宕机了还没有来的及发RocketMQ怎么办4. 聊项目,缓存穿透、缓存击穿5. linux怎么查询端口号6. 怎么把长的字符串(比如20多位)变成短的字符串(比如几位)7. 算法题:LRU 写了20分钟写完了,然后讲解8. tcp三次握手的序列号9. tcp三次握手之后序列号怎么变化10. TCP可靠传输11. 输入一个url按回车会怎么样12. 怎么根据IP找到服务器(路由器原理、路由算法、NAT地址转换)13. 平时怎么学习,有什么计算机方面的爱好14. 看过什么开源项目嘛15. 反问:业务+技术栈4月22日shopee二面1. linux学的怎么样2. 你有在linux上写过代码嘛3. linux查看CPU的使用率4. 有在linux上抓过包嘛5. time_wait作用6. 实习做什么7. 实习中遇到什么挑战怎么解决牛券拷打8. 优惠券id怎么生成的9. 优惠券怎么分库分表的10. 优惠券的数据库表怎么设计11. 分库分表的分片键怎么设计12. 怎么保证优惠券的安全性(超卖、一人一单)13. 为什么不在代码里写要使用lua脚本14. 优惠券秒杀怎么落库的15. mysql和redis怎么保证数据一致性16. 怎么查询用户的所有优惠券list17. 如果要线下发券比如你去商城消费领优惠券,怎么扩展这个系统算法题18. 新题:一个长度为n的数组,每个位置表示一个蘑菇,走到某一个位置必须要吃蘑菇,好蘑菇可以增加体力,坏蘑菇会减少体力,求最后达到终点的最大体力,如果达不到就返回负一智力题19. 一根不均匀的绳子要烧一个小时,怎么检测半小时5月8日挂
点赞 评论 收藏
分享
评论
10
31
分享

创作者周榜

更多
牛客网
牛客企业服务