一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

一亩三分地官方iOS手机应用下载
查看: 1435|回复: 5
收起左侧

Qumulo phone interview failed (tad verbose)

[复制链接] |试试Instant~ |关注本帖
心澈非文 发表于 2016-1-7 03:10:38 | 显示全部楼层 |阅读模式

2016(1-3月) 码农类 硕士 全职@Qumulo - 网上海投 - 技术电面 |Failfresh grad应届毕业生

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
昨天电话面试了Qumulo,phone + collabedit.com。题目是一道算法题,和http://www.1point3acres.com/bbs/thread-147404-1-1.html 相同。不同之处是矩阵中包含了fire和joe。我的代码如下。今天收到拒信。我问了feedback,说是“After our hiring manager read the summery of your phone interview, he felt that the code you wrote wasn't as clean as he prefers and that it was tad verbose.” 唉还得练练啊。
  1. // Today, we’re going to be helping Joe. Joe works in a maze.
  2. // Unfortunately, portions of the maze have caught on fire, and
  3. // Joe doesn’t have the maze escape manual in his back pocket.
  4. //.1point3acres缃
  5. // Poor Joe! But you can help Joe escape the maze..鐣欏璁哄潧-涓浜-涓夊垎鍦
  6. //
  7. // Given a maze with both Joe and the squares that are on fire, you.鐣欏璁哄潧-涓浜-涓夊垎鍦
  8. // must determine whether Joe can exit the maze before the fire
  9. // reaches him, and how long it takes him to do it (in minutes).. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  10. //
  11. // Joe and the fire each move one square per minute, vertically or
  12. // horizontally (not diagonally). The fire spreads in four directions
  13. // from each square that is on fire. Joe may exit the maze from any
  14. // square that borders the edge of the maze. Neither Joe nor the fire
  15. // may enter a square that is occupied by a wall..鏈枃鍘熷垱鑷1point3acres璁哄潧
  16. //
  17. // As an example, consider the maze below:
  18. //. more info on 1point3acres.com
  19. // #############   Legend: J = Joe, F = fire, # = wall, |_ = exit. 1point3acres.com/bbs
  20. // # J         #   It will take Joe 14 minutes to exit this maze.
  21. // ####  ##### #   The fire will be right behind him.
  22. // |  #  #   # #
  23. // |  #F #   # #
  24. // |__#______#_| . from: 1point3acres.com/bbs
  25. //
  26. // The maze is represented by the data structure below. I’ve written. 1point3acres.com/bbs
  27. // it in Java, but you can use whatever language you’re most
  28. // proficient in to solve the problem.

  29. public enum Square { Open, Wall, Fire, Joe };
  30. public class Maze {
  31. //Square[][] cells;
  32. vector<vector<Square> > cells;. 1point3acres.com/bbs
  33. };
  34. . 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  35. public static int escapeTheMaze(Maze maze) {
  36.     queue<Maze> maze_queue;
  37.     maze_queue.push(maze);. more info on 1point3acres.com
  38.     int time = 0;
  39.     while (! maze_queue.empty()) {
  40.         size_t size = maze_queue.size();
  41.         for (size_t i = 0; i < size; ++ i) {
  42.             Maze current = maze_queue.top();
  43.             maze_queue.pop();
  44.             size_t joe[2];
  45.             for (size_t j = 0; j < current.cells.size(); ++ j) {
  46.                 for (size_t k = 0; k < current.cells[j].size(); ++ k) {
  47.                     if (Joe  == current.cells[j][k]) { 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  48.                         if (0 == j || j + 1 == current.cells.size() || 0 == k || k + 1 == current.cells[j].size()) {
  49.                             return time;
  50.                         }
  51.                         joe[0] = j;
  52.                         joe[1] = k;
  53.                         current.cells[j][k] = Open;
  54.                         break;
  55.                     }
  56.                 }
  57.             }. more info on 1point3acres.com
  58.             Maze new_maze(current); 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  59.             for (size_t j = 0; j < current.cells.size(); ++ j) {
  60.                 for (size_t k = 0; k < current.cells[j].size(); ++ k) {
  61.                     if (Fire == current.cells[j][k]) {
  62.                         if (j > 0 && Wall != current.cells[j - 1][k]) {
  63.                             new_maze[j - 1][k] = Fire;
  64.                         }
  65.                         if (j + 1 < current.cells.size() && Wall != current.cells[j + 1][k]) {
  66.                             new_maze[j + 1][k] = Fire;
  67.                         }
  68.                         if (k > 0 && Wall != current.cells[j][k - 1]) {
  69.                             new_maze[j][k - 1] = Fire;.鏈枃鍘熷垱鑷1point3acres璁哄潧
  70.                         }
  71.                         if (k + 1 < current.cells[j].size() && Wall != current.cells[j][k + 1]) {. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  72.                             new_maze[j][k + 1] = Fire;
  73.                         }
  74.                     }
  75.                 }.鏈枃鍘熷垱鑷1point3acres璁哄潧
  76.             }
  77.             current = new_maze;
  78.             if (joe[0] > 0 && Open == current.cells[joe[0] - 1][joe[1]]) {
  79.                 Maze temp(current);.鏈枃鍘熷垱鑷1point3acres璁哄潧
  80.                 temp.cells[joe[0] - 1][joe[1]] = Joe;
  81.                 maze_queue.push(temp);
  82.             }
  83.             if (joe[0] + 1 < current.cells.size() && Open == current.cells[joe[0] + 1][joe[1]]) {
  84.                 Maze temp(current);.鏈枃鍘熷垱鑷1point3acres璁哄潧
  85.                 temp.cells[joe[0] + 1][joe[1]] = Joe;
  86.                 maze_queue.push(temp);
  87.             }
  88.             if (joe[1] > 0 && Open == current.cells[joe[0]][joe[1] - 1]) {. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  89.                 Maze temp(current);
  90.                 temp.cells[joe[0]][joe[1] - 1] = Joe;
  91.                 maze_queue.push(temp);
  92.             }. 1point 3acres 璁哄潧
  93.             if (joe[1] + 1 < current.cells[joe[0]].size() && Open == current.cells[joe[0]][joe[1] + 1]) {
  94.                 Maze temp(current);
  95.                 temp.cells[joe[0]][joe[1] + 1] = Joe;
  96.                 maze_queue.push(temp);
  97.             }
  98.         }
  99.         ++ time;
  100.     }
  101.     return -1;. from: 1point3acres.com/bbs
  102. }
复制代码

评分

2

查看全部评分

cc11328 发表于 2016-1-7 03:27:40 | 显示全部楼层
关注一亩三分地公众号:
Warald_一亩三分地
那个帖子第一份代码就是我写的 我都给你写好了干嘛不借鉴下 除掉main函数一共才50行

补充内容 (2016-1-7 03:33):
qumulo面试难度太不确定了 有的人很简单 有的却那么难 基本那都这个公司的人也都不去 他家还想招人么
回复 支持 反对

使用道具 举报

 楼主| 心澈非文 发表于 2016-1-7 03:33:55 | 显示全部楼层
关注一亩三分地微博:
Warald
我的接口不一样,maze里面包含了fire和joe。我就合在一起写了。
回复 支持 反对

使用道具 举报

BrilliantBean 发表于 2016-2-5 00:33:53 | 显示全部楼层
楼主可以分享你一下你的oa代码吗? huangrui6556@gmail.com 拜谢楼主
回复 支持 反对

使用道具 举报

antonioybw 发表于 2016-2-20 04:09:30 | 显示全部楼层
请问下楼主, 这个题是在collabedit上写不用compile是吗?

因为我注意到你的代码中不是都是标准函数,所以只要功能逻辑正确就行 无所谓语法?

谢谢
求职神器indeed - 在全球最大的求职网站找找适合你的工作?
回复 支持 反对

使用道具 举报

billyli8866 发表于 2016-2-24 09:55:13 | 显示全部楼层
size_t 是什么呀?
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2017-2-24 23:11

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表