2024西山居Seed训练营技术开发面试
只有一个面试官,人挺好的,见我答不上来就赶紧换题。有点紧张,自我感觉答得不行。
主要涉及到 c++ 继承、多线程、经典排序算法、unity 性能优化、计算机图形学、lua热更新。
*c++ 子类和父类的内存分布情况。(没说出来,只学过怎么用,没注意过内存是怎么分配的,初印象大减分,心凉了半截)
*多线程之间有哪些资源是独占的,哪些是共享的。没有加锁的资源被同时访问的话会出现什么问题。(这些还是答上来了)
*还问了一些多线程实现底层的问题。(为啥问这么深答不上来了)。
*经典排序算法有哪些(冒泡、选择、插入、堆排序、快速等等)。快速排序的思路是什么,时间复杂度是多少(nlogn),最差情况是多少(n^2)。
*unity 的 GC 是怎么做的。(分代算法,0代、1代、2代)
*如果unity中发现了性能问题,有什么思路进行排查。(使用 unity profiler 监测性能表现,UI动静分离、合并图集、降低 drawcall、避免频繁生成,销毁对象、使用对象池等等,回答比较开放)
*unity静态批处理有什么作用,有什么限制(优化性能,但是增加内存占用、物体不能移动了)。
*渲染管线的大体流程:应用阶段、几何阶段、光栅化阶段(沿着这几个阶段说了一遍)
*半透明物体的渲染,物体排序算法问题。(我以为问的是半透明物体的排序算法,不知道。现在想想应该问的是空间中物体的排序?八叉树?没弄清楚)。
*lua热更新的怎么做的(因该是我简历里写了,所以问了)
*看过lua源码吗?(没,啊这......)
相对有自信的 C# 、设计模式之类的提都没提。我的第一次面试,别挂我好不好,还是挺想去西山居的。
#西山居##面试##2025届暑期#