shopee后端面经(5.11)

上来说部门是java和go语言都是,而我是C++,所以感觉恐怕是G了。
1,问本硕非计算机,怎么自学的
2,问了项目(我项目是数据库相关的),问了项目中设计的算法,有没有参考MySQL等数据库的实现等等
3,问我项目中所使用的互斥锁、读写锁、buffer pool等各种结构是只用了C++原生的还是有自己设计的(都有)
4,介绍一下MySQL中的B+树,MVCC,binlog、redolog、undolog的区别
5,意向锁了解么
6,分库分表知道些什么,分库分表会带来哪些问题?
7,介绍一下HTTPS是怎么做到安全的
8,TCP是怎么做到可靠性的,有自己使用或者实现过网络编程组件么
9,IO多路复用了解么,select、poll、epoll的区别说一下
10,你提到了零拷贝技术,能说一下,如果要从磁盘上向外发送某个文件,这个过程中会涉及到哪些拷贝么?
11,skiplist听说过么,能介绍一下么?(后面又问和二分算法类似么?我说有些像)

算法:树的遍历
#shopee##面经#
全部评论
结果过了,约了5.25二面
点赞 回复 分享
发布于 05-20 17:11 吉林

相关推荐

09-25 00:14
已编辑
门头沟学院 Java
一志愿流程终止了(时间线写在后面拖了3周才复盘,顺便又投了一个二志愿。因为我找实习的时候做过笔试了,所以免笔试直接面的。一共面了45分钟左右,基本没怎么问项目,大篇幅问了线程池、卡夫卡,好多场景题,cpu烧了。一、聊了几句,然后自我介绍二、线程池场景,展开一些问题1. 讲一下线程池的参数。2. 核心线程、最大线程、队列之间的关系。3. 场景设计一:我提供一个API来call你,你收到请求就丢到线程池里面,然后就返回给我“处理中”。你处理完以后再告诉我,调我的接口通知我。现在假设我这边发起一个1000qps的的服务,那么你要怎么去设计这个线程池的参数?题目给的信息有限,你可以再往里补充信息,比如它现在是个分布式的还是单机的集群?比如你可以考虑你要多少服务器,每个服务器要生成多少资源?(这里用cpu密集和io密集回答混不过去,要给出具体数据来算。。。)拉扯了几分钟以后定下来单个执行时间假设为100ms,假设为部署在10个服务器的分布式集群,假设SLA规定你一分钟一定要处理完给我响应,在此基础上反推各个参数是多少?4. Handler的处理中不想丢失掉的话要用什么拒绝策略?三、不知道为什么问起网安问题5. 会用一些加解密吗?6. 非对称加密和对称加密?7. 用过一些具体的算法吗?四、Kafka场景,展开一些问题8. 场景设计二:我现在有个topic,假如有6个分区,生产消息的QPS是1500,部署在6个Pod的分布式集群,有一个消费者分组订阅了这个topic,单个执行时间还是100ms,问怎么设置消费者线程数量才能让消息不堆积?(不太明白,没算出来,然后面试官调整题目)说QPS还是1500,部署在10个Pod上,但是只有6个分区,那怎么分配?调整什么东西?五、支付场景,展开一些问题9. 支付订单是有风险的操作,要保证接口的幂等,那什么是幂等?10.  查询需要考虑幂等吗?为什么?如果传过来的请求是带有订单号的,能否用来做幂等?11. 场景设计三:现在假如说我们用订单号来做幂等的话,那你要怎么设计才能保证一定是幂等的呢?(继续问)那假设你把订单号存起来了,同一笔订单你怎么保证不会在并发环境下写入两条同样的记录?六、手撕算法题,没写本来有这个环节,但是时间不多了,说我以前找实习的笔试做得还行,就不用写了七、反问,聊了几句#虾皮##后端##面经##秋招##Java#时间线:8.19 投递简历----  没有笔试8.28 邮件约面8.30 一面9.2 一志愿终止9.22 又投二志愿
点赞 评论 收藏
分享
4 24 评论
分享
牛客网
牛客企业服务