一亩三分地论坛

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

扫码关注一亩三分地公众号
查看: 1860|回复: 14
收起左侧

Microsoft On Campus 面经

[复制链接] |试试Instant~ |关注本帖
hercule24 发表于 2015-10-28 04:53:44 | 显示全部楼层 |阅读模式

2015(10-12月) 码农类 硕士 全职@Microsoft - 内推 - 校园招聘会 |Otherfresh grad应届毕业生

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

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

x
今天校园面了微软,一个友好的三哥。
到的时候碰到一个学姐出来给我透露了一道题,不过最后没有考到,题目是这样子的:
给0.5 返回1/2, 给0.25,返回1/4,给0.3,返回3/10。想了一下大概可以用binary search...

然后就是常规性流程,问project。然后说让我们写程序吧。
我碰到的题目要简单的多,给一个java file, 删除所有有comments的行,comments有以下形式,
//
/*. from: 1point3acres.com/bbs
*
*/
/* ... */
做的时候不是很仔细,三哥提醒了两次。。。最后到第二种情况的时候,三哥貌似很满意,然后就说不用写了,
接下来就是copy paste了,最后问问题。整个过程蛮愉快的。



求onsite...
averillzheng 发表于 2015-11-1 04:52:08 | 显示全部楼层
写个实现,可能代码不够简洁,但是是work的。

    /**
     * Give 0.25, return 1/4
     * Give 0.3, return 3/10
     * @param n
     * @return
     */
    public static String getString(double n) {
. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
        int mul = 1;
        while ((int) n < 10) {
            n *= 10;
            mul *= 10;
        }
        if (mul != 1) {
            n = n / 10;
            mul /= 10;
        }
        int nInt = (int) n;
        int gcd = GCD(nInt, mul);
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
        return "" + nInt / gcd + "/" + mul / gcd;
    }

    /**. 1point 3acres 璁哄潧
     * Caculate the greatest common divisor
     *
     * @param a
     * @param b
     * @return
     */
    private static int GCD(int a, int b) {.鐣欏璁哄潧-涓浜-涓夊垎鍦
        int max = Math.max(a, b);. visit 1point3acres.com for more.
        int min = Math.min(a, b);
        if (max % min != 0)
            return GCD(min, (max % min));
        return min;. Waral 鍗氬鏈夋洿澶氭枃绔,
    }
回复 支持 2 反对 0

使用道具 举报

snowwolf 发表于 2015-10-28 05:10:16 | 显示全部楼层
第一题为啥要binary search? 不就是先乘以10的乘方直到变成整数然后分子分母求个最大公约数不就行了?
回复 支持 反对

使用道具 举报

 楼主| hercule24 发表于 2015-10-28 05:19:17 | 显示全部楼层
snowwolf 发表于 2015-10-28 05:10. more info on 1point3acres.com
第一题为啥要binary search? 不就是先乘以10的乘方直到变成整数然后分子分母求个最大公约数不就行了?

可是你怎么得到分子分母呢
回复 支持 反对

使用道具 举报

谎言之躯 发表于 2015-10-28 05:54:59 | 显示全部楼层
hercule24 发表于 2015-10-28 05:19
可是你怎么得到分子分母呢

分子就是变成的那个整数,分母是所乘的10的乘方
回复 支持 反对

使用道具 举报

 楼主| hercule24 发表于 2015-10-28 07:24:28 | 显示全部楼层
谎言之躯 发表于 2015-10-28 05:54
分子就是变成的那个整数,分母是所乘的10的乘方
. From 1point 3acres bbs
6666666666666666666
回复 支持 反对

使用道具 举报

snowwolf 发表于 2015-10-28 07:30:13 | 显示全部楼层
hercule24 发表于 2015-10-28 07:24. more info on 1point3acres.com
6666666666666666666
.1point3acres缃
这个确实棘手。。。. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
不过你要binary search的话怎么做呢?分子不一定是1,你咋找呢?
回复 支持 反对

使用道具 举报

 楼主| hercule24 发表于 2015-10-28 07:41:13 | 显示全部楼层
snowwolf 发表于 2015-10-28 07:30
这个确实棘手。。。
不过你要binary search的话怎么做呢?分子不一定是1,你咋找呢?

求最大公约数的时候可以用到
回复 支持 反对

使用道具 举报

snowwolf 发表于 2015-10-28 09:21:12 | 显示全部楼层
hercule24 发表于 2015-10-28 07:41
求最大公约数的时候可以用到
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
你不是说不求最大公约数吗?
再说求最大公约数直接上辗转相除法就可以了,又快又好,不用啥binary serach
回复 支持 反对

使用道具 举报

 楼主| hercule24 发表于 2015-10-29 00:15:16 | 显示全部楼层
snowwolf 发表于 2015-10-28 09:21
你不是说不求最大公约数吗?
再说求最大公约数直接上辗转相除法就可以了,又快又好,不用啥binary serac ...

学习了
回复 支持 反对

使用道具 举报

雀巢咖啡 发表于 2015-10-29 03:14:50 | 显示全部楼层
发现我就是辣个学姐。。现在心还是痛痛痛的
回复 支持 反对

使用道具 举报

 楼主| hercule24 发表于 2015-10-29 03:46:08 | 显示全部楼层
雀巢咖啡 发表于 2015-10-29 03:14
发现我就是辣个学姐。。现在心还是痛痛痛的
.鐣欏璁哄潧-涓浜-涓夊垎鍦
学姐出现了 会有更好的
回复 支持 反对

使用道具 举报

amyzen 发表于 2016-1-5 01:50:58 | 显示全部楼层
怎样删除所有的comments行呢?是用file hasnext()一行行读然后碰到那些comments的字符就skip么?
回复 支持 反对

使用道具 举报

 楼主| hercule24 发表于 2016-1-5 01:57:20 | 显示全部楼层
如果只是skip的话,那些行还在原文件的吧?还是得删除掉,你可以多用一个文件作为输出文件。
回复 支持 反对

使用道具 举报

huangheqing 发表于 2016-1-6 02:20:40 | 显示全部楼层
雀巢咖啡 发表于 2015-10-29 03:14
发现我就是辣个学姐。。现在心还是痛痛痛的

哈哈哈哈哈!!就跟CMU的人一到bay,到处都是熟人一样。
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-11 23:27

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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