字节跳动三面凉经

base北京,教育板块。
5月16日牛客通过内推投递,字节约面是真的快呢。
5.19一面
自我介绍
1、HashMap原理,是否安全?
2、HashMap为什么不安全?
3、高版本的HashMap后续做了哪些更改?
4、HTTPS的过程?中间人劫持了会怎么样?
5、MySql索引是什么?
6、介绍一下索引有哪些类型?
7、MySql索引底层是用的什么数据结构?
8、MySql查询数据怎么优化?
9、spring循环依赖是怎么解决?
10、spring三级缓存的数据结构是什么?
11、linux中软链接和硬链接的区别?
12、手撕代码:链表向右循环K个数(这个题,先说了思路,然后5分钟a了)。
反问环节:
1、部门基本情况
2、实习生职责
总结:体验很好,面试官很会引导。面试官说我准备的很充分,快要结束时直接让我准备二面,说一面直接给我过了。
5.24二面
自我介绍
1、手写代码:使用两个线程交替打印1-100,要求,线程一打印奇数,线程二打印偶数
2、进程和线程的区别?
3、你说到进程是分配资源的基本单位,那么这个资源指的是什么?
4、说一说fork()原理?
5、fork()会复制哪些东西?
6、堆和栈的区别?
7、说说io多路复用?(打断一下)复用的是个什么东西?
8、tcp与udp的区别
9、说说HTTP头部字段
10、说说HTTP2
11、求最长无重复字符串(********第3题,给面试官说了思路,问了事件复杂度,2min秒了)
12、智力题:64匹马,8个赛道,如何找出最快的四匹?
反问环节(略)。
总结:二面答得不太行,经典智力题没答出最优方法(听说字节面试官出智力题就是想挂人...)。
5.27三面
自我介绍
1、聊一聊你在项目过程中的成长
2、java异常体系介绍一下?
3、java中的一些设计模式?介绍一下常用的一些?
4、写个单例模式看看?(从单线程,到多线程,到优化效率使用双重校验,到volatile保证不出错)
5、除了用synchronized,还有什么方法可以实现线程同步?(就回答了个可重入锁,实现了AQS,忘记信号量这回事了)
6、你先实际项目中有没有遇到线程数据不一致情况?怎么解决?(回答了多线程情况下,同一个service中使用的全局变量可能会出问题,这个时候使用Automic原子类)
7、http了解吗?断点重传是什么玩意儿?(没听说过,寄)
8、手撕算法:设计一个队列,要求,底层用数组,支持动态扩容,但尽量减少扩容操作(这个题比较宽泛,撕了20分钟,从基本设计到逐步优化,面试官一步一步引导)
反问环节:
1、有没有实习证明?
2、在公司实习期间的一些产出能否写进论文?
总结:三面面试官问项目比较多,考察实际项目对自己的一些成长,面试官很好,只是我太菜了。

坐等感谢信。
更新:6.10hr打电话问我要不要试试抖音推荐算法,我拒绝了,直接开摆。电话没挂,感谢信已到邮箱。😊😊😊
祝大家早日上岸!



#字节跳动招聘#
全部评论
同科软,老哥问论文方面面试官怎么说的
1 回复 分享
发布于 2022-06-12 10:04
教育在裁员,不推荐
点赞 回复 分享
发布于 2022-07-26 23:26
老哥这个是java岗嘛?面go的岗位的话会问java的问题嘛
点赞 回复 分享
发布于 2022-06-12 13:09
请问是后端么
点赞 回复 分享
发布于 2022-06-05 22:43

相关推荐

感觉Python相关的面经和八股很少,主包主要分享下自己的一些面试,都是一些基础,少数涉及项目最近面的一家1.最常使用的 Python 版本?常用3.6和3.12,提到新版本中字典的+=操作的字节码变为原子操作,以及3.14正在尝试移除GIL锁。2.提到了多线程,问对Python中进程、线程与协程的理解从操作系统轻量级进程(LWP)角度回答的,多线程、多进程都对应多个LWP,但是一个进程对应一个解释器,GIL锁导致多线程只能利用单核,而协程是在用户态通过事件循环实现的应用层调度,只对应一个LWP。3.这3个并发模型的应用场景?多线程常用于传统Web开发中IO密集操作;多进程用于启动多个Worker利用多核;协程更适用于处理IO密集型任务,但容易被计算操作阻塞事件循环,多线程则不会。4.举几个 Python 魔术方法的例子。举例说明了__new__(构造单例)、__init__(初始化)、__call__(类装饰器)、上下文管理器(__enter__/__exit__)和迭代器(__iter__/__next__)等方法。5.对元类的理解元类类的类,是控制类生成阶段的钩子,举例实习中曾见过通过元类为类的方法自动添加限流,但通常能用继承或装饰器解决的问题不会使用元类。6.提到类生成,问有没有了解过子类生成的魔术方法__init_subclass__不知道,之前没有了解过……7.静态注释覆盖率自己开发基本会全量覆盖注解和必要注释,以追求代码自解释性(其实想问的是类型注解,没理解对,不过也答了相关的内容)8.对 Pydantic 的理解Pydantic通过类型注解实现数据校验和序列化,V2版本用Rust重写核心以提升校验和序列化这种CPU密集型操作的效率,可使用Field对象和装饰器+自定义方法定义字段或字段间校验。9.Pydantic如何从类中读取声明并完成 Schema 校验?没看过这块源码,推断是从类的__annotations__私有变量中提取类型注解信息,然后再进行处理。10.是否尝试过用 Pydantic 对第三方或自定义类(不继承BaseModel)做声明?没有做过……11.开发中有遇到数据库死锁的情况吗?开发中未实际遇到过死锁,但举例可能场景,可通过在事务中按字段排序固定顺序操作数据库来预防和解决。12.接触过的数据库表或Redis Key最大数据规模有多大?因为实习项目都是ToB私有化部署,接触过最大也就单表不到千万级几百万的数据量,跟面试官说想考察优化和治理策略可以给场景。13.讲一下实习中提到的租户资源多线程查询慢的问题,是如何发现、排查和解决的?(面试官可能以为这是个数据库优化)通过本地打印线程耗时发现,根因是元类为调用其它SaaS接口的client的所有方法添加了粗粒度限流导致。14.DevOps 实践经验?实习项目中使用GitLab的CI/CD流水线,了解其YAML配置文件的写法及代码检查、依赖扫描等钩子作用。15.个人玩具项目中状态机和 Outbox 的设计(第一个问我玩具项目的面试官!)状态机是通过定义字典控制对象状态的合法流转以及流转动作;Outbox模式通过在数据库事务中新增本地消息表插入待发送消息,用定时任务补偿发送失败,来保证操作原子性与一致性。16.本地响应很快的接口,到线上需要6、7秒,会从哪些方面排查?采用分治思想,从前后端全链路、本地与线上环境差异、数据库、缓存网络延迟、以及服务器资源耗尽(如TCP连接队列满)等层面排查。(面试官说没有提到主要的用户前端请求进入服务器的完整链路,比如DNS解析、CDN分发等)总结:面试官很nice,其实主包一直是对自己对Python底层的理解还是很自信的,开发框架和一些常用的模块都看过源码,但是面试官还是能顺着我说的拷打我(基本上一般面试官想拷打我需要在他的场景追问才行,这个可以顺着我的理解追问),但是最后还是很认可主包的之前面的一家1.实习中数据模型初始化操作健壮性优化怎么做的?针对其它SaaS不同版本可能出现同一个接口不同的表现形式,通过读取环境变量切换执行逻辑,同时针对资源名称哈希值可能重复的问题,分别增加了版本判断校验逻辑和基于“实例名+删除时间”的联合唯一校验字段。2.Python是强类型还是弱类型?Python是强类型语言。3.Python是动态类型还是静态类型?Python是解释执行的动态语言,代码由Python虚拟机中的解释器逐行解释执行,但也会编译成.pyc字节码文件。因为运行时才知道数据类型,Python函数本来就能接受和返回不同类型 一些模块源码中常用Overload装饰器主要是为了通过静态检查工具和方便开发者阅读。4.Python有哪些数据类型?Python中一切皆对象,常用数据类型包括整型、浮点型、字符串、列表、字典、元组和集合。5.哪些数据类型是可变的,哪些是不可变的?整型是不可变对象,重新赋值其内存地址会变;列表是可变对象,修改内容其内存地址不变,并举例说明将可变对象作为函数默认参数会引发数据串扰问题。5.熟悉的魔术方法?老演员6.元类的理解依旧老演员7.既然很多能用继承解决,为什么一定要引入元类?只有继承解决不了问题的时候才需要用元类,比如框架设计让开发者继承就可以自动注册自定义插件而不需要加类装饰器,或者真的需要控制类的生成而不是类的表现。8.写基本SQL语句有哪些关键字?SELECT、FROM、LEFT JOIN、GROUP BY、WHERE、HAVING和LIMIT等常用关键字。9.SQL语句的执行顺序是怎样的?从FROM开始,然后SELECT选择列和行,最后LIMIT10.Django ORM分组写法记不清api了…但好像也说对了annotate总结:半小时初面,看主包底子没啥问题还要面下一个候选人就结束了……主包是误打误撞学的Python后端,最近也学了一些agent开发,当然时间紧没有太深入学也没有大量投递这些岗位,不过感觉如果面试得是用Python做agent开发的公司,应该这些也都可能会问(其实之前还有面的一家岗位写的后端,实际是agent,然后面完还给我发offer了,我的感受是其实agent开发和后端工程落地还是蛮像的…如果你不去深究大模型本身的话)
查看26道真题和解析
点赞 评论 收藏
分享
04-13 21:39
中南大学 Java
时间:4.10地点:长沙1. 在大学里面学学的那个,大学里面应该是都是自学的吧?2. 我看你当时写的spring java,那你现在面的这个岗位是 golang和 python的技术上多一些,你认为这两个的差异有哪些?>面试官麦不好  我没听清这句话,导致他换成了下面这个质疑性的问题3. 我看你简历上写的都是 spring java,但我们这个岗位是 golang ?4. 先做一个笔试题吧:给你100万条数据(一个表,包括订单 id 和金额),要你从中取出金额最大的前100条,要求时间复杂度尽可能低,并且内存占用要小(不是写 sql,idea 手写,不能用数据库,要求时间复杂度 O(n))5. 你这里的时间、空间复杂度是多少?以这种方式,假设我把100万调成100亿。你这里能运行起来吗?100亿怎么优化呢?看一下运行时间是多长时间。你认为这样是最快的吗?6. 你使用过哪些数据库7. 什么情况下要用 Redis8. 什么情况下你认为是并发比较大?9. 你说数据库性能不行,扛不住,那多大才算扛不住?10. 数据库里面的存储结构类型是什么样子的?11. 为什么是 B+树?12. 怎么保证查询性能,除了加索引,还有什么?13. 有了解过分表吗14. 你平时是怎么学习的15. 现在 AI 的使用情况怎么样16. 反问环节
看得见不:第四题应该是一个容量大小为100的最小堆,先进100个初始化堆,遍历入堆就行了,堆顶就是第100大的,每次和堆顶对比大小,然后调整堆就行了,时间复杂度是n*log100,忽略常数也是n
查看14道真题和解析
点赞 评论 收藏
分享
评论
5
29
分享

创作者周榜

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