网易互娱游戏开发二面5.7
暑期实习游戏开发二面,4.24一面,帖子已发表。
二面没有一开始的半小时手撕环节,只有一个小时的面试。
没有要我自我介绍,很惊讶,面试官直接就我看了你的简历,啥的啥的,了解了做过的项目啥的。
我说python用的多,主要实验室用,结果问了个dict.keys和dict.iterkeys区别,麻了,我就说边用边查,能跑出结果就是好的,效率我还真没考虑过,反正一个返回的是list,一个返回迭代器,(查了下:当list很大时,内存不友好,而迭代器基本不消耗内存,速度更快,python2.x和3.x有点区别,反正用的时候查就完事了,问这个没啥意思)。
c++ 关于内存管理这块你的理解,扯就完事了。
有块内存,同时被一个shared_ptr和weak_ptr指向,shared_ptr析构了,weak_ptr怎么感知?我说shared_ptr析构了,reference count变为0,肯定有个机制让weak_ptr感知到,反正不会,就瞎扯嘛,但具体是啥没了解过。(了解了一下,有个lock()方法)。
还问了下内存对齐
还问了啥,记不起来了。
面试官:“问这些也没什么意思,要不我们来一个具体的问题吧”,讲话细声细气的,感觉有点小猥琐的。
基本属于引导式作答,一个24点游戏的问题,给四个扑克牌....,具体就是给四个数,用+-*/和括号随意组合,算出24。
心想完了,一头雾水,紧张的一笔。反正不会,也跟他battle几下,这是我面试的经验。他说:假设这个算法已经查到了,上面要求3-5天能交付并上线,考虑性能,服务可用性,啥的啥的,你怎么完成这项任务。tmd,我说性能1受制于硬件,硬件就那么个硬件,2从软件入手,算法就那么个算法,这怎么改进啊?中间反正一直说嘛?后面他说可以中间结果存起来,原来是dp,这个引导确实又问题的,这谁能知道?一度给我整到计组里的啥运算都是转化为二进制来做的,他说想的太多了。
他一通讲解,我太紧张了,搞了一阵才搞懂,后要我编码实现。
紧张的一个for循环条件都写错了,他说这个真能过吗?我紧张的不知道了,但是交流了一下,思路没问题,大体代码框架没问题,时间不够了,1个小时。他说,大体没问题。
赶着问了下,你平常玩游戏吗?我说我有个车队,每天晚上3-4小时lol,他说啥段位,小钻石,面试官:还可以奥。
完了有啥想问我的吗?我特么自己说了说今天自己的表现,还特么安慰起我来了,谁都有状态不太好的时候,整笑了。
代码如下,后来实现了一下:bool twoFourGame(vector<int> arrs, int point) { if (1 == arrs.size()) { return point == arrs[0]; } int sz = arrs.size(); bool ggg = false; bool aaa = false, bbb = false, ccc = false, ddd = false, eee = false, fff = false; for (int i = 0; i < sz - 1; ++i) { for (int j = i + 1; j < sz; ++j) { vector<int> vec(sz - 1, 0); for (int k = i, t = 0; k < sz; ++k, ++t) { if (k == i || k == j) continue; vec[t] = arrs[k]; } vec[sz - 2] = arrs[i] + arrs[j]; aaa = twoFourGame(vec, point); vec[sz - 2] = arrs[i] - arrs[j]; bbb = twoFourGame(vec, point); vec[sz - 2] = arrs[j] - arrs[i]; ccc = twoFourGame(vec, point); vec[sz - 2] = arrs[i] * arrs[j]; ddd = twoFourGame(vec, point); if (arrs[i] != 0) { vec[sz - 2] = arrs[j] / arrs[i]; eee = twoFourGame(vec, point); } if (arrs[j] != 0) { vec[sz - 2] = arrs[i] / arrs[j]; fff = twoFourGame(vec, point); } ggg = ggg || aaa || bbb || ccc || ddd || eee || fff; } //ggg = ggg || aaa || bbb || ccc || ddd || eee || fff; } return ggg; }
挺简单的,但面试确实没平常那个coding能力。
END:个人感觉,也没彻底挂掉我吧,可能横向比较吧。
有互娱的懂哥吗?