登录
  • #美国面经
  • #码农类general
  • #面试经验
  • #amazon

Amazon 最新 群面面筋 !!!!

chensheng
4709
9
大家好本人4月1号就要参加群面了 这是我收集的面筋希望对要参加的同学也有帮助 ,本来是special interview 的,amazon 那个hr 我也不好吐槽了,随意安排时间,随意改,呵呵哒~~~

进入正题

题目是广告系统,就是阿妈总想要在网页上显示广告,网页被分成8个部分,不同的部分有不同的权值乘数(multiplier),从10.3。每一条广告都有自己的权值,每个广告可以在特定的时间出现在几个可选的位置。这个project被分成了三部分:schedulingselectionimization,每个人选一个部分做。

LZ
做的是selection,主要说这部分。有这么几个输入文件:广告的ID和权值;网页每部分的权值乘数;某一个时段需要出现广告的位置;某一时段广告可以出现的可选位置。目的就是要某一时刻网页上的权值与权值乘数的积的和最大。题还是原来的那道题, 广告的schedule, selection,optimization;我给大家说说每个具体的input 和output, 题目就是前面有人发的那个. schedule: input: scheduleRequestInputStream(大概是这样, 就是一个写好的io, 可以直接读文件的, 你不用去管他怎么实现的, 读出来的东西会放到一个要scheduleReuques的类里面, 这个类里面有id, location, starttime, endtime),HashMap<String,Integer> contentScoreMap(content id和对应的value),HashMap<String, Double>locationValueMap(location 和他对应的value).output: 用一个他给你的ioout输出valid 的schedule和被reject的content, 也不需要操心这个io. selection:input: scheduleInputStream(应该是这个名字,用来读valid的schedule),selectionRequestInputStream(重点说下这个: 这个input会把读入的文件写到一个叫selectionRequest的类里面, 这个selectionRequest里面有两个东西, 一个是int time, 还有就是一个List<String>locations, 待会儿输出的时候你需要把这个locations里面每个location对应的content输出), 剩了的就是contentScoreMap和locationValueMap这两个了. selection有两个要求: 1. 要尽量让整个页面的value*score和最大.2. 同一个content不能同时出现在两个location上. 如果不能满足这两个条件, location可以为空 .output: 用它给你的output输出一个row, 这个row的格式是:时间, 每个selectionRequest里面的locations里面每个location对应的content,还有整个页面的value*score和. 其实输出你不需要管,只需要调用他给你的io里的方法输出就是了 Optimization:和题里面差不多的, 就是多了一个要插入的content的list吧 好像是这样,我就没打算做这个,所以没咋仔细看. 最后给大家要注意他会给你一个叫testdriver的class, 你可以用这个去读文件,然后把输出写出. 但是这个东西你路径没配置好好像会报错,所以要注意. 其实也不需要太多关心, 最后只上传你做的那部分的那个class就行了.哦,对了, 那三个部分是分别存在三个class里面的, 然后每个里面有个public static的方法, 这就是你要去实现的.就这么多了, 想起了什么再来加.

但是和面试官交流的时候感觉他们不是很关心你的code,倒是

本帖隐藏的内容需要积分高于 188 才可浏览,点击前往一亩三分地论坛阅读

pt]狂招人呢在,我这写的代码自认为质量也还成了,该注释注释,到时真的没有几行代码,100行都没到吧,难道是代码过少了,另外可能就是跟面试官没交流好。总之,挺费解的。. 1point3acres.com/bbs







代码要规范,命名、注释等要注意. 整个群面过程中要体现cooperation和leadership,要主动组织 和引导小组讨论,主动发言。
面试前准备小细节:1. 上来建议仔细阅读readme file 把project 按步骤import 同组的印度妹因为没有照readme做 捣鼓路径捣鼓了半个小时2. 读题要快,拿到目开始讨论后,会有面官在周围记录每个人的表,所以迅速读题,迅速开始讨论3. 零散建议

* 要有看懂别人代码的能力。 先看清楚提供的代码有些什么类,别自己写了半天发现这个类早就实现了。这个非常不好。。一来你实现的估计比提供的搓,二来说明你阅读别人代码有问题.
4. 和面官聊得候先自己那部分的思路然后就是follow up,比如如何化整个系,如何测试模大了怎么 etc.5. 尽量不要有hard code,重要的界条件最好用个静全局量。6. 看代,有些function/class已有了,写完了才发现7. 范,按照 java doc 的准来,不会的用 Oracle 官网学一下。8. 其他人的表现对你自己的影响应该不大,主要看个人表,开始写之前大家聊聊就行了,开始写了之后大家也就没空聊了。

9. 中午的面官是不会提示edgecase的。下午我把完整的程序运行出来后,发现有些奇怪的出才发现edge case。我edge case是个面很重要的一个环节edge case没运行出来前很想到,运行后才能发现。最重要的是,下午15min的面,那个面官竟然会直接你有没有考edge case,如果你事前没发现,根本就知道他在什么。所以保你的程序能运行果很关





最后,祝大家面试顺利,早日拿到心仪的offer {:7_196:}

9条回复
热度排序

发表回复