车主一面
- 自我介绍
- 为什么打算离职?
- 目前工作地在哪,考虑来北京吗?
- 项目中技术难度比较高的是哪个,先不管业务层面,只谈技术
- 数据结构中的堆是怎么实现的?
- 交换机处于网络中的哪一层
- 路由器又处于哪一层
- 我们的笔记本接入路由器后,分配IP地址的过程是怎样的
- Redis的源码是用什么语言实现的?
- Redis中String类型的key底层是怎么实现的
- 基于Redis实现过分布式锁吗
- 这种实现面对高并发场景会出现什么问题
- 对比zk的分布式锁实现方案,刚才这个Redis实现有什么优缺点,该怎么优化
- Redis你还熟悉哪些,平时工作中接触比较多的是什么?
- Redis的脑裂原因
- 代码题:leetcode.cn/problems/mu…
- 反问
3.20 企业酒旅一面
- 自我介绍
- 目前在哪?离职原因?
- go切片的原理,怎么扩容的
- 切片是线程安全的吗,goroutine使用上有什么要注意的?
- 并发写加锁保护应该怎么实现呢,go中锁有好多种
- sync.atomic和sync.mutex的区别
- 进程,线程,协程的区别
- 协程并发能力很强,那我们使用时可以无限制的让协程数量增长吗?
- 子协程panic,能在父协程recover吗
- 系统中如果有panic问题,你们是怎么监控的?
- 或者说,recover住了,但是这个panic可能是个不应该发生的,可能对你们的核心业务有一定影响,这个你们是怎么关注?
- 数据库索引相关问题,建表的时候,写SQL的时候,谈谈这两个方面怎么利用索引提高性能
- 什么是联合索引,在使用上和普通索引有什么区别?
- 假如线上出现了慢SQL,你们有什么监控机制吗
- 你有做过水平分表吗?怎么根据你的业务场景去选择sharing的字段
- 举个场景,假设你们有个订单表,运营会在ops端通过order id查数据,用户会在app上通过account id查订单列表,如果订单数据量很大,而且这两个场景都要兼容,应该选哪个字段去分表?
- 如果订单数据量很大,一天几百万单,ES也承载不了吧
- cs这边ES最大的数据表有多大,多少行数据
- 那给一个order id, 我怎么知道这个order id属于哪个分区的?去对应的分区查
- 业务场景中遇到主从延迟,该怎么解决?
- eg., 一个用户注册完,信息会写主库,那这个时候他立即跳转至详情页,会查从库,这个时候主从同步如果有延迟就看不到刚才插入的用户信息,这种情况该怎么办?
- 如果并发量很大的话,还有什么更好的办法?(写完主库写Redis,缓存时间不要太久)
- Redis有工作线程和辅助线程,工作线程是单线程,但是性能还是比较高,原因是什么?
- 发生大Key问题会对Redis有什么影响?
- 代码题:leetcode.cn/problems/lo…
- 反问
3.31 企业打车一面
- 自我介绍
- 在你过往的工作经历中,你觉得最有技术挑战的事是什么(例如哪个项目里遇到了什么难题)
- golang的函数传参是值传递还是引用传递
- 给一个函数传一个切片变量,在函数里对其做修改,函数外面会改变吗,能感知到吗
- panic和recover这两个语句有什么作用
- 有哪些情况可能会引起panic
- 切片没有make会发生panic吗
- 线程和协程有什么区别?
- 一个goroutine的内存占用是多少
- 新启了一个goroutine,按GMP模型,大概处理流程是怎么样的
- 用for range去读一个channel,如果channel是未初始化的,没有数据的,关闭的,分别的表现是什么样
- 如果是一个正常没有关闭的,运行中的channel,又会怎么样
- golang中如何实现面向对象的多态,继承
- 反射有什么作用
- golang怎么用反射拿到一个变量的类型呢
- 哪些场景会引起内存协程
- 数据库索引有什么作用
- 常用于做索引的数据结构有哪些
- 聚簇索引和非聚簇索引的区别
- 为什么InnoDB要用B+树作为索引结构,有什么优势
- InnoDB的数据页有多大
- 有一个索引(a,b,c),如果where a = ? and c = ? 能命中索引吗
- 提高查询SQL的速度有哪些方法,有哪些点需要避免
- 索引列a, where a like *** 能命中索引吗
- join 和left join有什么区别
- 如果一个查询SQL已经命中了索引,但是查询速度还是不符合预期,还有什么优化方式?
- B+树的层级是由哪些因素决定的
- Redis支持的数据类型有哪些?
- Redis的持久化机制
- 缓存穿透是什么概念?如果有大量的缓存穿透,怎么解决?
- Redis事务相关的命令有哪些
- Redis有哪些性能瓶颈
- Redis单线程的问题要怎么解决
- 算法题:leetcode.cn/problems/se…
给你一个满足下述两条属性的 m x n 整数矩阵:
每行中的整数从左到右按非递减顺序排列。
每行的第一个整数大于前一行的最后一个整数。
给你一个整数 target ,如果 target 在矩阵中,返回 true ;否则,返回 false 。
- 反问
5.12 国际化外卖一面(0八股)
- 自我介绍
- 深挖参与过的业务和项目细节
- 算法题:LRU缓存,leetcode.cn/problems/lr…
- 反问
5.30 滴滴地图一面
- 自我介绍
- 项目考察
- 实际工作中有遇到过什么base case,怎么排查和解决的?
- 算法题:leetcode.cn/problems/fi…
- 反问
6.6 滴滴地图二面
- 自我介绍
- 想跳槽的最主要原因
- 物流开放平台,你们团队有几个人
- 0到1的业务专项是指按需求去跟进的
- OpenAPI里头的流量可控是怎么做的
- 预算池项目中你负责的部分是什么,展开讲讲
- 听起来这个功能不是在线的限制费用,而是离线产生数据报告的吗
- 底层后端是怎么和数仓交互的,是拉模式吗
- 有没有碰到过数仓回写数据丢弃,是怎么发现的,重跑数据补偿方案是什么?
- 了解下教育背景,硕士跨考经历
- 之前在哪个地方工作,来北京有问题吗
- info center这个项目是你负责的吗,还是依然和别人合作开发的?
- 是把下游做了一个归并,封装了一层吗?
- 一面的算法题是什么?
- 代码题:用2个协程,每个协程传入一个指定字符串,交替打印
- 反问