字节跳动飞书后端开发面试

一面
首先介绍一下自己
说一下在实习期间做的项目
说一下数据库索引底层结构
说一下https的原理
说一下redis在分布式情况下的key是如何查找的
说一下几种map间的区别
说一下线程池的几个参数和具体用途
我在这里下,面试官可能不太了解。所以说了很久线程池的不可重入锁的用途。
编程题 链表大数相加

不是很难,但是现在想想感觉可以翻转链表按照leetcode 2的思路做,但是当时直接记录链表长度,递归连接了。

二面
首先介绍一下自己
说一下在实习期间做的项目
balabala具体项目的一些思路以及解决方案,说了很久

场景设计题:
积分换礼物的活动,每个用户(user)可以用不定积分(point)兑换一种礼盒,且每人限换一次。下单(order)逻辑:1)创建订单 2)扣减用户积分 3)扣减礼盒库存 4)下单成功

根据题目讨论了一下分布式锁,以及锁的范围大小,幂等的处理问题。

之后讨论了一下分布式事物处理方案,实习的组内是使用消息队列的形式保证事物的,但是当时和面试官讨论的时候一直纠结于如何处理回滚问题(我到现在也不知道,看网上的资料也只是通过重试保证一致性),没有回答好。

三面
三面的问题就偏向hr,问了一下我是如何学习的,以及在学校里的兴趣爱好,然后就介绍了一下做过一段时间的美漫翻译,嘿嘿。
聊了一下简历上的一些项目。

问题:
说一下map的get,put。
说一下堆的增删
说一下多进程间通讯方式。
说一下在命令行kill一个线程,在操作系统通信层面,都做了什么?(我不会)
编程题 输入二维数组matrix, 将其中被1包围的所有0改为1
编程题 leetcode 71

最后问了一下我在阿里和头条间如何选择,舔!!!

#面经##校招##字节跳动##Java工程师#
全部评论
咦,你是昨天刚面完得嘛?有结果了吗?是哪里的呀~我昨天也刚面完三面……有点紧张
点赞 回复 分享
发布于 2019-10-01 14:54
消息队列如何能保证的了分布式事务呀?
点赞 回复 分享
发布于 2019-10-01 14:58
老哥深圳的吗?我也面过了,不知道怎么样
点赞 回复 分享
发布于 2019-10-01 15:14
大佬有阿里了还收割头条
点赞 回复 分享
发布于 2019-10-01 16:23

相关推荐

4 80 评论
分享
牛客网
牛客企业服务