2022届字节跳动搜索算法实习生面经

一面(1h)

自我介绍+项目介绍
C++相关:智能指针的基本知识,boost库与锁
其他:Java相关(不了解),Linux内存管理(不了解),TCP三次握手,降维的方法,统计学习LR的公式
算法题:用两个栈实现队列的功能
概率题:圆上任取三个点,组成锐角三角形的概率

1.智能指针
share_ptr和weak_ptr的区别:shared_ptr用引用计数实现了多个指针共享资源,但可能形成循环引用,导致内存泄漏;weak_ptr以观察者的方式,可以在不增加引用计数的情况下对一个shared_ptr的状态进行观测,可以通过lock()返回shared_ptr对资源进行访问
unique_ptr只允许一个指针拥有一个资源,只能用move()转移所有权
2.锁
一开始问了读写锁,但由于只用过互斥锁
3.TCP三次握手
第一次:客户端主动connect服务器,发送SYN=1(表示是一个连接请求),序列号为j;服务器被动打开
第二次:服务器收到SYN后,发送一个ACK=1序列号为j+1的应答给客户端,同时自己也发送一个SYN=1的包给客户端(SYN+ACK包),序列号为k,服务器进入SYN_RECV状态
第三次:客户端收到SYN+AC

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
字节跳动是一家知名的互联网公司,提供多样化的在线服务和产品。在字节跳动的go实习面经中,通常会包含以下几个方面的内容: 1. 基础知识测试:字节跳动会对应聘者的基础知识进行测试,例如数据结构算法、计算机网络等方面的知识。这一部分的问题可以是选择题、填空题、编程题等形式,用于评估候选人的基础水平。 2. 项目经历和实践能力评估:字节跳动也会关注应聘者的项目经历和实践能力,询问候选人在实习或学校项目中担任的角色、面临的挑战、解决方案以及取得的成果。通常会以开放性问题形式出现,侧重考察候选人的思维能力和解决问题的能力。 3. 技术深度面试:在技术深度面试环节,字节跳动会聚焦于候选人在Go语言相关技术方面的掌握情况。例如对候选人对Go语言的理解、熟练程度以及应用经验进行详细的询问和讨论。 4. 沟通与团队合作:字节跳动非常注重候选人的沟通能力和团队合作能力。所以在面试过程中,他们可能会提问候选人在团队合作中的角色、如何和其他成员协作以及如何解决团队遇到的问题等。 5. 自我介绍和问题回答:面试的最后要求候选人进行自我介绍,这是一次展示个人的机会。同时,面试官还可能询问一些与实习相关的问题,了解候选人对实习的期望、目标以及对字节跳动的了解程度。 综上所述,字节跳动的go实习面经主要包括基础知识测试、项目经历和实践能力评估、技术深度面试、沟通与团队合作以及自我介绍和问题回答等环节。应聘者需要准备充分,熟悉Go语言相关知识,并能够展示自己的技术能力、项目经历以及团队合作等方面的能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值