【面经】【字节】后端开发实习生-AI Lab

AI Lab的后端,偏向于算法落地,不会涉及很多os、网络的知识,对代码能力要求比较高。

一面:

  1. 自我介绍
  2. 实习经历(感觉很喜欢问友商的问题hh)
    1.1 上家公司快手,北京,疫情原因远程
    1.2 group是干什么的?你做了什么?
    1.3 主要用了什么技术?对你哪方面能力提升较多?
    1.4 为什么不继续实习?
    个人建议这种问题不要故意踩一捧一,我主要是因为学校在上海,自然选字节实习方便,也有很多学长
  3. acm经历
    队内角色?能力培养?balabala吹
  4. c++
    3.1 new/malloc区别?
    3.2 智能指针?三个
    3.3 智能指针原理?用一个类把传统的指针维护起来,并且把delete写在析构函数里
    3.3+ 为什么可以这么做?对象跳出生命周期就没有用了,如果是一个类的话就会调用析构函数
    3.4 cast?const_cast static_cast dynamic_cast reinterpret_cast
    3.4+ 应用场景?类型转换
    3.4++ 面试官指出malloc的void*用cast转换
  5. 手撕代码
    链表的某一区间反转
    强调边界条件
  6. 反问
    具体做什么的?
    一块是算法落地,python代码改写c++,提高效率,在终端能快速运行等等
    还有就是完整实现一个服务,大概就是写服务接口之类的

二面:
二面应该是leader面,感觉就不是很死磕技术,更看重思维

  1. 自我介绍

  2. 实习经历(略)

  3. acm经历

  4. 手撕代码
    3.1 ac自动机
    ac自动机最开始的那个例题 不想多说
    所有厂的面试官加起来可能也只会拿这一个裸题来碰瓷学生罢了 体验极差
    3.1+ 表示这种题直接放弃 没必要 属于我们队的战略性放弃题型
    3.1++ 那你擅长什么?组队前所有内容都要学,但比赛的话负责签到、dp、高级数据结构

    3.2 dp
    n = 5x+2y+z 正整数解的个数
    考虑z的系数是1,所以对于任意一组(x,y),只要5x+2y<n,z都是存在的
    所以只要考虑有多少组(x,y)即可
    第一重x循环,然后y求一个上界(n-5*x)/2,那么0~这个上界都是合法的,累加即可
    然后表示这个东西应该是可以优化到O(1),但是细节很多,所以先写这个O(n)的
    (写这个O(n)的算法......)
    然后说这边如果不考虑/2的舍位问题的话就是一个简单的等差数列求和,但问题是奇数/2会有一个0.5的误差,所以还需要统计这个0.5的误差,然后就要有个很复杂的讨论balabala
    面试官表示是对的,那暂时就不用具体实现了,就先这样

  5. (大概到现在只过了20分钟)直接聊天
    你有看什么书吗?有看什么咨询吗?有什么想分享的技术聊一聊吗?
    (尬聊)

#面经##字节跳动##C++工程师##实习#
全部评论

相关推荐

菜菜咪:1. 可以使用简历网站的模版,美观度会更好一点 2. 邮箱可以重新申请一个,或者用qq邮箱的别名,部分hr可能会不喜欢数字邮箱 3. 项目经历最好分点描述,类似的项目很多,可以参考一下别人怎么写的 4. 自我评价可加可不加,技术岗更看重技术。最后,加油,优秀士兵
点赞 评论 收藏
分享
评论
7
22
分享
牛客网
牛客企业服务