写一个小马智行挂经来攒人品
小马的面试题目很特别,而且网上的面经很少
写一个出来给大家,也顺便给自己攒个人品
他们的题目,除了单纯的考察算法之外,每一个都还有一个需要仔细考虑的点。想通了就很简单,没想通就怎么也写不出来
电面:
1. 在一个二维char数组中查找是否有某个单词 解法: dfs,没别的 2. 一棵二叉搜索树中有两个节点彼此进行了互换,找出来两个点并且将树换成原样 解法:中序遍历
一面:
二维坐标系,一个人站在原点,二维坐标系中存在有很多个长方形挡住了视线。给出这些长方形的四个点的坐标。求问这个人向远处看的时候,有多大的几率不会被长方形挡住视线 我的解法涉及到了多个if语句。单纯的计算长方形四个点与原点的角度,并且在里面选取最大值是不能包括所有情况的。我的解法是对特殊情况进行单独的if判断。但是考官觉得不够优雅
二面:
给定四个数字,每个数字只能使用一次,要求计算通过加减乘除能否得出24 我的解法是先把表达式用string存起来。通过dfs来计算所有可能的表达式,最后计算所有记录下来的表达式的值 考官说太暴力,刚开始给我解释了他的思路我没理解,最后大约有考虑了20分钟想清楚了他的思路。他的思路是不需要考虑乘除运算和加减运算的先后顺序,把所有正确和错误的答案都记录下来就行(这个地方不是很好解释...)。 我理解通了之后用十分钟的时间把他的想法给实现了出来。 最后还是挂了
个人觉得他们家的难度不低。而且就算是自己刷题准备的话也很难准备。各位对他们家感兴趣的可以碰碰运气。不需要特别认真的准备。讲真的他们的这些题目就算我刷再都的题我也不觉得我能当场想出来考官想的最佳答案。
当然也可能是我太菜了.....
哦,还有,他们家一般是20min讨论项目,40min给一到算法题。
祝各位好运