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

条纹电面

🔗
匿名用户-3DR2R  2021-2-28 03:11:24 |倒序浏览

2021(1-3月) 码农类General 硕士 全职@stripe - 网上海投 - 技术电面  | | Fail | 在职跳槽

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

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

x
本帖最后由 匿名 于
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
大小写,结果顺序如何决定。

评分

参与人数 2大米 +2 收起 理由
leros1 + 1 很有用的信息!
xtt2016 + 1 赞一个

查看全部评分


上一篇:Splunk 第一轮 Technical 面经
下一篇:stripe 店面
🔗
leros1 2021-2-28 07:55:20 | 只看该作者
全局:
请问你是用的coderpad还是自己的IDE? 如果coderpad的话,test case是自己写还是里面已经带有基本的test了?
回复

使用道具 举报

地里匿名用户
🔗
匿名用户-3DR2R  2021-2-28 13:59:38
leros1 发表于 2021-2-28 07:55
请问你是用的coderpad还是自己的IDE? 如果coderpad的话,test case是自己写还是里面已经带有基本的test了 ...

我用的是coderpad。test infrastructure就是手写的main()。最开始的test cases是题目里的,后来又自己加了些,最后的面试官也会加几个来验证。

评分

参与人数 1大米 +1 收起 理由
leros1 + 1 很有用的信息!

查看全部评分

回复

使用道具 举报

全局:
请问一下是哪个题目呀?我积分不够看不到,谢谢
回复

使用道具 举报

地里匿名用户
🔗
匿名用户-3DR2R  2021-3-3 14:34:23
本帖最后由 匿名 于 2021-3-3 14:36 编辑
Part 1

In an HTTP request, the Accept-Language header describes the list of
languages that the requester would like content to be returned in. The header
takes the form of a comma-separated list of language tags. For example:

  Accept-Language: en-US, fr-CA, fr-FR

means that the reader would accept:

  1. English as spoken in the United States (most preferred)
  2. French as spoken in Canada
  3. French as spoken in France (least preferred)

We're writing a server that needs to return content in an acceptable language
for the requester, and we want to make use of this header. Our server doesn't
support every possible language that might be requested (yet!), but there is a
set of languages that we do support. Write a function that receives two arguments:
an Accept-Language header value as a string and a set of supported languages,
and returns the list of language tags that will work for the request. The
language tags should be returned in descending order of preference (the
same order as they appeared in the header).

In addition to writing this function, you should use tests to demonstrate that it's
correct, either via an existing testing system or one you create.

Examples:

parse_accept_language(
  "en-US, fr-CA, fr-FR",  # the client's Accept-Language header, a string
  ["fr-FR", "en-US"]      # the server's supported languages, a set of strings
)
returns: ["en-US", "fr-FR"]

parse_accept_language("fr-CA, fr-FR", ["en-US", "fr-FR"])
returns: ["fr-FR"]

parse_accept_language("en-US", ["en-US", "fr-CA"])
returns: ["en-US"]

Part 2

Accept-Language headers will often also include a language tag that is not
region-specific - for example, a tag of "en" means "any variant of English". Extend
your function to support these language tags by letting them match all specific
variants of the language.

Examples:

parse_accept_language("en", ["en-US", "fr-CA", "fr-FR"])
returns: ["en-US"]

parse_accept_language("fr", ["en-US", "fr-CA", "fr-FR"])
returns: ["fr-CA", "fr-FR"]

parse_accept_language("fr-FR, fr", ["en-US", "fr-CA", "fr-FR"])
returns: ["fr-FR", "fr-CA"]

Part 3

Accept-Language headers will sometimes include a "wildcard" entry, represented
by an asterisk, which means "all other languages". Extend your function to
support the wildcard entry.

Examples:

parse_accept_language("en-US, *", ["en-US", "fr-CA", "fr-FR"])
returns: ["en-US", "fr-CA", "fr-FR"]

parse_accept_language("fr-FR, fr, *", ["en-US", "fr-CA", "fr-FR"])
returns: ["fr-FR", "fr-CA", "en-US"]

Part 4

Accept-Language headers will sometimes include explicit numeric weights (known as
q-factors) for their entries, which are used to designate certain language tags
as specifically undesired. For example:

Accept-Language: fr-FR;q=1, fr;q=0.5, fr-CA;q=0

This means that the reader most prefers French as spoken in France, will take
any variant of French after that, but specifically wants French as spoken in
Canada only as a last resort. Extend your function to parse and respect q-factors.

Examples:

parse_accept_language("fr-FR;q=1, fr-CA;q=0, fr;q=0.5", ["fr-FR", "fr-CA", "fr-BG"])
returns: ["fr-FR", "fr-BG", "fr-CA"]

parse_accept_language("fr-FR;q=1, fr-CA;q=0, *;q=0.5", ["fr-FR", "fr-CA", "fr-BG", "en-US"])
returns: ["fr-FR", "fr-BG", "en-US", "fr-CA"]

parse_accept_language("fr-FR;q=1, fr-CA;q=0.8, *;q=0.5", ["fr-FR", "fr-CA", "fr-BG", "en-US"])

最后一小问我的想法是记录每个supported tag的q factor,比如一开始大家的q factor都是-1。然后根据用户输入,有*的话先处理*,接下来处理单独的language(比如fr, en)如果有的话,最后处理完整的tag(比如fr-FR, en-US),每次都更新对应的supported tag的q factor,最后选出所有q factor不是-1的supported tag然后根据q factor排序输出。这道题现场没写完,只说了个大概思路。
我没做到part 3 or 4.


回复

使用道具 举报

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

本版积分规则

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