先说一下本人普通本科院校,大一12月份开始搞算法,到大一暑假完,大二开始学unity,奖项的话有一个计算机设计大赛的国三和蓝桥杯国三,项目主要是一个网络端的项目
因为去年学长去过腾讯,拿到实习,所以给了我不少的指点和方向,在这里还是要感谢的我的学长
3.15 腾讯一面
- 介绍自己和项目(项目是网络项目)
- tcp怎么保证可靠传输
- 滑动窗口怎么理解
- https http协议(不会)
- 字节对齐,(回答比较烂,学过这东西,但是没了解清楚)
- 虚函数和多态
- topk问题 和 堆排序的详细过程
- 以上就只有20分钟,剩下40分钟就是手撕代码,让我写一个 求字符串的最长回文字串(给了我好长时间,没写出来,最后主动放弃,面试官看我放弃也不理我了,反问都没有,就直接挂了)
总结:第一次面试挺紧张的,也忘了问面试官是那个部门的了,而且面试之前一直没有看算法,导致生疏,然后后面半个月在疯狂刷剑指offer
3.21 第一次笔试
5道题目过了0.75道,然后过了两天就灰了,没消息
后来半个月的时间简历就一直在池子里面泡着,人家都被捞了好几次,可是就是不捞我,半个月改了好几次简历,一直没有消息
四月初突然收到笔试通知,参加第二次笔试,然后也收到了面试的通知
不过现在回想也是挺幸运的,半个月的时间够我好好准备算法了
4.4 第二次笔试
因为第一次面试吧有点受打击,导致第二次笔试也没怎么在乎,感觉自己没啥希望,那天下午还跑去外边骑车溜达了,回到学校的时候还有不到20分钟就开始笔试了
题目也是挺随意的做做,过了一题。。。。。
4.6 一面
面试官声音很和蔼,感觉人很好,很让我放松,而且感觉和斗哥声音很像
首先是针对那几个获奖让我说一说,然后提问基本上都是基于项目来的,然后在基础上深挖一下,还问我内存压缩这一块(我就往字节对齐上说了,后来了解到面试官应该是想问我哈夫曼编码)
图形学掌握的怎么样,(比较烂)那你吧你自己所有的会的都说一下 最后提问我动态模糊(不会)
4.6 二面
- 介绍
- unity生命周期
- c++多态 哪些函数可以是虚函数,理由
- 内存分配方式
- c++编译过程(说不出来,让给点提示,面试官问我宏定义,我说预处理,然后扯了一下函数重载怎么确定的)
- 引用指针区别
- 红黑树,顺便和AVL比较一下
- 大端小端
- tcp udp区别
- 线程安全
- 问我图形学学的怎么样 然后介绍渲染管线 光照模型(四个说出来三个,全局光照模型没想起来,布灵冯具体是啥也没说出来)
- 接触过ue? 没有,电脑是轻薄本,带不起来
- 手撕代码 力扣-最大连续子数组的和
- 反问阶段 然后就了解面试官是是魔方工作室的
然后过后就开始补图形学,准备其他的面试
以为自己要凉呢,结果还是过了,挺高兴的
4.9 HR
面试官迟到五分钟,然后面试官做了自我介绍,是个小姐姐,声音很好听
- 自我介绍,(后面很多提问也是根据自己的介绍来提问的)
- 大二为什么改变想法去做游戏,为什么不搞算法了(真实原因是ACM收智商税)
- 怎么了解到游戏这个行业和大厂的录用标准,是什么支撑你搞了一年半游戏
- 为什么选择unity入手
- 分享一下你是怎么进行系统学习的
- 介绍一个项目和其中背景,
- 在介绍一下获奖经历的那个项目,项目中有没有和组员意见不一致的时候怎么解决
- 介绍一下当讲师(大二和一些成绩差的同学讲过课)的经历,课堂反馈怎么样
- 腾讯的第一场笔试为什么做这么差
- 玩啥游戏(其实自己除了cf打的厉害点之外,其他的也不玩啥)
- 大学时间怎么安排的
- 考研意向有没有
- 家那里的,什么时候能实习,能实习到什么时候,希望在那个城市发展
- 最近面哪些岗位公司,都给你发offer你会选哪个
- 之前两个面试官你觉得怎么样
- 面试通过的话了解过你的项目组嘛
- 有没有预想过毕业以后的收入
- 反问
4.12 云证来了
然后下面就是其他的公司的面试吧,顺便也写一写,希望能帮助到大家
4.9 吉比特
- 自我介绍
- c# GC 第0代第1代(不懂,后来去官网看了下讲解)
- 字符串string
- 装箱拆箱
- Unity中的mono
- 四元数(只知道是为了解决万向节死锁)
- 让在unity里面求一个什么坐标,具体不理解面试官说的什么意思
- Tcp建立连接,客户端发送三个数据包,问接收端的缓存池有哪些情况
- 命令模式
- c# 反射
- c++中栈和堆 栈内存溢出的情况
- 析构函数声明虚函数的原因,举个栗子
- hash冲突解决方法
- 图的广度和深度优先搜索,广度搜索怎么防止变量重复节点,怎么实现广度和深度搜索
- c#的list的clear复杂度是多少,因为list源码读过,所以开始了各种口嗨,然后又问我hashtable的clear复杂度
- 课余时间度过那些书
- 反问阶段
4.12 网易一面
- 前半小时先做题,题目是求字符串的所有不相同的子字符串的个数
- 介绍自己,然后项目
- 然后根据项目提问,性能优化,drawcall,刚刚笔试题你的思路,
- c++多态
- 虚表,多继承下的虚表
- STL挑几个熟悉的讲讲
- 编译原理学过没(上课从来不听,老师天天关注我),说说c++编译过程,还有语法分析词法分析说说(不会)
- c++内存,new 堆栈,什么情况下是在栈分配内存,栈溢出,溢出的危害
- 静态链接和动态链接(不会)
- cpu调度算法
- 线程,进程,为什么进程切换消耗比较大,有多个协成是不是可以同步进行?
- 虚拟内存
- 连续子数组最大和
- 多个点,某两个点的最小距离(说了迪杰斯特拉和三重循环的多源最短路,然后往A*上说了说)
- dp铺地砖问题
- 反问
4.14字节-朝夕光年一面
- 介绍自己然后根据项目提问,后来说到服务端多线程访问一个数据库的各种情况
- c++的八股文
- 题目:二叉树的最近公共祖先,(时间太长了忘了咋写,没写出来,只是给了思路)
4.15网易二面
- 项目提问深挖
- 做题:实现strcpy函数
- c++:给了下面这段段代码问你是实现啥功能的说一说,没说出来,然后就说了说智能指针这一块,感觉很像
#include <atomic> class Object { public: Object() : m_refCount(0) {} Object(const Object&) : m_refCount(0) {} int getRefCount() const { return m_refCount; } void incRef() const { ++m_refCount; } void decRef(bool dealloc = true ) const noexcept; protected: virtual ~Object(); private: mutable std::atomic<int> m_refCount; }; // object.cpp void Object::decRef(bool dealloc) const noexcept { --m_refCount; if (m_refCount == 0 && dealloc) { delete this; } else if (m_refCount < 0) { fprintf(stderr, "Internal error: Object reference count < 0!\n"); abort(); } } Object::~Object() { } // object.h template <typename T> class Ref { public: Ref() {} Ref(T* ptr) : m_ptr() { if (m_ptr) ((Object*)m_ptr)->incRef(); } Ref(const ref& r) :m_ptr(r.m_ptr) { if (m_ptr) ((Object*)m_ptr)->inRef(); } Ref(ref&& r) noexcept : m_ptr(r.m_ptr) { r.m_ptr = nullptr; } ~Ref() { if (m_ptr) ((Object*)m_ptr)->decRef(); } Ref& operator=(Ref&& r) noexcept { if (&r != this) { if (m_ptr) ((Object*)m_ptr)->decRef(); m_ptr = r.m_ptr; r.m_ptr = nullptr; } return *this; } Ref& operatot=(const ref &r) noexcept { if (m_ptr != r.m_ptr) { if (r.m_ptr) ((Object*)r.m_ptr)->incRef(); if (m_ptr) ((Object*)m_ptr)->decRef(); m_ptr = r.m_ptr; } return *this; } Ref& operator = (T* ptr) noexcept { if (m_ptr != ptr) { if (ptr) ((Object*)ptr)->incRef(); if (m_ptr) ((Object*)m_ptr)->decRef(); m_ptr = ptr; } return *this; } bool operator==(const Ref& r) const {return m_ptr == r.m_ptr;} bool operator!=(const Ref& r) const { return m_ptr != r.ptr; } bool operator==(const T* ptr) const { return m_ptr == ptr; } bool operator!=(const T* ptr) const { return m_ptr != ptr; } T* operator->() { return m_ptr; } const T* operator->() { return m_ptr; } T& operator*() { return *m_ptr; } const T& operator*() const { return *m_ptr }; operator T* () { return m_ptr; } T* get() { return m_ptr; } const T* get() const { return m_ptr; } operator bool() const { return m_ptr != nullptr; } private: T* m_ptr = nullptr; };
然后就到今天了,后面还有字节的二面,网易两天了没有消息,有点乏了,不想在面了,昨天收到了邮件,腾讯官网那边已经显示签约了
更新: 4.20收到网易消息了,官网变成了录用状态,不过竟然连hr面试都没有。。
不过还是很感谢牛客里的各位在里面分享,然后自己也把自己的经历写出来,希望能帮到大家吧,祝大家能够早日拿到offer~
全部评论
(1) 回帖