#软件开发2024笔面经#背景:双非非科班本 985计算机硕士 无相关项目 无实习 简历上写的是主力C++开发 会一些UE5的操作
面试官王者荣耀负责性能优化方向的
没有让自我介绍,一上来就是对着简历问了问,简历写了个前端的项目,也没多问,我也直说了简历写个前端项目来面试游戏岗位只能证明我能写代码
然后就是C++八股:
1.vector 和list 区别,为什么遍历同样长度的vector要比list快?
2.C++的智能指针,sharedptr在哪一步加锁来确保线程安全?
3.struct 为什么要设计成内存对齐,有什么好处吗?
4.map和unordermap区别,哈希冲突如何处理?
5.虚函数,虚函数表在哪个区域,是什么时候创建的?
简历上写了会用UE引擎
6.Direct渲染一个三角形到屏幕中间做了什么,直接答不了解,确实没学过计算机图形学,只会引擎拖和点,就进入手撕了。
手撕用的是腾讯会议自带一个ide应用,可以自动补全和格式化代码,体验很好。虽然没有共享屏幕但是面试官可以实时看见你写了什么。一道lc简单不多说,另一道是lc1044,hard,当时只想到了暴力的算法,即使这个暴力做了优化但是还是过不了最后一个用例,面试官说好歹能写出来这个题已经算强的了(可能看我前面八股太菜了又是跨考所以不觉得我能写出来吧),然后面试就结束了。手撕第二题期间我这边出现了点意外要中断5分钟换个地方去写,同意了,因为这个意外我很慌,反问环节我都不知道问什么了,只顾着给他道歉耽误他的时间了
八股问的很细节,面试官希望我能深入计算机底层去回答,(个人觉得是因为和他做的是优化有关所以往底层去问,第二题都问到汇编去了),除了第一题我都答得稀烂,问到虚函数的时候已经脑袋宕机了,再说这一块也不是很懂。周一下午面,周三晚上显示挂了。不知道别的部门还有没得捞,我也只会写C++,不打算卷java后端了。我对自己的评价是菜就多练,大不了从头再来