查看: 5907| 回复: 9
跳转到指定楼层
上一主题 下一主题
收起左侧

[找工就业] 独角兽中型公司面过上百人面试官从review rubrics谈谈我眼中可以注意的面试的点

   
全局:

2016(10-12月)-CS本科+3-5年 | 内推| 码农类General全职@other

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

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

x
今天看了一下自己写过的interview review,竟然也作为面试官参加了100多场面试,也是相当感慨。今天想根据我写过的interview feedback来谈一谈面试中可以注意的地方,希望能给刚毕业找工作的一些帮助,顺便求一些大米。如果有些点不适用大厂的,也欢迎来讨论。

首先我们来一起看写feedback时候一定rate的几个维度:
  • 你是否可以熟练使用你选择的编程语言
  • 有没有写完solution solution对不对
  • 你是否和面试官有好好沟通
  • 你有没有对细节有所把控
  • 你有没有提前计划你的solution
  • 你的code好不要读 好不好测试
  • 如果未来有要加新feature,好不好在你code基础上更改
  • 你是如何做选择的. ----
. From 1point 3acres bbs
. Waral dи,
下面我们来具体看看每一点:
. 1point 3acres
你是否可以熟练使用你选择的编程语言
其实一般面试都可以随便google syntax的, 但是如果可以的话,请尽量减少google的次数。如果你选择了一种编程语言,请你在面试前熟悉一下常用api,包括如何import package,如何call一个api。大家喜欢用python来面试,那我们以python为🌰,可以熟悉下Counter, defaultdict,heapq,deque等的一些常用package。其次其实有的公司有可能会考一些OO的coding,所以至少要熟悉class definition。什么时候定义class 和static method。还有一些小细节可以注意,比如你print string的时候要string interpolation。 用一些语言的新feature也会比较加分,比如如果环境是python3.10以上的话,可以尝试使用python的switch syntax match。.1point3acres
. 1point 3 acres
有没有写完solution solution对不对
这个非常明显,就是纯看题目完成度。


你是否和面试官有好好沟通
面试的时候你是否和面试官好好做了沟通。很多时候面试官也希望你可以解出题目,如果你大方向错误的话也会给你一些hint。你可以把你怎么想的或者怎么卡的告诉面试官,然后认真听面试官的一些建议。比如面试官可能说你觉得这里用linked list合适么,请不要直接说no,他可能在告诉你linked list不合适。
. Χ
你有没有对细节有所把控. 1point3acres
这里是在看你有没有handle edge cases。请在读完题的时候就把你所有的assumption和你想到的edge case都和面试官核对一下。可以包括每个variable的contraint。如果有user input,输入时候大小写问题,可不可能有invalid input。

你有没有提前计划你的solution
你有没有对你的solution提前计划。你读完题有没有想好用什么data structure。你要用OO还是functional approach。你打算写几个functions几个helpers,每个function是干嘛的,take什么input,output format。 其实这点看起来挺费时间,但是挺重要。我有遇到过有人没有提前计划,到后面想换一个approach,浪费了更多时间。. ----
还以python为例,你读完题觉得用tree比较合适,然后需要build tree再parse tree。 你可以告诉面试官。如果面试官没有异议,你可以写出以下大体框架。然后再慢慢implement
  1. class TreeNode:
  2.     def __init__(self, val = 0, left = None, right = None):
  3.     self.val = val
  4.     self.left = left
  5.     self.right = right
  6. def build_tree(lists: List[int]) -> TreeNode:
  7.     pass
  8. def parse_tree(lists: List[int]) -> int:
  9.     pass
复制代码
你的code好不要读 好不好测试
有reused的code的话有没有分出来写个function,而不是重复copy paste。分出来的每一个helper function是不是都可以单独拎出来写测试。function name和variable name是不是合理。.1point3acres

如果未来有要加新feature,好不好在你code基础上更改. 1point3acres.com
其实就是apaptability.1point3acres


你是如何做technical选择的
.1point3acres比如一道题可以用两种data structure来做,你选择了其中一种,你需要解释为何选择了一种为没有选另外一种。比如第一种solution快但是占用memory,第二种慢但是不怎么用memory,你选择了第一种,你可以说meomory比较便宜,latency更重要。
你是怎么做error handling的。这里可以throw expection也可以print。 你为何选其中一个。
你也可以对你觉得没时间实现的地方做一些comment。比如你可以说你觉得用enum更合适,但是因为面试时间紧,你就选择用string。

. 1point3acres
其他:
1. 面试前尽量去熟悉一下公司要使用的编译环境,比如coderpad,hackerrank,看看可不可以 import package, 怎么跑code。怎么跑测试。
2. 尽量每轮准备一到两个问题。公司一般都想让程序员帮忙sell一下,需要让面试官留下问问题时间。
. .и

评分

参与人数 27大米 +48 收起 理由
光影流转 + 2 很有用的信息!
pedelford + 1 赞一个
SubstantialRide + 2 给你点个赞!
Flemone + 1 赞一个
xiana406 + 2 给你点个赞!

查看全部评分


上一篇:fall 2022毕业,这个summer找不到实习直接秋招很伤吗
下一篇:请教下巨硬HE team match 的问题
推荐
 楼主| 卡卡门 2022-2-10 08:23:45 | 只看该作者
全局:
本帖最后由 卡卡门 于 2022-2-9 19:29 编辑
SubstantialRide 发表于 2022-2-9 18:04
看的楼主提到code好不好测试,我想问问如果我Python经常会写nested function会扣分吗?
比如:

这种情况不会扣分。
这样写也有test的方法,如果时间允许,边写边测试就可以了。还是以你这个function 为例,如果dfs return的是个int的话,你可以这样测试。  
当然,如果准备像meta和google这种code不用compile的公司就不用这样测试。只要最后和面试官用口述的方式run一下code即可。重点是让面试官知道you know how to test and verify code and you will always do that.

class Solution: ..
     def pathSum(self, root: Optional[TreeNode], targetSum: int) -> List[List[int]]:
           def dfs(node):
                 blablabla
                 blablabla. 1point3acres
           print(dfs(None)). From 1point 3acres bbs
           print(dfs(TreeNode(1, TreeNode(2), TreeNode(3))))
           return dfs(root)
或者直接
s = Solution()
print(s.pathSum(None)). check 1point3acres for more.
print(s.pathSum(TreeNode(1, TreeNode(2), TreeNode(3))))



评分

参与人数 1大米 +2 收起 理由
SubstantialRide + 2 给你点个赞!

查看全部评分

回复

使用道具 举报

全局:
谢谢分享!!
回复

使用道具 举报

🔗
lardec 2022-2-6 07:11:16 | 只看该作者
全局:
谢谢分享,赞同楼主!
编译环境真的要预先熟悉一下,我遇到过面试网站只支持某个python的版本,居然在type annotation上给我报错,我居然还花了好几分钟去debug,然后才反应过来是版本问题。。。然后面试官也不熟悉python,只当作是我不熟悉这个语言,真的是look very bad
回复

使用道具 举报

🔗
Cinny080808 2022-2-6 10:59:57 | 只看该作者
全局:
感谢分享!
回复

使用道具 举报

🔗
derek0306 2022-2-7 04:10:40 | 只看该作者
全局:
多谢分享!
回复

使用道具 举报

🔗
LE_work22 2022-2-7 08:44:16 | 只看该作者
全局:
謝謝分享!
回复

使用道具 举报

🔗
xiana406 2022-2-9 15:36:31 | 只看该作者
全局:
有几个点真的提的很到位!一个是error handling, 一个是technical选择,还有框架规划。这些之前面试我都吃过亏。感谢大佬总结!非常好的帖子!
回复

使用道具 举报

全局:
看的楼主提到code好不好测试,我想问问如果我Python经常会写nested function会扣分吗?. ----
比如:

class Solution:. 1point3acres
     def pathSum(self, root: Optional[TreeNode], targetSum: int) -> List[List[int]]:
           def dfs(node):
                 blablabla
                 blablabla
           
           return dfs(root)
回复

使用道具 举报

全局:
卡卡门 发表于 2022-2-9 19:23
这种情况不会扣分。
这样写也有test的方法,如果时间允许,边写边测试就可以了。还是以你这个function  ...

是这样啊,谢谢楼主的回复🙏
回复

使用道具 举报

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

本版积分规则

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