Hi Siki 老师与其他老师,
你们好!
我是一名A计划的学员,我是Siki老师的忠实粉丝,其他老师的课程讲的也很不错!
A计划我学了差不多一半左右的课程,我自己感觉也是受益良多,每次学完自己做出来一个跟课程一样的小项目觉得很有成就感。
我最近尝试做了一个小游戏项目,向某公司投递了简历,得到了一次面试的机会。
在该公司上机测试的时候,他们提供了一个自己的项目给我进行测试,共了4道测试题,2个改bug 以及2个完善功能。我在一个半小时的测试时间内非常艰难地只完成了2个改bug的问题,完善功能的根本无从下手,因为我发现我根本读不懂他们的代码。
比如,游戏开始前有一个321的倒计时出错了无法倒数,我需要定位到相应的代码进行修改,我花了半小时才找到这段逻辑的代码,因为他们的代码与平时课程中学的大不一样,他们不会简单地在相应的游戏物品身上挂相应的脚本,而且不会在简单地在面板上进行赋值,导致我不知道如何定位。另外,功能题有一道题的意思大概是“使这个静止守门员可以在球门前左右移动,需设计移动逻辑,且使用相应的事件触发他的运动“。 我发现守门员的脚本里,他的update块里一句代码 都没有,守门员除了守门之外的其他运动 不知道是哪里在控制的。在阅读代码的时候,他们使用大量的事件,委托等,而且他们使用的类名,方法名,完全不会是我们平时课程里讲的那么直白如CharacterMove, EnemyDie,包括字段名称,属性名称,脚本名称,都有如读天书。
后来结果可想而知,我没有得到那份工作。但是沮丧的心情并非来源于面试的失业,而是对学习的期望。我后来想了很久,没什么他们的源码会这么难懂。后来我到unity官网 下载了 官方一个Demo叫做 FPS Sample,我看了一下与我去面试时见到的源码很相像,它的文件编排,他的代码的规划,以及代码本身,都是天书,我只能说这是C#代码,但是他为什么要这么写,他的用意是什么,目的是什么,完全不能理解。。我感觉到无尽的绝望。 我感觉像是一个小学生,进入了大学考试的考场,心中只有惶恐和无奈。
我把A计划后面没学的课程,我都看了课程简介。我感觉即使我学完了A计划全部课程,我也未必能读懂这些官方项目的代码。 所以我想请教老师:
1. 我需要学些什么,需要怎么努力,才能读懂至少是 FPS Sample这样成熟的项目源码? 才能自己写出那样的代码 (即便是模仿)?
2. 老师是否可以考虑出一个类似的课程教我们读懂这种源码?包括如在陌生的工程中定位脚本,改bug技巧,等?
来自学员被现实打击后的绝望,望老师指教!
同学你好,同学写的很真诚,老师也读完了。同学的这个问题其实是视实际情况来确定的,没有标准答案。因为同学的程度老师不知道,同学是不是把每个课程都学会学透了老师也是不清楚的。有没有把每个知识点学会掌握也是一个问题,综合起来就是我们自己的技术能力以及到达的程度是不一样的。第二个是,同学面试的公司程度不同可能要求也不同,大公司,品牌公司,中等公司小公司都是不一样的。第二个是如果是在校生是一个标准,社会人士又是一个标准。而且公司招的程序需求类型也是不同的。这个也跟薪资挂钩,所以只是一份工作的面试并不应该打败同学的呀,老师曾经1位同事面试200多个工作,最后才得到工作。我们要在面试中不断去提升自己,各方面,不管面试技巧,自己的专业知识等等。
对于同学说的面试题中,学院的课程都是有特异性针对性的,比如我们这个课程就是讲音游的,那么我们只会把重点放怎么去实现音乐游戏上,不会把重复性的知识重复去讲,比如在Inspector里去赋值。我们商业项目怎么去做我们可以学习Unity商业游戏底层资源框架管理,我们就会学到真正的商业游戏是怎么去加载,怎么去实现的。所以同学要把每个课程都理解学会,多思考。
修改bug的问题如果同学有认真学习,那么应该都是知道,Unity需求是千变万化的,不同需求有不同实现,那么我们修改bug的思路也是不同的,需要长期培养慢慢渗透的,老师们都有在课程中去讲针对我们当前案例怎么去调试。
同学要清楚我们自己的高度是我们自己决定的,不是别人决定的,老师只能起到一个启蒙教育的作用,并不能伴随同学的一生。多动手,多思考,把学过的课程不只是跟着敲了一遍而是理解,多看看一些成熟的案例源码,多啃啃,这个不是一蹴而就的。
同学如果有想要面试得分一份工作的需求可以详细咨询一下学院的B计划,会有专门的老师为同学服务。