字节C++日常实习面经及心得 3月下旬北京入职

C++后台开发日常实习(可转正),运气不错,问的基本都准备到了
来贡献面经攒人品,适合找实习的速成选手
2.6第一次面字节,一面把我问傻了,果然面完就收感谢信
20天后,2.28第二次面字节,三个半小时 三轮视频面,3.1收offer,感觉我的例子可以给大家信心hhh
部门是北京广告系统(问得很底层),互联网金融中心,入职时间还没确定,可能三月下旬,求小姐姐室友!!!(看了北京房价好心累.....

本文思路:

一、面经及部分解答
二、面试准备心得
三、我的学习笔记和学习材料链接(C++语法、操作系统、计网的常考点)
只投了字节,笔记也是针对字节后台开发最近几周的面经总结(2020.1~2),奉上来给近期有C++开发面试的小伙伴参考。

一、面经及部分解答

一面

  1. 自我介绍和项目延伸
    • 讲了寄存器/cache优化的项目(我的项目经历来自学校课程实验,太简单不提了,但是再简单的项目也可以“加加戏”包装一下,提前准备一些可拓展说的知识点)
    • 顺着项目问:如果要做一个栈,用数组的结构还是链表?(提示)数组和链表哪一个遍历的效率高?(解答:数组。考虑cache缓存,所以是一组一组读进去的,而链表肯定是一个一个读的)

    • cache和内存关系?

    • 循环展开知道吗?

  2. weak_ptr了解吗(我讲了解决shared_ptr的循环引用问题,面试官就没再问了,应该算押到考点...

  3. move语义?(讲了移动构造函数的原理)
  4. volatile?
  5. template了解吗

  6. 元编程(meta programming) 了解吗

  7. 原子操作?

    • 回答了大概概念(要么执行完,要么什么都不做),接着问 ”它可以用来解决什么问题?“

    • 答:(停电❌ 内存溢出错误❌) 查了一下,应该是多线程并发的安全问题。

  8. TCP和UDP区别,UDP使用场景

  9. 算法:

    1. [1 2 3 4 5 6] 排列成[1 3 5 2 4 6] (奇数排右边,偶数排左边,不考虑顺序)

      (剑指offer原题)我先用了冒泡,然后面试官问了时间复杂度(O(n2)),想了一会后改成O(n)

    2. 股票问题 ([1 3 5 7 2 3 ]是每日股票价格,买一次卖一次,问如何使得收益最大,即求最大差)

二面

  1. 自我介绍

  2. 算法:多个有序数组排序 vector<int> fun( vector<vector<int> > )

    先用了priority_queue + int [], 面试官同意想法后开始写,但是后来发现复杂度太高,改成map+int[]。后来网上查了,会写一个类解决(和我的想法也差不多)。总共写了40分钟(用法不熟悉 写得有点慢),写完面试官说“时间差不多了,结束“。 (以为二面要凉了,没想到5分钟后接到电话约三面,hr每次都说” 面试官已经在等你了,快去吧“)

三面

  1. 自我介绍

  2. 实现一下 memcpy()  [要点:地址重叠]

3.  对void*你了解什么?
4.  int a[10000000]会有什么问题?
5. 如果想让一个函数在main函数之前执行,该怎么做?
(三面答得不太好,网上搜集了一下答案,略长,有需要的小伙伴往下拉,和笔记放在同一个网盘链接)

二、面试准备心得

我从2020.01开始准备找实习,分为以下两步:

1. 从零开始刷题,《剑指offer》 (一个月)

本科CS,主要在做科研,代码写很少,选择C++是因为Java更差(
1月份开始刷剑指 offer,当时效率很低,一个月才刷完67道题,基础也没看,面试前一天晚上看了面经,感到绝望.....
果不其然,2.6一面结束(狂怼C++语法基础),就收到感谢信了。

不过唯一值得提的是,刷题时,我会给每道题写评价(e.g. 会的/不会的/很神奇的),针对自己弱点总结,比如从这道题中学到的思路、数据结构使用方法,有必要的话也贴上核心代码(做了个excel表格),虽然我刷得慢,但是每道做完都会保证自己第二天见到还能做出来(当然可能也仅限于第二天...)
好处是,准备第二次面试时,我没时间刷题,面试前的上午,快速看自己笔记复习,基本就回忆起了大部分的题目思路。(下午运气好 碰到2道上午手写过的原题变形...所以剑指是真的要好好刷)

2. 看书补基础《C++ primer plus》(10天)

一面完懈怠了一周,然后看字节今年hc多,决定换个部门再试试。先在各种内推渠道,海投了8、9个字节的岗位,却一点动静也没有。内推的学长告诉我简历还被锁,也没法手动取消,只能等着。于是在什么也干不了(而我也没法投其他公司,因为一般都只要2020届校招)的遥遥无期的里(半个月),反倒可以静下心看书。之前因为时间仓促,都是对着面经看博客准备的。现在想来,那样的知识不成体系,面试官一旦深入问下去就知道你只是背过面经的答案。本科对C++的接触是课程(不深入)和cout,并没有真的用到它面向对象的特性(逃)。反正时间多,开始看大块头《C++ primer plus》,虽然很多地方把它介绍成工具书,但是我看了之后提升很大。90%C++语法相关的面试考点,都能在书中找到,而且讲得深入浅出,比如设计某C++11新特性的目的、它的具体原理和作用、和原来的类似功能比有什么进步,非常详细,也没我想象中工具书那样枯燥。

认真高效地刷了一周,每天给自己卡任务,不看完第几章不睡觉那种,一边看一边对着C++面试要点写了笔记(附在最后的链接里)。刷到一半的时候忽然接到约面试的电话了,这回有信心多了。面试前两天刷完C++ primer, 然后对着面经总结考察重点,并靠博客+书解决,不了解的概念就去查一下并写个小程序用一下。面向面试而言,比如为了了解“STL”,可以搜索“STL  面试”, 看看面试官喜欢考什么,尽可能准备到各种问题。

对于计算机基础(计算机网络+操作系统)的知识,我翻出了很久之前上课的笔记,对着面经,划出重点,快速回忆(背)了一遍,并口述出来(模拟面试,不然总觉得自己懂了 但是面试时候不知道说什么),提纲也写在笔记里了。
然后就面试了...每一轮都觉得自己凉了,5分钟后收到hr电话准备下一轮。(所以那5分钟不该浪 应该迅速搜索上一轮面试没回答出来的问题,并据此推测他们团队技术侧重什么,等会可以拓展什么)

唯一的遗憾是,准备面经时只看了一面的问题,没想到三轮一起的。所以第三轮回答得不大好,其实类似的问题在其他人的面经里出现过了(不过倒是没看到答案,所以这次把整理好的答案也放上来分享了,仅供参考)

另外,还要推荐一本后台开发的书(看了一半),从另一个帖子里看来的:《后台开发:核心技术与应用实践》,tx工程师写的,觉得很实用,但是找了好久才找到电子版,放网盘里各位自取。

3. 面试过程小心得:拓展

总之,表现自己是个思维敏捷的fast learner。多说点,最好不要很简短回答完就停下,尽量往你知道的上面扯。即使不知道,也可以把一件事情正过来反过来说,说不定就说到他更加认同的方式了,当然也不要乱说、给自己挖坑。反正他不想听的话,会找新的话题的。
写代码的时候,即使一开始想不到最佳算法,也要和他讲一下思路,或说一下大体分析。不要想不到最优解就一直闷头苦干。

其实准备得还挺仓促的,面向面试准备面试,面试除了实力储备,也要经验积累,一次不行两次再来~
不过,速成型选手我也知道,这样准备的实力挺虚,入职前要保持充电!

三、资源链接

C++学习笔记/三面参考答案/推荐书籍


希望对大家有帮助!祝各位offer多多!
#字节跳动##实习##C++工程师##面经#
全部评论
楼主tql!看得出来科班底子还是在的,基础知识回忆下笔记就能捡起来七七八八~
1 回复
分享
发布于 2020-03-02 21:34
想问下字节的实习是可以多次内推吗,就是一次不过下次再来那种hhh
1 回复
分享
发布于 2020-03-02 21:35
联想
校招火热招聘中
官网直投
很强,一面的算法题居然和我一样的
1 回复
分享
发布于 2020-03-03 00:21
请问一下大佬,实习带转正是从哪里看啊,招聘信息上写明了带转正吗😂
1 回复
分享
发布于 2020-03-04 10:11
感觉三面问的挺有水平的
1 回复
分享
发布于 2020-03-04 22:01
楼主请问一下。看完了primer和两本effective,如果去刷LeetCode和剑指offer,没有项目经历会有人要吗
1 回复
分享
发布于 2020-03-07 19:59
感谢lz 我找这本书找了半天
1 回复
分享
发布于 2020-03-11 11:15
投的是后端还是c++呀?
点赞 回复
分享
发布于 2020-03-02 22:40
楼主你今年毕业?现在找实习的话,是准备转正吗?转正难度大不大啊,能说说你是怎么考虑的嘛😂,我也想投下日常实习。
点赞 回复
分享
发布于 2020-03-02 23:37
多个有序数组排序的思路是什么呢
点赞 回复
分享
发布于 2020-03-03 08:13
楼主一面是远程视频面试嘛?视频面试会让人做算法题嘛?
点赞 回复
分享
发布于 2020-03-04 21:21
不知道用C++模拟一个数据库的课程项目会不会太水,愁😔
点赞 回复
分享
发布于 2020-03-07 15:18
没有问Linux系统编程之类的问题么?
点赞 回复
分享
发布于 2020-03-07 20:27
请问楼主,C++的面试是不是没有问到太细节的操作系统 网络 数据库的知识?
点赞 回复
分享
发布于 2020-03-07 21:53
感谢分享,DD
点赞 回复
分享
发布于 2020-03-11 20:35
老哥  日常实习和暑期实习转正难度有区别吗?  或者做的项目有没有区别呀
点赞 回复
分享
发布于 2020-03-14 20:28
感觉问题都不是很难呀,为什么轮到我就偏偏问那么难的东西😂
点赞 回复
分享
发布于 2020-03-14 21:03
三面这么简单……**看到你的贴子我突然反应过来字节我还没投
点赞 回复
分享
发布于 2020-03-16 18:44
那啥 楼主怎么入职啊 学校在北京不让返校 否则处分
点赞 回复
分享
发布于 2020-03-22 22:32
楼主10天看完C++primer?😂
点赞 回复
分享
发布于 2020-03-28 12:15

相关推荐

点赞 评论 收藏
转发
Tencent AI Lab 游戏组(n-2) 16
点赞 评论 收藏
转发
42 252 评论
分享
牛客网
牛客企业服务