字节跳动客户端开发二、三面面经(已offer)

客户端开发(上海)二面(05/12)

1.自我介绍

数据库
2.解释原子性,如何实现?
3.索引,实现的数据结构(我答了B-tree索引)
4.讲讲B-tree

Java
5.怎么实现同步(我答了synchronized, volatile)
6.讲讲synchronized
7.垃圾回收

网络
8.HTTP/TCP
9.OSI七层结构
10.TCP可靠传输

算法题
经典股票售卖问题I & II

全程34分钟,风格是每个模块选一个切入点,根据我的回答涉及的知识点进行扩展,感觉大部分答得还可以,期待后续。


三面(05/28)本来是5/22三面,但我的设备临时出了问题没法面,就又重新约了时间
1.介绍背景,倾向的开发方向
Java
2.讲讲volatile
3.不用synchronize怎么实现多线程多次读写操作?我答了读写锁
4.ArrayList<String>,ArrayList<Integer> getclass判断相等,这个我没答出来,后来面试官提示泛型我还是不会,结束以后查资料才知道因为,在编译期间,所有的泛型信息都会被擦除,List<Integer>和List<String>类型,在编译后都会变成List类型(原始类型)。Java中的泛型基本上都是在编译器这个层次来实现的,这也是Java的泛型被称为“伪泛型”的原因。这题答得简直尬的我想抠脚。。。
算法题
5.求数组连续子区间的最大和
6.实现LFU cache

闲聊爱好,工作城市
介绍部门工作时间,技术栈
本来我觉得我第四题答得跟屎一样,没想到最后闲聊时听下来感觉口风有戏,可能是算法题做的还不错,拯救了一些印象

总而言之,许愿oc吧!
#字节跳动面试##字节跳动##校招##面经##Java工程师##安卓工程师##iOS工程师#
全部评论
楼主是本科还是研究僧
1 回复 分享
发布于 2020-07-29 07:57
已经接offer了,谢谢各位关注
1 回复 分享
发布于 2020-06-08 21:46
有没有问一些开源库的实现呢
点赞 回复 分享
发布于 2020-09-24 15:54
吸吸楼主欧气!!许愿Offer!!
点赞 回复 分享
发布于 2020-08-12 14:56
算法题手写LFU有点难了,其他人都是lru😂
点赞 回复 分享
发布于 2020-07-29 09:34
是创新业务部吗
点赞 回复 分享
发布于 2020-05-15 00:47
想问一下楼主一面后多久通知的二面
点赞 回复 分享
发布于 2020-05-14 17:31
楼主什么时候笔试的~~
点赞 回复 分享
发布于 2020-05-14 10:37

相关推荐

05-06 15:29
东华大学 C++
1.&nbsp;​分布式订单ID生成?&nbsp;短时间高并发下如何保证唯一性?我先回答了雪花-like,&nbsp;上段实习中,&nbsp;我们项目的全局GUID生成器是我写的,&nbsp;考虑了短时间内大量产生的情况,&nbsp;向后借用,&nbsp;未考虑时钟回拨然后想起来当时和leader讨论,&nbsp;&nbsp;单独的GUID生成中心,&nbsp;分批向各个ds批发号段..&nbsp;或者是用tacplus的自增id,&nbsp;但是这样效率太低2.&nbsp;​CPU&nbsp;性能瓶颈分析使用&nbsp;prof&nbsp;工具监视热点函数的性能消耗3.&nbsp;上段实习工作内容?&nbsp;难点?&nbsp;&nbsp;&nbsp;&nbsp;背包/仓库/道具&nbsp;​重构模块追问​:&nbsp;&nbsp;&nbsp;&nbsp;在两周内重构1万行代码,如何保证代码质量?是否引入单元测试或自动化验证?&nbsp;&nbsp;&nbsp;&nbsp;10天完成15天任务,如何协调开发与测试资源?是否牺牲技术债?4.&nbsp;问了一点网络:&nbsp;网络通信与实时系统视频会议与代码共享的链路设计追问​:解释从你的设备到面试官屏幕的完整网络路径(如NAT穿透、协议选择)5.&nbsp;游戏服务器同步机制?&nbsp;和互联网开发的区别服务器作为权威状态源,定期向客户端广播游戏世界的完整或增量状态(如玩家位置、血量)电商无状态服务可通过REST&nbsp;API+RPC横向扩展,而游戏服务器需维护长连接和会话状态。6.&nbsp;系统设计&nbsp;分布式事务与最终一致性​游戏道具交易涉及多个系统(背包、仓库、邮件),如何设计分布式事务?对比电商订单支付+库存扣减。​回答方向​:​Saga模式​:将事务拆分为多个可补偿步骤(如“扣道具-发邮件-记录日志”,失败则回滚)。对比:电商更倾向异步消息队列​(如Kafka)实现最终一致性。7.&nbsp;游戏服务器宕机后如何快速恢复玩家状态?电商系统如何设计类似容灾机制?定时落DB+游戏整体运行在共享内存,&nbsp;方便resume7.&nbsp;游戏后端请求链路分析采用自定义的可靠UDP协议​(KCP),平衡延迟与可靠性.&nbsp;玩家操作(如移动、技能释放)需携带时间戳和操作序列号,用于服务端验证顺序,&nbsp;请求直达,&nbsp;客户端直接和服务器感觉面试内容很不&quot;八股&quot;,&nbsp;答得稀里糊涂的,&nbsp;上面的顺序不是面试提问顺序,&nbsp;想起来什么说什么,&nbsp;大家做个参考
查看11道真题和解析
点赞 评论 收藏
分享
04-28 19:01
已编辑
西南大学 Java
1.自我介绍2.问一些基本情况(能实习多久,手上有无offer,学校成绩…..)3.手撕包含&nbsp;min&nbsp;函数的栈(撕出来了,acm模式还是比较简单的一道题)4.八股/项目介绍项目你怎么验证你的项目能支持这么高的并发?如果有几十万的用户怎么解决缓冲问题?怎么实现异步订单处理?怎么控制库存?库存扣除的实现?订单减扣的准确性怎么保证?库存你设计了几张表?主键是什么?怎么提升并发能力?分库分表的实现?cpa?那你订单超卖,或者说是那库存信息不对,或影响了用户的一些数据怎么处理?刚刚你不是说有那个&nbsp;AP&nbsp;吗?那个&nbsp;P&nbsp;它不是就已经分区了吗?分区你怎么保证它上锁能上成功呢?分常见分布式一致,它有什么解决方案,你知道吗?一个请求从&nbsp;APP&nbsp;发出到服务端消费中间会大概会经过什么?TCP&nbsp;怎么保障可靠呢?mysql隔离级别?可重复读怎么实现?有哪些类型的索引?主键索引在数据结构上与其他索引的区别?什么是聚簇索引设计模式?工厂模式适用于哪些情况?Java&nbsp;中的&nbsp;ArrayList&nbsp;和&nbsp;LinkedList&nbsp;适用于什么场景?它们的扩容策略?怎么排查一些问线上问题,如果&nbsp;Java&nbsp;里面的&nbsp;CPU&nbsp;在增长,那你怎么去定位这个问题?比如说它&nbsp;CPU&nbsp;现在就变得很高?手撕出来了,然后八股大部分都回答了,但是我有好几个问题一开始都没听清楚,所以可能答得不够好,感觉又要凉了,转行能干啥,啊啊啊啊啊,感觉自己找不到实习了,有无点击就送的公司😭&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
查看28道真题和解析
点赞 评论 收藏
分享
04-28 17:58
门头沟学院 Java
查看15道真题和解析
点赞 评论 收藏
分享
评论
6
58
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务