一面 6.28:
1.常用的排序算法有哪些,C#、C++等语言中对数组使用的Sort方法是基于哪种排序算法?
2.快排的实现原理,快排的最坏和最好时间复杂度,什么时候最坏,那么如何改进快排?
3.说一下Hash算法的原理,C#语言中哪些数据结构使用hash?
4.说一下红黑树的原理,既然Hash的查询速度快,什么还需要使用红黑树,说一下二者的优缺点?
5.Hash算法中进行rehash很消耗性能,有没有什么好的办法让rehash提高速度,之前已经hash过的数据让它更快找到hash结果?
6.说一下Unity-MLagent的实现原理以及你在项目中的应用,你认为ML-agent目前可以实现在哪些方面?
7.算法题:leetcode 121. 买卖股票的最佳时机 一时间只想到了用暴力法
(还有一些问题,忘记了)
二面 7.2:
1.如果让你实现俄罗斯方块,你怎么实现?
2.如何判断一棵树是否为完全二叉树,伪代码实现。
3.合并两个有序链表。
4.在游戏Dota2中,某英雄有三种属性:冰、火、雷。同时身上有三个属性槽,他可以从三种属性中任意选择三个放入属性槽中,然后通过当前的属性组合召唤技能
- 顺序无关可以组合出多少种不同的技能
- 假如顺序有关可以组合出多少种不同的技能
6.你是如何考虑代码复用性问题的?
全部评论
(10) 回帖