虾皮(shopee)SRE 面经

之前八月底面完的,牛友的面经帮助了不少,现在回馈一波

数据结构
  1. 数组,链表插入性能对比

数组平均插入性能O(n),链表 O(1)

  1. map 底层数据结构,unsortered_map 数据结构,hash 碰撞,bloom filter

bloom filter实现原理: 位图+多个哈希

数据库相关

innodb 数据引擎底层数据结构

  • b+tree 和tree 区别

  1. 节点存的不一样; b+tree 只有叶子节点存数据,中间节点存key值

  2. 叶子节点顺序查询

  • 联合索引特性

    • 如何确认走没走索引; 通过性能优化工具

  • ACID 含义

    • 隔离级别

      • Read uncommitted -> 脏读

      • read committed-> 不可重复读/

      • Repeatable Read->幻读

      • Serializable (串行化)

      • 幻读和脏读的区别

网络

  • time_wait,close_wait

  • epoll 网络框架

    • 和select poll对比

    • ET,LT使用场景

    • 惊群

      • 多个线程accept(阻塞)会出现么?/ 不会唤醒多个工作线程 运气好。。。猜对的

      • epoll_wait 监听会唤醒多个进程么? 会!!! 通过SO_REUSEPORT 作用就是内核做负载均衡。

      这个问题我是混过来的,之前根本就不知道惊群这个概念,自然没想到SO_REUSEPORT用来解决惊群,以及SO_REPUSEADDR的区别

操作系统

  • 进程与线程区别

  • 实际编程中如何处理race condition

  • 内核原子操作 CAS

  • 死锁解决的方法

    • 介绍银行家算法

    • 按照顺序加锁顺序 ,eg.有两把锁A,B 我们只要按照顺序比如A->B 来加锁 ,这样就能够从编码角度来解决。// 面试官引导

算法

二维数组按照行列遍历区别

topk小元素 需要手写堆

#Shopee##面经##校招##运维工程师#
全部评论
字节跳动Data团队招SRE工程师(base杭州/北京/深圳)~ 【职位描述】 1、保障大数据&计算多个核心系统的可靠性与正常运行,同时关注系统容量与稳定性; 2、为大型系统构建自动化运营解决方案; 3、与系统开发团队合作,从系统设计到上线的整个生命周期内保障系统可靠性; 4、通过监控系统组件可用性、性能指标提升系统可见性,帮助系统开发以及团队快速定位故障; 5、推动提升服务的可靠性、可扩展性以及性能优化,保障系统 SLA; 6、参与设计、实现能够保障线上大规模集群快速迭代的自动化平台; 7、基于业务使用场景,深入优化提供最佳服务治理实践,包含不局限于关键链路性能瓶颈分析、业务问题定位排障、推进系统高可用架构改造升级等。 【职位要求】 1、本科以上学历, 计算机相关专业, 并有两年以上相关领域工作经验; 2、扎实的计算机软件基础知识; 3、了解 Linux 操作系统、存储、网络 IO 等相关原理; 4、熟悉一种或多种编程语言,例如 Python/Go/Java/Shell/Ansible; 5、具备系统化解决问题的能力,良好的沟通技巧和主人翁责任感; 6、具有相关计算/分布式/大数据等系统经验优先。
1 回复 分享
发布于 2021-02-04 11:45
楼主你好,请问你是实习、校招还是社招
点赞 回复 分享
发布于 2020-09-24 14:59
楼主你好,请问这是几面的?新加坡的还是深圳的呀?
点赞 回复 分享
发布于 2020-09-24 21:26
想问问楼主还记得shoppe sre岗位的笔试吗?笔试和后端有差别吗?
点赞 回复 分享
发布于 2021-07-05 20:13

相关推荐

9 68 评论
分享
牛客网
牛客企业服务