一亩三分地

 找回密码 注册账号

扫描二维码登录本站

BBS
指尖新闻
Offer多多
Salarytics
Learn
Who's Hiring?
疫情动态
Instant
客户端
微信公众号
扫码关注公众号
留学申请公众号
扫码关注留学申请公众号
Youtube频道
留学博客
关于我们
查看: 266|回复: 3
收起左侧

求大米大米大米 Groupon 0311面经

[复制链接] |试试Instant~ |groupon, mobileeng, 面试经验, 美国面经
地里的匿名用户
地里的匿名用户  发表于 2020-3-28 11:48:01 |阅读模式
本楼: 👍   0% (0)
 
 
0% (0)   👎

2020(1-3月) MobileEng 硕士 全职@Groupon - 猎头 - 视频面试  | Fail/Rej | 在职跳槽

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

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

x

三周前被雷,目前待业码字不易, 生活更不易
现在大米太少太少
账号注册时间早,又不能通过答题获得那95分奖励
求点大米
看看面经
滴水之恩,涌泉相报

一共四轮 ios  sde2 or senior 相当level
BQ 都是常问的题
就不再重复了


round 1
part 1
// This function should return a canonical form of a Unix path:
//
// "." means current directory and has no impact, so it is removed
// ".." means go up a directory, so the ".." and the previous element in the path are removed
// "//" is the same as "/"
//
// For example, if we had the input path:
//
// /Users/ehyche/src/mobile/immobile/../..//tips/./tricks
//
// Then the canonical version of this path is:
//
// /Users/ehyche/src/tips/tricks
//

let paths = ["/some/path/./with/a/dot",
             "/another/path/../with/a/dot/dot",
             "/some/path//with//double/slashes",
             "this/is/./a/silly/../relative//path",
             "this/is/./a/silly/../relative//path/.."

]
let pathsCanonical = ["/some/path/with/a/dot",
                      "/another/with/a/dot/dot",
                      "/some/path/with/double/slashes",
                      "this/is/a/relative/path",
                      "this/is/a/relative"
]
// Part 2

// Now let's work on variable expansion.
// We have a dictionary representing a few preset shell variables:

let variablesPart2 = ["$HOME": "/Users/dbeard",
                      "$UP3DIRS": "../.."]

// These can appear as a shell variable, but must be the only value present
// in a path component.
// Example:

let pathsPart2 = ["$HOME/with/a/dot",
                  "/another/path/../with/a/dot/dot",
                  "/some/path//with//double/slashes",
                  "this/is/./a/silly/../relative//path",
                  "/some/path/long/$UP3DIRS/foo"]

let pathsCanonicalPart2 = ["/Users/dbeard/with/a/dot",
                           "/another/with/a/dot/dot",
                           "/some/path/with/double/slashes",
                           "this/is/a/relative/path",
                           "/some/foo"
]
// Part 3
// One of your co-workers asks for a better version that can handle variable expansion within a path component that contains other text.
// For example /Users/dbeard/${FOLDER}_foo/
// Let's amend the variable expansion spec to the following:
//
// - Variables have two formats
// - $FOO - should be the *only* text within a single path component
//   - /$FOO/$BAR/some_regular_text/blah is allowed
//   - /Users/$FOO is allowed
/    - /$FOO_someothertext/test/ is NOT allowed
// - ${FOO} - may contain other text in a path component, or be the only path component.
//   - /${FOO}_something/othertext/ is allowed
//   - /somefolder/${FOO} is allowed
//
//
// Don't worry about alerting the user to a missing variable, it's a user error if that variable is not set.
//
//


Round 2
manager 纯bq

Round 3
URL 的解析判断是否相同
// In Foundation, the URL struct is used to parse and represent URI's.
// Write an extension on the URL struct that allows two URL structs to be
// compared for equality, independent of the order of the query parameters.
//
// For example, let's say we had the following two URLs:
//
// let url1 = URL(string: "https://example.com/some/path?param1=value1&param2=value2")!
// let url2 = URL(string: "https://example.com/some/path?param2=value2&param1=value1")!
//
// Note that these URLs ar
游客,本帖隐藏的内容需要积分高于 188 才可浏览,您当前积分为 0。
查看如何攒积分 Click here for more info.
on the image view is supposed to show a full screen image viewer. This doesn't appear to be working. Only the first 9 deals in the list have images that are usable in this screen. Note: Only the first 9 deals having images is not a bug, rather just how many json fixtures exist with the image URLs.
6 Once the transition to the image view is working, it appears that there is a crash when loading the images. Figure out what the cause is and fix this so we get some nice scrolling images.
7 When navigating back to the deal details page from the image viewer, there are some visual issues with the chiclet views. The chiclet views are the sections below the image, with an image + label (e.g. timer countdown).
8 Product doesn't like the red placeholder image before images load. We should show a spinner here until the image has completed loading.
9 When tapping on the deal card to go to deal details, the image doesn't show up straight away. Product would like the image to show immediately, since it's already been loaded. Consider using a cache.



评分

参与人数 5大米 +24 收起 理由
TiAmO723 + 1 很有用的信息!
xyz987 + 1 给你点个赞!
清道神君 + 20
IreneXX + 1 赞一个
quxiaotian + 1 赞一个

查看全部评分


上一篇:Amazon Virtual Interview (AWS Consultant) 11道BQ
下一篇:求大家帮忙赊点儿米吧 在职跳槽要累死 谢谢大家了
我的人缘0
TiAmO723 2020-4-13 11:21:16 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (58)
 
 
0% (0)    👎
已加米。 楼主可以说说最后一轮主要是考察的什么呢? 具体是哪方面的bug呢?
回复

使用道具 举报

我的人缘0
jun900928 2020-4-16 12:36:02 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   97% (242)
 
 
2% (5)    👎
TiAmO723 发表于 2020-4-13 11:21
已加米。 楼主可以说说最后一轮主要是考察的什么呢? 具体是哪方面的bug呢?

最后一轮重要考经验和debug水平
1. scroll view 为什么不scroll
2. main thread issue
3. constraints
4. retain cycle
5. reuse cell
6 dispatch back main thread
7. update UI in  view will appear
8. spinning stop animation
9. cache image  
等等
回复

使用道具 举报

我的人缘0
TiAmO723 2020-4-16 12:44:20 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (58)
 
 
0% (0)    👎
谢楼主回复,我也是iOS在职跳槽, 留个微信 TiamO723  是大写字母O 不是0  寻找小伙伴组队交流iOS经验
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

隐私提醒:
■为防止被骚扰甚至人肉,不要公开留微信等联系方式,请以论坛私信方式发送。
■特定版块可以超级匿名:https://pay.1point3acres.com/tools/thread
■其他版块匿名方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

手机版|||一亩三分地

GMT+8, 2020-6-4 18:42

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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