回复: 2
跳转到指定楼层
上一主题 下一主题
收起左侧

代朋友报个UBER面经,估计挂了

全局:

2016(10-12月) 码农类General 硕士 全职@uber - 内推 - 技术电面  | | Other | 在职跳槽

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

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

x
下面是他发给我的CODE,就是READ N BYTE II那个题,只是要OUTPUT READ到的东西,而不是像LEETCODE那样仅仅RETURN一个INT,不过面试官说他这个解法很多问题,然后提出了一个问题,就是说他这个解法MEMORY USAGE不行,他和面试官聊了半天,原来面试官嫌弃他用的是List<Byte>,因为Byte要额外auto-boxing,所以还要存pointer,浪费空间,然后他改成byte[],然后面试官说,一开始因为不知道要READ的FILE的长度,他就只能initate一个byte[n],然后面试官又说这个不好,因为JAVA的ARRAY是不能RESIZE的,所以你如果一个文件只有5BYTE,但用户设置的N是10000000,那你一开始就要INITATE一个1000000长度的ARRAY,后面全都是0,浪费空间,然后我那朋友又说,那我读完了,发现长度OUTPUT ARRAY长度没有填满,我再INITIATE一个短的ARRAY,把数据拷贝过去可以吧,面试官说,那你一开始要INITIATE一个1000000的ARRAY还是没解
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
Res[queueIndex]);
            }
        }
    }

    return res;
}

private void readFromQueue(List<Byte> res, int n, int length)
{
    int lengthToRead = Math.min(n, this.queue.size())

    for (int readIndex = 0; readIndex<lengthToRead; ++readIndex)
    {
        res.add(queue.poll());
    }
}

}


评分

参与人数 2大米 +73 收起 理由
Effiel + 3 很有用的信息!
夏虫不知雪花 + 70

查看全部评分


上一篇:狗狗面经
下一篇:脸家实习一轮
全局:
你同学说java的缺陷有点不对,因为这个“满了就乘以2”是几乎所有语言变长数据结构的底层实现方式,PHP  python  js  java的arraylist 都是这个实现机制,这是标准做法。
我猜这里其实用ArrayList<Character>就相当于实现了这个机制了。   

另外你同学的代码太冗长了,说真的,命名也有问题,居然有变量以this开头,大忌。
回复

使用道具 举报

🔗
freeaccount 2017-1-19 01:50:03 | 只看该作者
全局:
其实那种填满之后double用平摊分析得出的复杂度是O(1)的
回复

使用道具 举报

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

本版积分规则

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