📣 独立日限时特惠: VIP通行证立减$68
回复: 25
跳转到指定楼层
上一主题 下一主题
收起左侧

方块挂经

全局:

2020(7-9月) 码农类General 硕士 全职@square - 猎头 - Onsite  | | Fail | 在职跳槽

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

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
发一个方块公司的挂经

您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies

评分

参与人数 4大米 +15 收起 理由
juhuawanrentong + 2 给你点个赞!
hungryfoolish + 1 赞一个!
geniussmhd + 2 很有用的信息!
匿名用户-YP1VO + 10

查看全部评分


上一篇:骨骼6月店面
下一篇:2 sigma DS OA all passed 求好运
推荐
rainly 2020-9-14 14:32:13 | 只看该作者
全局:
helengu1996 发表于 2020-9-14 10:36
你说的这个就是hold吧,payment不成功再更新available room count + 1。那从place order到支付这段时间 ...

hold是指hold 5min,需要额外implementation,可参见那个视频。
如果拿到available room后call payment service,那pay不成功要available room count+1。
我的place order是指在支付页面的最后操作,通常几秒就会得到结果。
这几秒钟别人搜不到这个room,如果已经进入支付页面,那place order会失败
回复

使用道具 举报

推荐
helengu1996 2020-9-14 11:32:19 | 只看该作者
全局:
平面上有一组齿轮 给你齿比:

1 2 4 3

然后转动其中一个x度, 求其他齿轮的转动角度

rotate(2, 100)

输出

-200 100 -50 37.5

注意齿轮之间的转动方向是相反的,
没啥难度 我用的 linkedlist 做的

楼主这是一排齿轮吗?为什么最后一个的value是37.5呢?不是100*2/3 吗?
回复

使用道具 举报

推荐
 楼主| laoxie09 2020-9-13 15:26:27 | 只看该作者
全局:
rainly 发表于 2020-9-13 15:16
恩,多谢lz,再请教个问题。
hotel booking里你提到
这个没太明白。为啥要hold 5min再支付, 应该随时 ...

是个道理,给用户先hold住然后让他们去翻信用卡填信息。这个时候我觉得这个房间应该不能被其他用户搜索到。对面觉得可以。反正最后一步信用卡支付会失败。functionally 都可以,不会出错但是用户体验不同。所以我说这个design不完全是system design还得去考pm的product sense。
回复

使用道具 举报

🔗
rainly 2020-9-8 10:26:51 | 只看该作者
全局:
多谢lz分享,coding 2输入完A B后要干嘛啊,最终的目标是什么?
回复

使用道具 举报

🔗
 楼主| laoxie09 2020-9-9 03:44:55 | 只看该作者
全局:
没有目标,就是把现成的棋谱replay按照输入replay一边
回复

使用道具 举报

🔗
 楼主| laoxie09 2020-9-9 03:45:14 | 只看该作者
全局:
rainly 发表于 2020-9-8 10:26
多谢lz分享,coding 2输入完A B后要干嘛啊,最终的目标是什么?

没有目标,就是把现成的棋谱replay按照输入replay一边
回复

使用道具 举报

🔗
rainly 2020-9-9 06:08:14 | 只看该作者
全局:
laoxie09 发表于 2020-9-9 03:45
没有目标,就是把现成的棋谱replay按照输入replay一边

多谢lz,还是没明白coding 2的输入,输出。
棋盘里有A,B和dot
输入A之后把棋盘里的A变成*?如何找把哪个A变成*?

刚刚电面遇到了coding 1,再谢lz
回复

使用道具 举报

🔗
 楼主| laoxie09 2020-9-9 06:33:35 | 只看该作者
全局:
rainly 发表于 2020-9-9 06:08
多谢lz,还是没明白coding 2的输入,输出。
棋盘里有A,B和dot
输入A之后把棋盘里的A变成*?如何找把哪 ...

输入自己定义 我定义的是一堆 2D array 组成的图.

一开始print 根节点
[. A]  
[. B]
          user type A print the child a(otherwise print child b):
[. A]   -> [. *]
[. B]        [C, D]
        user type C print the child c(otherwise print child d):
[. A]   -> [. *]  -> [E, *]
[. B]        [C, D]    [*, F]

till there is no child found for the current node.
回复

使用道具 举报

🔗
rainly 2020-9-9 08:51:00 | 只看该作者
全局:
本帖最后由 rainly 于 2020-9-9 08:52 编辑
laoxie09 发表于 2020-9-9 06:33
输入自己定义 我定义的是一堆 2D array 组成的图.

一开始print 根节点

多谢lz, 我就用一个hashmap来存char->next board的mapping。麻烦lz看看是否满足题意
  1. import java.util.*;
  2. public class Chess {
  3.     public static void main(String[] args) {
  4.         Map<Character,String> map=new HashMap<>();
  5.         map.put('A',".*CD");
  6.         map.put('C',"E**F");
  7.         Chess chess=new Chess(map, ".A.B");
  8.         chess.play();
  9.     }
  10.     Map<Character, String> cToChild;
  11.     String start;
  12.     Chess(Map<Character,String> map, String start) {
  13.         cToChild=map;
  14.         this.start=start;
  15.     }
  16.     public void play() {
  17.         String board=start;
  18.         while(board!=null) {
  19.             System.out.println("Chess board: "+board);
  20.             System.out.println("Please input a char from the board");
  21.             Scanner scan=new Scanner(System.in);
  22.             char c=scan.next().charAt(0);
  23.             if(board.indexOf(c)==-1) {
  24.                 System.out.println("Invalid input, please input a char from the board");
  25.                 continue;
  26.             }
  27.             board=cToChild.get(c);
  28.         }
  29.         System.out.println("game over");
  30.     }
  31. }
复制代码

回复

使用道具 举报

🔗
 楼主| laoxie09 2020-9-9 12:20:53 | 只看该作者
全局:
rainly 发表于 2020-9-9 08:51
多谢lz, 我就用一个hashmap来存char->next board的mapping。麻烦lz看看是否满足题意
[mw_shl_code=java, ...

差不多这个意思,这个题很open-ended, 你也可以存坐标。anyway和对面讨论清楚就好
回复

使用道具 举报

🔗
rainly 2020-9-11 12:10:31 | 只看该作者
全局:
laoxie09 发表于 2020-9-9 12:20
差不多这个意思,这个题很open-ended, 你也可以存坐标。anyway和对面讨论清楚就好

多谢lz, 我修改了一个更好的版本,也用tree了。我觉得存char最方便,因为输入就是char,另外如果棋盘有相同的char,那么他们对应同样的下一步吧。
ps 电面过了,谢lz
  1. import java.util.*;
  2. public class Chess {
  3.     public static void main(String[] args) {
  4.         Chess chess=new Chess();
  5.         Move m1=chess.new Move(".A.B"), m2=chess.new Move(".*CD"), m3=chess.new Move("E**F"),m4=chess.new Move("ABAC");
  6.         m1.setNxt('A',m2);
  7.         m1.setNxt('B',m3);
  8.         m2.setNxt('C',m4);        
  9.         chess.play(m1);
  10.     }
  11.   
  12.     class Move {
  13.         String board;
  14.         Map<Character, Move> next;
  15.         Move(String board) {
  16.             this.board=board;
  17.             next=new HashMap<>();
  18.         }
  19.         public String getBoard() {
  20.             return board;
  21.         }
  22.         public void setNxt(Character c, Move nxt) {
  23.             next.put(c,nxt);
  24.         }
  25.         public Move getNext(char c) {
  26.             return next.get(c);
  27.         }
  28.     }
  29.     public void play(Move mov) {
  30.         while(mov!=null) {
  31.             System.out.println("Chess board: "+mov.getBoard());
  32.             System.out.println("Please input a char from the board");
  33.             Scanner scan=new Scanner(System.in);
  34.             char c=scan.next().charAt(0);
  35.             Integer index=mov.getBoard().indexOf(c);
  36.             if(index==null) {
  37.                 System.out.println("Invalid input, please input a char from the board");
  38.                 continue;
  39.             }
  40.             mov=mov.getNext(c);
  41.         }
  42.     }
  43. }
复制代码
回复

使用道具 举报

🔗
 楼主| laoxie09 2020-9-12 13:52:23 | 只看该作者
全局:
rainly 发表于 2020-9-11 12:10
多谢lz, 我修改了一个更好的版本,也用tree了。我觉得存char最方便,因为输入就是char,另外如果棋盘有相 ...

我觉得算法不容易挂,compile过了能跑就行。还是好好准备bq和system design吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

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