抖音上海后台开发提前批一二面面经(已约三面)

面试时间:7.10 晚七点半
面试形式:视频面试
面试时长:各一个小时
面试主要内容:网络传输协议  数据库  Java基础  算法题等

一面

1

用到了什么rpc框架(coral,亚马逊的rpc框架),

coral是基于什么协议的?(http协议),

http协议的header是什么结构的?(请求行,请求头部,请求包体)

2

TCPUDP的区别(巴拉巴拉巴拉)

TCP怎么保证可靠传输的?(三次握手、四次挥手、确认机制、重传机制、滑动窗口、拥塞控制)

如果tcp连接断了(比如server宕机),client如何处理?

3 链表

介绍一下链表(ArrayList LinkedList

单链表和双链表的区别及应用场景

4 MySQL索引(B+树)

5 操作系统和数据库了解么?(不是科班出生回答说不是很了解就不怎么问了)

6 HashMap的底层实现?

数组存储的元素是什么?(链表头的指针)

详细介绍一下 put这个方法的执行流程

1 .hashcode 返回32位的 int 结果

2 .hash 16位和后16位按位异或(减少空间开销,并能保存所有位数信息)

3 与数组长度取模(按位与),计算出index,插入index下的链表(忘记头插还是尾插了)

7 valatile的作用(防止指令重传、 保证可见性)

如何保证可见性(变量更新会直接同步到主存,并另其他线程的变量无效)

8 算法题

输入一个数据流(4,3,10),请依次输出当前数据的中位数

声明一个链表去存储这些数据,并返回链表的中位数(ON

包括两个方法:

1 insertList

2 findMedium

二面

一面结束,面试官让我等一下看是否有二面,结果等了十分钟还没有结果,我都准备躺床上休息了,面试官打电话过来让我二面,惊喜。

1 Javahashmap

2 Java中用到的锁(synchize, Lock

一个class 中有两个加锁的方法,可以同时分别被不同的线程调用么?(当然可以)

3 Redis 缓存

如何保证缓存与数据库读写一致性?

针对千万次每秒的访问,分布式缓存如何实现?主从换从如何保证一致性。

4 Git操作

Git rebase Git merge的区别

5 算法题

打印二叉树的左边界(层级遍历, 打印每层的第一个节点)


#面经##字节跳动##Java工程师#
全部评论
一个class不同的方法加锁可以被不同的线程调用?
点赞 回复 分享
发布于 2019-07-12 00:37
实习还是秋招呢?
点赞 回复 分享
发布于 2019-07-12 00:32
大佬,这个题要怎么回答面试官才觉得OK呢????Redis 缓存 如何保证缓存与数据库读写一致性? 针对千万次每秒的访问,分布式缓存如何实现?主从换从如何保证一致性。
点赞 回复 分享
发布于 2019-07-12 07:23
我也想问三楼的问题,查了一些资料感觉都不太好,希望楼主解答~
点赞 回复 分享
发布于 2019-07-12 07:48
coral不是基于tcp的么...
点赞 回复 分享
发布于 2019-07-12 09:18
我想问哈大家tcp断了客户端怎么处理呢
点赞 回复 分享
发布于 2019-07-13 00:19
研究生还是本科生
点赞 回复 分享
发布于 2019-07-15 21:06
这么多网络的内容,是因为楼主的项目涉及到网络方向的吗?
点赞 回复 分享
发布于 2019-09-14 15:03
求抖音三面面经,是上海抖音的负责人吗
点赞 回复 分享
发布于 2019-10-30 18:02

相关推荐

头像
11-18 16:08
福州大学 Java
影流之主:干10年不被裁,我就能拿别人一年的钱了,日子有盼头了
点赞 评论 收藏
分享
11 133 评论
分享
牛客网
牛客企业服务