字节跳动广告系统后端开发提前批面经(已意向书)

2020/7/14 11.12 意向书已发,感谢一周的等待,诸君共勉
~~~~~~~~~~~~~~~~~~~~~~~~~~~
2020/7/7 19:00 面试通过通知,offer已提交系统,3-5工作日审批, 等待字节后续沟通。今天电话交流的话主要交流了职业规划,和后续是否可以继续参加他们的远程实习,主要就是这些内容,今天。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2020/7/5 下午面试,连续三面,每面之间隔两分钟,面试官判断是否继续,我手撕代码分几面说吧,然后其他的内容的话,直接分块说一下自己所回忆的。
手撕代码:
一面:
括号匹配算法;
统计一个日志文件(里面存放的是id,每访问一次会有一行id)前10个出现的id;
OK,继续优化,如果这个日志文件很大,那我们内存放不下,放在外存你会怎么做(先分块,再把id相同的映射到同一个块,hash,或者取模可以做到,面试官提示的);
二面:最长不重复子串(双指针就可以了,这里我比较蠢,用了一个set,不过也可以解出来);
机器人走路算法(DFS+标记算法,可以写伪代码解释,我写了代码,但面试官说回溯有点标记问题),左上角走到右下角,求可能的路径中和最小的那个值;
三面:也不说什么了,既然操作系统页面置换算法有LRU,那么我们手撕一个LRU算法吧(Java内部LinkedHashMap实现了,但是如果用,就0分,面试官说的,手动模拟LRU,这个建议大家好好写一下吧,我实验室朋友前面面的另外一个部门也有手撕):需要一个put和get方法,具体的是需要HashMap和双链表去实现的,感兴趣的可以看看LeetCode有原题(在面试官的指导下完成,之前写的有些忘记了)。
面试内容:
数据库:
四种隔离级别;
三种问题(脏读,不可重复度,幻读的问题);
如果不用串行化,如何解决三种存在的问题(不用串行化,如何保持高的效率,也不会出现问题);
MySQL有哪些索引,介绍一下B+树具体的结构;
聚集索引和非聚集索引;
用过哪些数据库。
操作系统:内存,外存,虚拟内存,Cache的作用以及相关的原理(自述);
缺页中断有哪些算法;
同样的问题,外部有个大文件,内存放不下,我们应该如何处理(答了分块,多线程mmap,(可以用Hash映射,招银也会问)),mmap如何进行内存映射的;
说一下栈和堆吧,栈的效率会比较高,那么栈和堆有哪些用处和区别(首先答了多线程共享资源问题,从Java角度解释,多线程每个线程维护自己的栈,但堆是共享,会出现资源争夺的问题。其次从资源回收角度介绍了一下, 堆中的对象需要我们手动释放或者JVM回收,栈中的数据通常伴随着方***压栈或者弹出,从两个角度介绍)。
计算机网络:
打开一个URL经过哪些流程,顺带说一下协议;
HTTP的无状态是什么意思;
TCP和UDP的区别是什么,是什么导致了TCP效率比较慢;
拥塞避免具体的四个过程,每个过程如何实现的;
Java相关:
Spring框架中,说一下IOC和AOP吧;
线程池说一下实现原理;
说一下你了解的Java中的map的线程安全问题(HashMap, HashTable, ConcurrentHashMap,说一下底层原理);
什么时候会发生垃圾回收;
Volatile的原理;
NIO;
同步异步,阻塞和非阻塞,四个概念。
还有一些自己项目相关的问题以及其它的印象不是很深刻的就不说了。
大概就问了这些问题,总而言之,字节跳动的考察还是比较全面的,等通知,诸君共勉吧。
#字节跳动校招提前批##字节跳动##校招##golang工程师##面经#
全部评论
感谢楼主分享,问下是dataailab的广告吗
1 回复
分享
发布于 2020-07-05 19:26
楼主的面经写的很好,可以参加秋招面经征集活动,现在参加一定会有奖品拿呢,活动详情: https://www.nowcoder.com/discuss/445455
1 回复
分享
发布于 2020-07-06 11:35
秋招专场
校招火热招聘中
官网直投
楼主你好,请问你是什么岗位?开发的话,是Java方向还是C++方向?或者其他语言方向~
点赞 回复
分享
发布于 2020-07-05 18:26
羡慕楼主,连续三面,我约的三面是明天,也是广告后端
点赞 回复
分享
发布于 2020-07-05 19:08
请问一下base是哪里的
点赞 回复
分享
发布于 2020-07-05 19:17
同北京广告系统后端+连续3面。 我的 算法是LFU,自己现想的0.0 。
点赞 回复
分享
发布于 2020-07-05 21:24
请问日志那题,id顺序不就是时间顺序吗?
点赞 回复
分享
发布于 2020-07-05 22:31
请问手撕lru时可以用linkedlist吗?还是说双链表也要自己实现
点赞 回复
分享
发布于 2020-07-05 22:35
我们是字节跳动广告系统团队,支撑今日头条、抖音、西瓜视频、火山小视频等多款海内外产品的商业化变现,拥有复杂的算法,精湛的业务,巨量的并发。 【⚡内推码】TBCSK8P  登录校招官网 https://job.bytedance.com/campus,投递后缀为"Data"的岗位,马上安排!
点赞 回复
分享
发布于 2020-07-05 23:27
m
点赞 回复
分享
发布于 2020-07-06 05:27
楼主是几号投的简历
点赞 回复
分享
发布于 2020-07-06 10:54
这得准备多久啊,感觉真的好难啊!
点赞 回复
分享
发布于 2020-07-06 15:55
楼主是三面两日后收到HR面吗?可以分享下HR 面的经验吗?比如,职业规划啥的怎么回答,HR都问了哪些问题,我这周一连续三面,HR说通过了,我也是广告系统的😂
点赞 回复
分享
发布于 2020-07-07 20:45
所以三面整个过程就是LRU?
点赞 回复
分享
发布于 2020-07-08 17:04
楼主你好,请问这些技术是自己私下学的吗?(实验室任务重咋办呀...)
点赞 回复
分享
发布于 2020-07-12 17:26
这个广告系统的后端是golang吗? 面试的时候忘了问了。
点赞 回复
分享
发布于 2020-07-13 10:45

相关推荐

哈喽,大家好,今天我们来聊个话题,前端Leader究竟要不要写代码?理想哥也曾做过一段时间的管理,积累了一些管理经验,我觉得前端Leader 究竟要不要写代码需要取决于团队是否需要,如果Leader写代码可以给团队带来效益最大化,那就写,如果不能,那就不需要写。具体其实可以根据你的团队人数规模来决定。如果团队人数小于10人,那Leader应该大部分时间以写代码为主,不仅写代码,还需要承担团队疑难问题的攻坚者和解决者,必须得起到技术兜底的作用。核心的代码甚至你应该自己亲自写,免得后续不断地因为手下人经验不足而不断返工。写代码之外,少部分时间用来管理。如果团队人数10-20人时,Leader就会感觉自己的时间被碎片化了,因为要不断地去处理各种问题,需要不断出决策方案。这个时候确实很难投入很多时间在写代码上,需要找一个技术上的backup,由这个backup来做核心代码的编写,自己可以从日常代码编写中抽出身来做架构设计和一些code review工作,这个时候,可能需要投入60%时间用来做管理,40%时间来做研发了。如果团队人数超过20人,Leader的时间就会更加碎片化,需要去处理一个个团队的突发事件,还要去和各个部分撕逼,帮组里面小朋友成长提高升职加薪,还要做各种PPT等等。这个时候就要尽可能的让自己从代码编写中脱身出来,把具体的代码编写交给一个个的小组长,让团队成长,靠团队出结果,自己应该从全局角度去思考,去做,如何提升团队整体的战斗力,当然,如果实在手痒,也可以挑选一些重要但是不紧急的开发任务,比如写一些自动化工具啥的给团队来用。理想哥也建议大家做管理后,还是应该不断地去学习技术,精进技术,时常找机会写写代码,让自己不断保持手感和对技术的敏感度,只要有技术傍身,找工作时就有底气。最后呢,欢迎大家来聊聊,你们公司的前端Leader写代码吗?欢迎评论区留言。#前端##前端面试必备宝典##前端爆了#
点赞 评论 收藏
转发
14 153 评论
分享
牛客网
牛客企业服务