字节跳动1年半经验(双非非科班)一面面经
本人是19年毕业,双非非科班1年半经验(已离职),最近想找工作,于是面了一下字节跳动,想看看自己多菜
面试体验很棒,面试官是个6年经验的大佬(头发很茂盛),面试过程会引导你(避免你菜的太尴尬)。面试时间大约55分钟,下面是所有问题:
- 先做一下自我介绍
- 你这个项目的QPS、订单量有多少
- 如何解决超卖问题
- 假如让你设计一个秒杀系统,怎么设计才能承受百万级并发
- Redis也扛不住了,万级流量会打到DB上,该怎么处理
- 分库分表怎么设计
- 水平分表依据什么分?时间还是数据
- 分库分表之后我想查询近期的订单,怎么查
- 数据存储引擎有哪些
- InnoDB和MylSAM的区别
- select count(*)时InnoDB和MylSAM分别是怎么处理的
- 聚簇索引和非聚簇索引的区别
- 假如数据库某个字段是String类型,读的时候用int类型去接收会有什么问题?反过来呢?
- 事务有哪些隔离级别,分别解决了什么问题
- 可重复读是怎么解决脏读的
- 有俩事务,事务A:读、写(张三)、读 事务B:读、写(李四)、读,假如俩事务同时执行,结果如何
- Redis有哪5种数据类型
- Set、Zset分别用于哪些场景
- Redis是怎么删除过期key的
- Redis有哪些持久化方式
- 你用过哪些队列
- 说一下AMQP协议是怎么定义一个MQ的
- 交换机有哪些消息转发模式(大体是这个意思)
- HTTPS工作原理
- 编程题:最小覆盖子串,时间控制在25分钟之内
- 你还有什么想问的吗
做一下总结吧:
1 社招项目部分一定要准备好,我还以为字节一面不问项目,所以没做什么准备,答的很一般
2 这次面试官没用过Java,所以问的全是中间件的问题,技术问题其实问的很浅,基本全答出来了
3 由于项目部分答的不好,所以出了一个hard算法题,我思路对了,但最后只做出来一部分(后来问了一下面试官,如果我做出来90%或以上并且没什么bug,就给过了)