大概分为三个部分:
项目中动态物体实现部分:
项目演示部分结束后:
(使用奇异递归模板)
PS:大多数人都会有自己的一套内存管理机制,来防止内存泄漏的一些问题。(差不多就是使用STL的内存管理机制来进行进一步的管理。)
刚刚你讲了很多,其实仔细思考一下就可以解决上面我问的问题,一般来说的话,大多数人都会构建一套自己的内存分配机制,这样的话能够对自己的内存有个合理的利用,不仅仅是内存的一个合理利用,更关键的是能够很好的解决CPU cache miss的一个问题,因为cache miss 的这个问题是非常影响性能的,尤其在一些游戏端的设备上。
其实还有的方法就是用智能指针、使用最新的编译器系统,比如说像GCC这种,就是更加偏向于底层了,事件发生的时候能够第一时间检测到访问错误的地方,而不会让这个崩溃产生第二现场,导致无法找到根本的原因。
看虚幻源码,俗话说的好,纸上得来终觉浅。学习编程的话还是需要进行一个实际的落地,而学习虚幻源码就是一个很好的途径,对源码中的东西进行一个反复的思考。像很多东西从0到1写是不太可能的,所以需要先看懂现有的一些东西,然后再对他不合理的地方进行修改,其实工作到了一定年限,就会知道,发现问题比解决问题更重要。发现问题之后,问题就能解决,但是大多情况下就是发现不了问题。为什么发现不了问题呢,就是理论知识有些欠缺,看的东西少了。如果真正的是从0到1开始搞的话,其实就是写论文,意义不大。其实大部分大家都没有这样,更关键的是如何将现有的工程和其他工程的其他模块的东西融合在一起,做一个比较好的贴合。
[值同步、RPC]
[比如说运行过程中骨骼链拉伸过长,导致IK 出现问题]
234. 回文链表
PS : 写题目的时候不能直接就开始做,就算遇到了之前做过的题目,也要从零开始分析,和面试官进行沟通,然后一步一步的向自己心中的那个最优解推进。
普通函数会在虚表里面吗?
会爆栈。
PS : 在面试官换问题的时候,需要想想他为什么会切换到这个问题来,目的是什么,只有考虑到了这个因素,才能更好的去回答面试官的问题。
是为了满足自己的虚荣心吗?
做游戏是要带一些虚荣心的,像那些日本的游戏设计师,他们的虚荣心都很强,比如说像宫崎英高的魂系列游戏,他做魂的时候基本上不考虑别人的感受,他是完全表达自己的想法的,让玩家按照他的想法去玩,玩完之后还说他做的游戏好,这就是一种虚荣心的表现。
很多时候天赋还需要锻炼、不断学习,什么东西是天赋呢,就是你对游戏的理解。
面试官:其实在大部分的情况下,人都是带目的的,你不带目的做的事情,基本上做的都不会很好。目的有反向的有正向的,只不过很多的时候一些目的变成潜意识了,就好比你今天为什么要和我面试,你的目的是为了得到一份工作,或者说是在毕业之后我要怎么交流。再简单点,人为什么要吃饭,因为你要摄取能量,能量就是你的目的,所以做事情大部分时候都是带目的的。
其实很多时候,你在做这个职业的时候需要喜欢这个职业,这是第一个,第二个就是你玩动作游戏的目的是为了让你的职业技能或者让你游戏技能变的更好,这个目的是正向的,我觉得正向的目的都是有价值的,因为他没有让你去害别人。
你选择的这个方向其实挺辛苦的,做程序员其实没有他们想的那么简单,坐在那里码一天代码你就能一直做下去,其实不是的。
对于一个好的程序来说,他首先是一个程序热爱者,他喜欢玩游戏,他才去做,他有自己的表达欲,想把自己的想法表达出来,所以他必须要在技术上有磨练,他需要和别人有合作,所以他必须要花时间来玩游戏。
哈哈哈,上学的时候你们可能不觉得,上班之后就会觉得挺苦的,因为你要抽时间玩游戏,抽时间学技术。
聊了一些生活方面的东西。
回答问题不是你想怎么回答就怎么回答,你需要对面试官提出的问题进行一个分析。
首先想清楚他为什么要这么问;
然后对该知识点进行一个概括性的回答(不要太着急,语速放慢);
接下来对自己的讲的内容进行一个详略的解释。(注意是详略,需要时刻知道问题是什么,对一些地方进行详细的讲解,对一些地方简单的说一下。)
二面就感觉寄了,没有答好,但是字节还是给了我体验后面两面的机会,非常开心。字节面试体验非常的好,就是享受!!!!学到了很多东西!
对于这次面试我也针对性的深入理解了一些知识点,希望能帮到大家:
C++ 实现shared_ptr 智能指针
C++ 虚函数
目前还是没有找到工作,害,希望有朋友能够帮忙推荐一下,游戏客户端开发方向。
有没有和我同一个方向的同学呀!私聊加个联系方式沟通沟通呗,找工作找了好久了,希望能有大佬带带路。(●'◡'●)。
#字节跳动##朝夕光年##字节跳动秋招提前批##游戏客户端开发工程师##2023秋招#