亲爱的用户,你好:为了提升您的访问速度,我们根据您的IP地址,为您推荐直接浏览Dealmoon中文站。
请选择:
继续浏览中文站 浏览英文站
篱笆老师
篱笆老师
关注
篱笆老师 9 知识达人
1 关注 292 粉丝 922 被喜欢

发布了晒货 9小时前

北美CS求职 | Leetcode 2000道题应该怎么刷?

我在平时被同学问到过最多的问题之一就是面对如今有2000多道题目的Leetcode,应该按照一个什么样的顺序,怎么去刷题呢?今天就大家讨论一下刷题究竟应该怎么刷? 在进入刷题方法论的分享之前,我想聊聊三个常见的刷题误区,帮助大家摆正对刷题的观念,这样才能不焦不躁、脚踏实地刷题。 误区一:刷题可以在短时间内攻克 刷题是项系统性的工程,是一个提升你算法能力的过程,所以必须制定一个合理的计划才行。其实任何系统性的学科都是如此,更何况刷题这种CS试金石呢:只有打好基础,后面的学习才能事半功倍。 误区二:只刷高频题目就够了 很多的同学刷题的时候很喜欢刷高频题目,却没有去深入思考为什么高频题目之所以常被考的原因。高频题目之所以常常被考,就是因为考察的知识点很全面,很多高频题往往是由一些基础的低频题目延伸出来的。只刷高频题,却不去了解背后考察的知识点,其实是主次颠倒,这也就是为什么很多的同学会发现自己刷了很多题遇到新题又不会了的情况。 只有深入理解算法的基础知识,并掌握常见的基本套路后,加上系统性的练习计划,才能融会贯通,达到一道算法题到手,就快速想出正确思路的效果。 误区三:会做题就能拿下面试 刷题固然重要,但是不能有会刷题就一定能拿到offer的想法,面试是一个全方位的考察,算法能力,做题的能力固然是一个重要的考察方面,但不是唯一的方向,除了算法能力,你的沟通交流能力,对算法的解释的能力,接收面试官提示,优化算法的能力以及一些其他的软实力,也都是需要去努力提升的。 讲完了常见的一些误区,我们再来说一说究竟这题应该怎么刷: 1. 掌握一门基本的编程语言 如果你的语言能力和表现没有很强的话,我推荐使用Java用来刷题,首先Java语言本身就业市场很大,学这个找工作肯定没坏处,而且语言本身的设计也很优良。将Java作为面试语言,能传递给面试官自己有稳固编程基础的信号。当然如果你的Python基础很好的,用python也没有问题。这两种是面试最常用的语言。 2. 深入理解基础的数据结构 数据结构的掌握是正式刷题前的预备工作,也只有充分理解基础数据结构的原理,才能明白特定数据结构,之所以会在特定题型中常被使用的原因。理解不同的数据结构特性后,也会帮助我们更好地分析时间和空间复杂度。 3. 分类刷题 我们常考的算法类型完全是可以分类的,比如Binary Search,Recursion,DFS,BFS,我们刷题的时候一定要一类一类的刷,千万不要简单地按照easy, medium, hard的顺序来随机刷题,很容易越刷越乱,无法建立成体系的刷题套路。 一类的题目是有很高的相似度的,解题方式和思路上很多时候也是类似的,这样一类一类的题目刷会更容易帮你总结出这一类题目的思考方式和解题方法。当然一类的题目数量也很多,你可以按照频率从高到底去做,完全没有问题。 还有的同学会问刷题是需不需要考虑easy刷多少题,medium多少题这样,我觉得在刷题过程中并不太刻意的去关注这个,就按照frequency一题不落的往下做就行了。

晒货图片

发布了晒货 1天前

Meta/Facebook最新数据分析面经分享

1.SQL聚合/窗口功能 视频通话表 呼叫者|收件人|日期 |call_id |呼叫长度 Q:过去 30 天,呼叫者发起呼叫的前 10 个 2.SQL聚合/窗口功能 用户表 user_id |age_group |国家|日期 | dau_flag 问:昨天在我们这里花费的时间/活跃用户的总和? 3. 产品感 如果过滤器垃圾邮件好友请求。列举出一系列criterion之后,如何验证你的criterion是正确的,最后一个问题是,可以添加什么新 feature来防止垃圾邮件. 4.产品感 筛选出在某天有多少人通过了好友请求,对于某个人overtime他的好友通过率是多少. 5.产品感 news feed 缩小25% 怎么衡量有没有用,然后就是经典的如何解释美国和泰国两个地区metric 表现不一样? 6.SQL 功能  示例行: 日期|search_id |user_id |age_group | search_query -------------------------------------------------------------------- '2020-01-01' |101 |9991 |“<30”|贾斯汀·比伯 “2020-01-01” |102 |9991 |“<30”|“门洛公园 ”2020-01-01“ |103 |5555 |“30-50”|'john'TABLE 2 示例行: 日期 |search_id |result_id |result_type |点击-------------------------------------------------------------------- '2020-01-01' |101 |1001 |“页”|TRUE'2020-01-01 ' |101 |1002 |“事件”|FALSE '2020-01-01' |101 |1003 |“事件”|假 的'2020-01-01' |101 |1004 |“组”|FALSE Q1:在过去 7 天中,10 个最受欢迎的搜索查询是什么? 问题 2:执行返回多类型结果的搜索的用户占多百分比? 7. 贝叶斯/ 统计 考的基础概率,bayes,comment/dau distribution 要画分布然后根据你估计的mean和median,问你x天后p95和p50的mean怎么变(regression to mean) 8. ML模型基础 一个binary classification的case,问了rf和gbdt的区别,它们的优缺点,loss function是什么,用什么求解(gradient descent)然后问了gradient descent的意义是什么 9.SQL聚合/窗口功能 表:user_actions ds (字符串) |actor_id|post_id|关系(字符串)|互动(字符串) '2019-07-01'|431 |7921 |“朋友”|“喜欢 ”2019-07-01'|431 |7921 |“朋友”|'评论' 2019-07-01'|938 |9235 |“页面”|“哇 ”2019-07-01'|209 |7220 |“组”|“爱” 2019-07-01'|384 |7128 |“组”|'分享' 2019-07-01'|492 |0879 |“页面”|'喜欢' 2019-07-01'|887 |3842 |“组”|“哈哈” 表:user_posts ds (STRING) |poster_id|post_id| '2019-07-01'|123 |7921 | '2019-07-01'|123 |3910 | '2019-07-01'|004 |3495 | '2019-07-01'|832 |3294 | '2019-07-01'|283 |4820 | '2019-07-01'|822 |2472 | '2019-07-01'|119 |8204 | Q1:昨天好友帖子上有多少点赞? Q2:如果我是用户123,你们会如何计算我所有帖子的平均点赞数? 产品: 如何在新闻源中定义有意义的互动? 10.SQL聚合/窗口功能  session id, userid, session start time, session end time, date_stamp, app a. 求各app的session之间的平均间隔,就是关闭一个session然后打开另一个session之间的时间 b. 每个user的bounce rate,好像是app1到app2再回到app1 算一个 bounce

晒货图片

发布了晒货 4天前

ML Design 必备知识 | 机器学习的“重灾区”—广告

Facebook早期的一个负责人杰夫在离开FB时留下过一个很著名的话:“为什么我们这一代人中最优秀的头脑,都在思考如何让人们点击广告,这太糟糕了。” 这句话从侧面说明了几件事,第一,对于如今的互联网公司,广告是最核心的业务之一,所以才会需要这么多人在广告业务里。第二,广告比大家想象的要复杂,所以才需要最聪明的头脑来一起解决这个问题。第三,点击率,是广告系统非常核心的一个指标之一。 广告系统不仅对于公司来说重要,对于ML从业人员来说也很重要。我们说最重要的ML(机器学习)应用场景就是搜广推。对于ML面试来说,广告系统相关的ML Design也是一个非常高频的问题。今天我们就来大致聊一聊广告系统。 首先广告分为很多种,比如display ads(展示广告), search ads(搜索广告)。 比如大家用百度Google或者Bing搜索的话,出现在搜索结果上方的就是search ads。 search ads也分很多种,比如text ads(资讯广告), product ads(产品广告)。 广告是一个三方系统,广告主,也就是发布广告的人,用户,也就是看到广告的人,或者广告曝光的对象,以及平台,比如Google比如Bing。 作为平台方,我们需要兼顾这三方的利益,这就让这个问题变得复杂了起来。比如平台方希望能多从广告主那里赚钱,但是用户希望看到更少的广告或者更相关的广告,而广告主希望在预期开销内获得最多的曝光,点击或者转化。这些利益从某种程度说是互相矛盾的,所以该如何设计我们的系统,策略,就变成了一个非常复杂的优化问题。 广告的收费方式也有很多种,比如给用户看一次或者曝光一次广告,平台就向广告主收一次费,又比如用户点击一次,才收一次费,或者我们还可以用户实际购买了产品,平台才收一次费用。 而收多少费用,又是一个非常复杂的商业问题,甚至是数学问题以及机器学习问题。如果大家熟悉百度曾经的竞价广告的新闻的话,还会发现这甚至还可以是一个伦理问题商业道德问题。 那么当用户在搜索栏里输入一个问题后,搜索引擎是怎么决定展示什么广告给用户呢。 是返回和问题最相关的广告?还是平台方能赚钱最多的广告?还是用户最有可能点击的广告? 这又是一个非常复杂的问题。 不同的公司不同的产品,制定的策略都不太一致。 从数以百万千万的广告池里,挑出最终的几个广告,这里经历了层层的策略筛选,层层的预测和模拟。可以说每次你看到一个广告的时候,背后都是大量工程师科学家的心血共同决定了你看到的是这样一条广告。 一般广告系统的流程是: (1)召回:首先我们会做recall,也就是召回。我们通过一些人为定的策略和ML算法预测,从广告库里来选出几千个或者几百个选项。 (2)相关性预测:接着我们会用非常复杂的ML算法,来从这几千个选项中,再筛选出最相关的广告,这一步也叫precision,或者相关性预测。 (3)预估点击率:接着我们会预测每个广告的CTR。也就是click throught rate。也就是用户点击的可能性。 CTR * 广告主的出价,就是展示这个广告的话,平台的收入预期。 我们就可以通过这个预期,决定最终给用户呈现什么广告。 当然就像我之前说的,广告是个很复杂的系统,我们刚才说的这个流程只是一个简化版的流程介绍。实际上的流程会复杂得多很多。 大家可以发现,整个流程里需要大量的预测,比如预测相关性,预测点击率,预测转化率购买率,这也是为什么广告系统,是机器学习最核心的应用领域之一的原因。 以上就是今天的全部内容,如果对这个话题感兴趣的话,欢迎大家留言告诉我们。

晒货图片

发布了晒货 1星期前

篱笆教育 | 从修改简历到模拟面试,篱笆老师帮我求职升级打怪

W同学(本文作者):国内985本科,哥伦比亚大学硕士,期望求职data方向 Jenny导师:谷歌数据分析师,加州大学圣地亚哥分校硕士,擅长帮助学生挖掘自我能力并顺利通过工作面试,短时间内快速高效提升面试技巧和语言水平 我之前一直没有确定好求职的方向,在回国和留美之间有一些摇摆不定,所以一个是面试投的比较晚,另一个就是一开始对方向有一些迷茫,我本来想找的是暑期实习,但是当时已经二月份了,我就特别焦虑,然后篱笆教育的教务导师通过领英联系上了我,问我有没有找到实习,我就准备试一试,因为我觉得这种辅导服务可以帮我缩短准备时间,提高效率,所以想最后再挣扎一下,就报名了篱笆教育的求职辅导课程。 最开始的时候不知道一些面试技巧,也不知道怎么介绍自己的经历,就是该怎么推销自己不是很清楚。上了辅导课之后,jenny导师首先帮我修改了一下简历,我之前简历可能就有一些问题,然后就一直拿不到面试,老师帮我改了之后现在拿到面试的机率就大大提高,一个是帮我加了一些技能上的关键词,这样就保证机筛的时候通过的概率比较高,第二个是帮我把经历的描述,语言修改的更加native一点,也更加接近data这个岗位的要求。老师改的真的很细心,和我一起梳理了之前的经历,让我的简历比之前更丰富,同时又很符合data这个岗位的要求,所以也帮助我拿到了不少的面试。除了修改简历,jenny导师也帮我准备了一些可能问到的问题, 比较准确,我现在面试要比以前得心应手很多。 jenny老师人特别好,我记得有一次她身体不舒服,嗓子哑了,本来那一周是没有办法上课的,后来我拿到了一个面试,我就想问一下她怎么准备,然后她就说这个知识点是我们下节课要过的,前一天取消了,要不我们今天就把课上了吧。她上课的时候身体还没有完全好,还在咳嗽,还是帮我上完了课,我还是挺感动的。平常我问老师一些问题,回复的也很及时,我觉得不是那种求职机构的很商务的感觉,就是对学生很负责,然后也真心希望我们能拿到心仪的offer的那种感觉。 篱笆教育整体给我的感觉就是很专业,然后像这种12h的项目的课程安排也很合适,导师的专业度和耐心程度都非常高,jenny导师也给我分享过一个篱笆这边的面经库,我觉得这个也挺好的,总之非常推荐给在求职过程中遇到一些问题的同学们! 如果有想要和我沟通的话,也可以通过下面的方式联系我: 邮箱:fall2022go@yahoo.com

晒货图片

发布了晒货 1星期前

Google 谷歌最新数据分析面经分享 | 统计、辛普森悖论

Google 谷歌数据分析最新面试真题: 4. even和odd 位置的各自sum 一个list,算出even 和odd 位置的各自sum 5. 二项分布 生成双项分布的一个matrix,取每一列的和做分母,让每一列的和为1. 6. 最长连续递增子阵列长度 写代码,长度最长的连续递增子数组, 扩展:允许一次violoation, 就是允许array里面有下降的情况,怎么修改 7. 截断正态分布 从 X~N(0,1) 生成 100 个样本,过滤 x>0 并在其上创建直方图。 8. 颜色调查 红绿蓝三色,做一个调查,怎么设计 / 问要设计网络问卷,调查最喜欢的颜色,有哪些需要考虑的. 9. 辛普森悖论 辛普森悖论: 给了一个context 是谷歌 的 一个product,说有一个指标 在每个国家平均值 都随着时间的推移而上升,但是全球平均值 下降了,问为什么 10. AB测试 AB testing, 1000 个人处理, 1000 个人 control, 但是系统坏了, 100个看到 ads 的人 被记录成了没看到, 所以现在系统里显示的是 1100 VS900, 问对结果什么期望 11. 辛普森悖论 问某个指标在10个类别里都下降了但是总体平均却上升了,为什么 12.辛普森悖论 如何构建ab testing,如何收集数据,里面隐藏了一个辛普森的悖论,如何解决. 13. 岗前分析 一个跟时间相关的testing问题,一个功能 launch前后的改变如何测量等. 14. 线性回归线性回归 如果我们有1000个数据点和900个参数,那么模型会发生什么。

晒货图片

发布了晒货 2星期前

Google数据分析岗位最新面经-4月24号

Google 谷歌数据分析岗位面试,最新面试题分享: 1. 概率随机问题 Given an Unfair coin, 如何生成fair probability (50%). 假设这个coin生成head概率为p, 可以考虑生成(tail, head)or (head, tail) 因为他们的概率 都是p(1-p),如果得到(tail, tail) 或者(head,head)重新生成一个pair就好了. 2. 参数和方差问题 OLS, 把现有数据duplicate一遍,问参数estimate和方差,Confidence interval有啥变化。 根据公式参数不变,方程相当于scale了下除以sqrt(2),所以变小了. CI也变小了. 3. OLS的assumption OLS的assumption有哪些?linear in the predictors, 变量independent(no collinearity), error terms’ mean为0并且similar variance(no heteroscedasticity)

晒货图片

发布了晒货 2星期前

篱笆教育 | 三位导师一起辅导,让我最终收获Offer

学员背景(本文作者):国内211院校,研一,期望求职方向为数据分析 Dana导师,谷歌数据科学家,斯坦福大学硕士&牛津大学经济学本科,曾收获谷歌、FB、Bytedance、Roblox等DS offer, 全方面掌握Tech大厂DS面试的知识点,帮助学生整理独特又精准的答题思路 Jenny导师,谷歌数据分析师,加州大学圣地亚哥分校硕士,帮助学生挖掘自我能力并顺利通过工作面试,短时间内快速高效提升面试技巧和语言水平 川川导师,微软应用科学家,宾夕法尼亚大学数据科学硕士,美国数学建模大赛特等奖,多年教辅经验,曾任职多家著名职业培训机构导师,综合能力强,有扎实的数学、 计算机、机器学习背景 我在国内211院校读研一,正在找一些数据分析的实习,期望求职的方向是短视频的平台,比如说字节、快手这样的公司。 我找到篱笆教育的时候时间已经比较紧了,大概还有一周就要下一次面试了,并且我的导师都在国外,还有时差上的问题,Dana导师为了让我能够尽快的提升能力去面试,帮我联系了另外两位导师川川导师和Jenny导师一起负责我的授课,尽量把我的课往前排,我们也会提前沟通协调好上课的时间,有的时候Dana导师凌晨还在给我上课,还是非常辛苦的。 同时因为每一位老师擅长的方向也不一样,我的授课老师也是根据一些不同的专题帮我对应的去选择的。川川导师对机器学习的面试很有心得,很适合应对一些应试性的回答,因为时间比较紧张,也会挑着一些重点的和我说,Jenny老师也比较负责,比较擅长个人简历面,对回答一些个人简历的问题和SQL的问题比较擅长, Dana导师就是数据科学方面的,关于一些产品题目,非常有经验。 总结来说导师们教的东西会更接近北美公司的真实求职情况,虽然都是用中文授课,但是应用在国内求职的话还需要再消化一下,所以如果是在国内求职的小伙伴建议可以选择篱笆国内的导师。但知识和求职经验都是比较相通的,最终我顺利拿到了快手的数据科学暑期实习。 整体上来说感觉篱笆教育的老师非常专业,在国内外有求职需求的同学可以放心找他们辅导,国内的小伙伴可以找篱笆国内的导师,或者如果想接触国外的求职内容可以和北美的老师们一起上课

晒货图片

发布了晒货 2星期前

为什么美国程序员工作比中国程序员工作轻松、加班少?

1、产品迭代速度的差异 同类的app,不论是电商还是视频,国内的app远比国外的复杂,变化更快,功能更多。三天一小改,五天一大改,过个节都要出一套ui,新功能层出不穷,做活动此起彼伏。 硅谷技术强,但是产品迭代速度比国内差太远了。所以,Uber,Airbnb,Linkedin在国内的市场表现都不怎么好。很多技术壁垒不高的产品,比的就是用迭代速度去占领市场。技术壁垒高的产品,不是迭代速度能解决的。中国的IT公司对用户的需求感知的特别快,他们清楚的知道用户需要什么。国内公司对竞争对手的动作也特别敏感(抄的特别快)。你会发现, 阿里,京东比Amazon的功能多多去了。饿了吗,美团也比Ubereats功能多多了。王者荣耀的新东西出的实在太快了。 Google的大佬很多都是工程师出生,重技术,轻产品。而硅谷大部分有特色的新型互联网企业早期都有大量的前Google员工,所以这也是硅谷的一个特色之一。所以中国的IT和硅谷其实是两种IT。迭代速度和发现新的Use Case是中国企业的强项。为了保持这个优势,唯一的方式就是加班了。 2、开发流程的差异 跟国外公司比,国内公司的一个问题就是管理者素质不高,对问题的边界定义不清楚。提需求的人没有成本,无止境地提不靠谱的需求。码农自己开发时也追求快糙猛,提高了系统的风险。 硅谷的大的科技公司在项目实施之前都会写非常详细的文档,描述项目内容,技术难点,流程,甚至测试和未来检测,并且会反复开会讨论这些问题。会议是生产力。讨论得越清楚,返工就越少。比如系统设计,几个组的人一起讨论清楚系统的边界,上下游系统的关系,你的问题边界和需求是很清晰的。这样能有效地降低了风险,极大地提高了软件的质量。 3、社会形态的差异 社会形态的差异肯定是原因之一。美国是一个很讲究Work Life Balance(工作生活平衡)的国家,人权大于公司的利益。所以如果企业如果过分“压榨员工”,是肯定会被劳工部告的。大公司只要有任何风吹草动,都可能惹上负面新闻。美国人看重家庭大于工作,家庭比工作重要。所以那种牺牲自我,保全公司利益的行为是很少会发生的。

晒货图片

发布了晒货 3星期前

未来五年,数据科学家(DS)的岗位需求会有哪些变化?

DS这个岗位刚出现时,各个公司对于它的定位和职能都不太统一。经历了几年的发展之后,目前(2021年底),把DS作为职位名称的职能大致已经固定了下来,有做机器学习建模的,有做产品分析或者统计实验设计的,也有全栈的。那么DS的岗位需求会如何变化呢,我们根据职能分两点讲: (1) 对于产品分析以及统计实验类的数据科学家,它的需求应该在未来不会有太大的变化。这是因为这类岗位其实并不是一个新事物,在机器学习(Machine Learning) 和数据科学(Data Science)这类的概念还没开始火之前,它们就已经存在了。各个公司对于分析以及统计实验的需求以前存在,现在以及未来五年也将一直有。数据驱动的决策制定在未来五年将会一直是大部分科技公司决策指定的核心方法,这类职位也将一直有着比较好的岗位需求。 (2)对于机器学习类的DS和应用科学家(Applied Scientist),随着越来越多的应用场景可以有机器学习的一席之地,这类岗位在未来五年的供给也不会出现突然的缩水。但是另一个事实是这类岗位的竞争日益激烈:越来越多的Phd也在往这个方向涌入,同时也有很多科技公司也明确得将机器学习的职能定给了ML Engineer,机器学习类的DS的就业压力就进一步增大了。 最后做个总结: DS这个岗位在大部分科技公司已经有了比较明确的职能。做分析与实验的DS将依然会是DS的主要岗位方向,而ML方向的DS将依旧保持比较大的就业竞争压力。

晒货图片

发布了晒货 3星期前

篱笆教育 | 从0到一举拿下Meta DS Offer

学员背景(本文作者):董同学,加利福尼亚大学圣巴巴拉分校(UCSD)统计学PhD,今年暑假毕业,最终获得Meta Research DS offer 导师背景:Dana导师,谷歌数据科学家,斯坦福大学硕士&牛津大学经济学本科,曾收获谷歌、FB、Bytedance、Roblox等DS offer, 全方面掌握Tech大厂DS面试的知识点,帮助学生整理独特又精准的答题思路。 因为我是统计学专业的,所以一开始先确定的是要找DS相关的工作,后面看了篱笆教育发的一些分享视频,知道DS主要分成两类,一类是谷歌这类更偏产品和analytics,另一类就会更偏ML,考虑到我自己学习过程中做的ML项目会更多,自己也比较喜欢,大概就决定要找侧重ML方向的DS岗位,最后拿到了Mata 的 Research Data Scientist offer, 可以说是超出预期的实现了求职目标,我个人还是非常满意的。 一开始结识篱笆教育是通过公益的mock interview,当时刚面过两家公司,但是感觉经验还是比较欠缺,都没能拿到offer,所以报着学习的态度,想着多了解一下真正的面试程序是怎样的,就报名参加了免费的mock interview。第一次做mock interview 的时候就是之后带我的Dana导师面的,当时还是很紧张的,尤其是和product有关的,感觉就特别没底,我看过的很多面经里都提到会考AB testing,所以看到产品问题优先想到的就是可不可以用AB test来做,后来在学习过程中发现其实不是。而且很多答题结构,比如 clarify question 也感觉做的挺差的,特别是mock interview 的时候答完了导师就会立刻点评,我心里没底的这些问题马上就会被一阵见血的指出来,也就是在这个时候我就下定决心一定要把自己的短板补起来。 在第一次mock interview 之后,我就去详细了解了一下Dana导师的背景和面试辅导的服务,发现Dana导师拿到过很多我梦想中公司的offer,也是针对于DS方向的,而且也当了很长时间的面试官,当时就觉得这不碰上出题组了吗,Dana导师的经验对于我来说真的非常有价值,价格也在合理的范围内,于是我就报名了篱笆教育的面试辅导服务,由Dana导师担任我的辅导老师。 后面一段时间就一直在做针对性辅导和模拟面试,每一次侧重的方向都不一样,通过这样不断的打磨自己的短板,我的能力有了全方位的提高。像product 相关的问题,之前面的时候我可能就套着面经去答,或者很紧张答不好,Dana导师帮我详细的梳理了题型和回答的思路,在反复练习之后,我反而听到这个问题就有一种“我就知道你会这么问”的感觉,很自信的就能答出来了。 除了面试这个方面,平常我上完课包括面试完对自己做一个回顾的时候会发现自己有一些问题没有真正的理解,就会在微信再私下问一下Dana导师,自己在看面经看到一些高频题解答不出来的时候也会向Dana导师请教一下,Dana导师也会非常耐心的解答,并且给出自己的一些建议和看法,让我少走了很多弯路。 我想说整个服务过程中,感觉篱笆的老师非常的贴心,也很专业,可以为学生做到个人定制,因为每个人的能力在各方面的强弱可能不一样,也就是优势点和弱势点可能不太一样,我特别明显的弱势点就是和product相关的问题,在这个过程中就一直有针对性的提升,能够切实的感受到每一次面试都要比前一次更好。 求职的时候有老师的陪伴给我带来的感觉特别好,真的就像有一盏明灯,贴心的帮助,也非常照顾我的情绪,结课的时候教务老师问我有没有什么建议可以帮助篱笆教育提升的,我觉得就是完全超出预期,希望能推荐给更多有需要的人。今年7月份我就要onboard了,到时候说不定还能和导师们线下约个饭,对新的职场生活期待满满! 如果有同学想要求职类似方向或者想了解篱笆教育的一些服务情况的话,可以邮件联系我交流,我的邮箱是: howarddla6@gmail.com

晒货图片

发布了晒货 1月前

AB testing是万能的吗?这些陷阱你一定要知道

面试中最常问到的问题或在实际的工作中产品经理或者工程师最常问数据负责人的问题就是,当你的AB testing跑完,有一堆数据摆在你面前的时候,应该如何正确的解读这个数据?当然不是仅仅看两个组的差别这么简单。 下面我们就来分享一下有哪些方式可以避免AB testing里的坑: 一、确保数据真实可靠 在收集数据的过程当中经常会有一些“噪音”,这是我们第一个需要排查的事情,确保了数据的可行性,我们才有可能进行下一步的分析。 二、Segmentation 分层分析 比如说整体上控制组比对照组/实验组的效果要好,是不是说我们的实验就失败了呢?并不一定,这个时候我们可以分不同的层次来看,比如说用户的年龄、性别、所在区域,和我们产品建立关系的时间,用户在实验之前使用的频率等等,我们称之为不同的dimension(维度),在不同的维度上,控制组和对照组的表现可能完全不同。 三、Funnel Analysis 漏斗分析 单纯的一个指标的好坏不一定具有完全的代表性,我们这个时候可以看一下它上层的漏斗或者下层的漏斗表现如何,来进一步具体的分析用户的痛点和转化的效率。 四、Decomposition Analysis 分解分析 分解分析比较适合于一些可拆分的衡量指标,比如说社交媒体当中他们特别在乎的一个衡量指标就是日活量或月活量,当我们发现我们平台或产品的日活量较上个月或较去年的同类水平下降了10%的时候,就需要关注是否出现了问题。分解分析就是一个能较快速的找到原因的办法,我们可以进一步将日活量拆成不同的部分来分析,例如新用户和老用户两个部分,日活量的下降是我们拉新力度,也就是新用户的增长不够快,还是因为我们的客户留存变差了呢? 五、注意 Selection Bias 选择性偏差 当我们在设计AB testing的时候我们可以完美的控制一些confounding variables,也就是说我们在设计的时候可以保证控制组和对照组在其他的性质上非常相似,他们唯一的区别就是有没有这个新的功能。 但是,我们所有能看到或能使用这个新功能的用户当中,并不是所有人都会使用这个功能,也就是我们可以控制用户看到或者看不到这个功能,但是我们无法控制用户使用或不使用这个功能,因为这是一个个人选择的问题,也就是我们说的选择性偏差。因为这一问题的存在,因此我们不能保证使用这个功能的人和不使用这个功能的人,在其他性质上都非常相似。 比如说我们想看看使用某一个功能是否能带来利润的增加,我们发现使用这个功能的人,为平台带来的利润非常的低,那是不是说这个功能抑制了利润的增加呢?不是的,正是因为他们的花费少,他们才想要使用这个功能,所以但看目前的数据,“使用功能”和“低利润”之间的因果关系是不成立的。我们应当用其他模型来验证两者之间的因果关系。 综上,AB testing 的解读绝不只是看板看数据这么简单,以上都是在AB testing 中常见的分析手段,希望对你有帮助!

晒货图片

发布了晒货 1月前

机器学习中的特征提取技术已经被神经网络中的特征提取淘汰了吗?

前不久CMU的刘博士出了一篇很优秀的综述论文,他总结了下当前自然语言处理NLP或者ML发展的四个范式。 分别是 基于非神经网络的完全监督学习 基于神经网络的完全监督学习 预训练,精调范式 (Pre-train, Fine-tune): 比如基于MLM的BERT 预训练,提示,预测范式(Pre-train, Prompt, Predict):各种Prompt Learning 方式 每个发展阶段,其实都有需要人来参与到的部分。比如第一阶段的时候,我们需要做特征工程,我们训练模型的过程就像是炼丹。因为特征处理的方式,选择的方式,组合的方式,都对最后模型的效果很有影响,就像炼丹时调整药物配比一样。 第二阶段,我们需要做Architecture Engineering。也就是找到最合适网络结构,效果最好的网络结构。比如应该用CNN还是RNN,还是MLP,是要多少层,是谁连着谁。这个时期从业人员有时候会戏称自己是Neural Network Architect。 第三个阶段,我们需要做Objective Engineering,也就是找到对于一个task或者下游task最好的优化目标。 第四个阶段,我们需要做Prompt Engineering,找到最合适的Prompt。 从每一个阶段到每一个阶段我们都从一些工作当中被解放出来了,而又引入了一些新的工作。比如进入深度学习时代后,我们从特征工程中解放出来了,但是又要开始思考怎么找到最好的网络结构。 我们相信神经网络的强大,相信它的表达能力足够强,能自己理解特征与特征直接要怎么interaction,能自己理解什么特征是重要的什么特征是不重要的。 不过这个并不是说我们做深度学习的时候就完全不做特征了。现实工作中做深度学习项目的时候,我们依然需要结合场景来生成很多特征来来喂给模型。比如做点击预测的时候,我们要人为生成一些统计特征来描述用户的历史习惯;做推荐系统的时候,我们就要人为生成一些用户和推荐品之间的历史交互的特征来辅助我们做推荐。 所以深度学习的时候,我们依然要做特征工作来让深度模型更好的理解原始数据里的信息。但是特征工程的工作量,远远小于非深度时代的时候我们需要做的工作量。而且特征工程在深度时代,就像我们之前说的,往往也不在是我们在训练模型时最主要的工作内容了。

晒货图片

发布了晒货 1月前

互联网公司在面试数据分析师时一般会问什么样的问题?

每个公司的面试过程其实不尽相同,但考点无外乎以下几类: 1、产品思维题 2、统计题 3、Coding题:SQL/Python/R 4、optional(可能会考):BQ(Behavior question)   先来说说也许让某些求职者很头疼的BQ,每个公司BQ考的都不一样,比如对于Amazon,BQ是很重要的一环,Google在onsite interview的时候也会有专门的45分钟来考察BQ,BQ其实考的是你能不能通过过去的学习和工作经验来展示出你和面试公司的文化价值契合,不同公司看中的方面并不同,所以准备BQ问题的方法是: 首先从晚上查找公司的文化、核心价值观、业务指标等公司层面战略指导性的方针 其次准备5-10个例子、故事,并且紧扣第一条,也就是公司的核心价值观和战略发展方向  再来说说每个公司都会考的统计题,不同公司考察的难度不同, 但考点总结下来都是两大类:概率题和统计模型的原理及应用。概率题的考点主要有: 贝叶斯定理(Bayes' theorem) 全概率公式(Law of total probability) 互补事件概率(complementary events) 条件概率(conditional probability) 以及它们的综合应用 统计模型的原理及应用则需要大家对常用的统计模型有比较深入的理解,包括: 线性回归 (interaction terms, L1/L2 regularization) logistic regression tree-based model(random forest, bagging, boosting) 还有一些模型,也有可能被考到,比如SVM、Naive Bayes、K-means、PCA等等  产品思维题可以分为两个大类,Dana总结来看有两种类型的公司,一类是single-user的company,比如google、meta(facebook)大多数属于这一类,还有一类是multi-user的,比如doordash、roblox,amazon,它们都是platform-wide的公司,所以很多时候要考虑几个不同party之间的平衡: doordash:dasher、merchant、consumer roblox:developer、player amazon:consumer、merchant、deliverer  针对single-user company,又可以进一步分成B2B和B2C,有的公司的产品是我们每天可以接触到的,而有一些面向企业级用户的产品我们可能感觉很遥远。所以不同公司的产品思维题应该用不同的答题框架,推荐大家https://www.bilibili.com/video/BV1db4y1q7Dn?spm_id_from=333.999.0.0,这里以meta为例子,详细剖析了产品题的答题思路和要点,并且模拟了面试官的回答提供了很多不同形式的followup后续问题。这种答题思路对大部分B2C的产品题都是有效的。 最后来说说Coding题,一般大部分面试都可以选择SQL,不过目前很多大公司在最后一轮面试中不允许再用SQL了比如Google,只允许使用Python/R,可以看出考察的重点在不断向Python和R倾斜。SQL需要准备到什么程度以及常用的备战面试的函数可以看这里:https://www.zhihu.com/question/379694223/answer/2223230199.

晒货图片

发布了晒货 2月前

机器学习大方向里,有什么前景好的细分方向吗?

这个问题可能从应用场景的角度出发可以更好的回答。目前工业界哪些场景是机器学习应用最广泛的?而目前大厂哪些组或者部门有着最多的算法工程师或者机器学习工程师? 如果回答了这些问题,那机器学习哪个方向在工业界前景最好这个问题就能相应被回答。 目前机器学习在互联网工业界最重要的应用场是:搜广推。也就是搜索,广告,推荐。 这是三个不同的场景,但是他们之间的算法技术栈是高度相关的。 比如,搜索要解决预测哪些结果和用户的输入词更相关的问题,而广告同样也要解决哪些广告与用户需求更相关的问题。推荐系统要推荐用户更可能点击的产品,广告系统同样要推荐用户更可能点击的广告。 这些场景通常是与产品盈利以及产品用户体验最相关的场景,同时也是绝对以算法来驱动的场景。 这意味着,与这些方向对应的部门或者组,也就有了大量的算法人员的需求。而这方向的从业人员,往往也有着很广的就业面。 那么搜广推对应的机器学习技术有哪些呢? 搜广推是个很复杂的系统,这不是一个可以简单就能概括出来的问题,但是简单来说来就是: 自然语言处理NLP/计算机视觉CV/传统ML技术在搜广推都有着广泛应用。 就比如: 在广告领域,往往需要判断广告文本和用户输入文本是否在语义上相关。这意味着做这个方向的组将是一个非常NLP的组。而如果负责的广告主要是图片广告,那CV相关的技术同样也会很重要。 同时,搜广推也同样有着这个领域特定的技术:比如召回相关的模型,排序相关的模型,点击转化预估相关的模型。 大部分人肯定没法做到对推荐系统的每个部分都了如指掌,就如前文说的这是一个很复杂的系统,往往一个推荐系统产品是由好几个算法组一起负责,而每个组只负责系统里的一个子环节。所以你可以在大致了解推荐系统基本流程后,挑选自己喜欢的一个方向去深耕。 总结一句来回答题主的问题就是:夯实好自己NLP/CV/传统ML相关的基础(比如了解NLP和CV的一些主流模型),同时加深自己对推荐系统的了解。 当然对于非互联网领域,有些技术则非常重要。比如在金融领域,异常检测与时序预测是应用场景最广泛的机器学习技术。 如果对推荐系统感兴趣,欢迎点赞或者留言。篱笆老师在以后的文章可以更具体地介绍推荐系统相关的知识。 以上。

晒货图片

发布了晒货 2月前

美国机器学习方向的 master 找工作前景如何?

为了更好得回答这个问题,我们先来介绍两个背景知识。 第一,北美目前机器学习相关的硕士可以大致分为三类。第一类是计算机类/CS项目。随着机器学习近几年越来越火爆,越来越多计算机硕士项目开设了ML或者AI方向的track或者concentration。第二类是数据科学/DS类的项目,近几年虽然DS项目越来越多,但是申请难度却日益加强。最后是其他类项目,比如统计/OR/Management Science and Eng/CSE/IS/EE。这些项目为了与时俱进,在课程设置的时候往往都会安排一两门机器学习相关的课程。 第二,北美目前机器学习相关的岗位大致可以分为三类。第一类是以发论文为目标的researcher岗位。第二是机器学习工程师Machine Learning Engineer或者Software Engineer, Machine Learning。第三就是数据科学家Data Scientist或者应用科学家Applied Scientist。 这三类岗位中,第一类岗位不是Master的目标岗位,我们来重点讨论第二类MLE和第三类DS岗位。首先,并不是所有的DS都是与机器学习相关的。这就意味着,市面上绝大多是的机器学习类的岗位,其实是Engineer岗。例如Google,Facebook,LinkedIn等公司,都是以MLE为主要的机器学习岗位。所以如果之后想以机器学习为职业发展方向,那么MLE是一个机会更多的岗位。如果本身对于做Engineer并不感兴趣,例如微软或者Amazon的Applied Scientist以及很多金融企业或者传统企业,也提供了一些ML相关的工作机会。 大部分面向毕业生的Entry Level岗位往往重视的是员工的执行能力。而ML类的岗位往往还需要有比较好的领域理解(Domain Knowledge)和设计能力(ML Design),这些能力有时候并不是应届毕业生所具有的。这就意味着其实针对应届毕业生的ML类的岗位其实并不多。同时,很多各个学科的Phd也在考虑ML为自己的就业方向。这两个主要因素造成了ML方向的new grad岗位竞争往往是相对激烈的。但是ML这个方向的本身依然有着非常有很好的前景,在职跳槽后也有着很多的就业机会,如果你是一个对ML有热情的人,这一定是一个值得你去为之努力的方向。 最好,通过以上的分析,我们可以看出,CS, ML Track的毕业生,有着最好的就业前景。同学们在做职业规划的时候,也要尽早确定好自己是想在ML DS这个方向上深耕,还是同时兼顾Engineer的相关技能。

晒货图片

发布了晒货 2月前

美国机器学习方向的 master 找工作前景如何?

为了更好得回答这个问题,我们先来介绍两个背景知识。 第一,北美目前机器学习相关的硕士可以大致分为三类。第一类是计算机类/CS项目。随着机器学习近几年越来越火爆,越来越多计算机硕士项目开设了ML或者AI方向的track或者concentration。第二类是数据科学/DS类的项目,近几年虽然DS项目越来越多,但是申请难度却日益加强。最后是其他类项目,比如统计/OR/Management Science and Eng/CSE/IS/EE。这些项目为了与时俱进,在课程设置的时候往往都会安排一两门机器学习相关的课程。 第二,北美目前机器学习相关的岗位大致可以分为三类。第一类是以发论文为目标的researcher岗位。第二是机器学习工程师Machine Learning Engineer或者Software Engineer, Machine Learning。第三就是数据科学家Data Scientist或者应用科学家Applied Scientist。 这三类岗位中,第一类岗位不是Master的目标岗位,我们来重点讨论第二类MLE和第三类DS岗位。首先,并不是所有的DS都是与机器学习相关的。这就意味着,市面上绝大多是的机器学习类的岗位,其实是Engineer岗。例如Google,Facebook,LinkedIn等公司,都是以MLE为主要的机器学习岗位。所以如果之后想以机器学习为职业发展方向,那么MLE是一个机会更多的岗位。如果本身对于做Engineer并不感兴趣,例如微软或者Amazon的Applied Scientist以及很多金融企业或者传统企业,也提供了一些ML相关的工作机会。 大部分面向毕业生的Entry Level岗位往往重视的是员工的执行能力。而ML类的岗位往往还需要有比较好的领域理解(Domain Knowledge)和设计能力(ML Design),这些能力有时候并不是应届毕业生所具有的。这就意味着其实针对应届毕业生的ML类的岗位其实并不多。同时,很多各个学科的Phd也在考虑ML为自己的就业方向。这两个主要因素造成了ML方向的new grad岗位竞争往往是相对激烈的。但是ML这个方向的本身依然有着非常有很好的前景,在职跳槽后也有着很多的就业机会,如果你是一个对ML有热情的人,这一定是一个值得你去为之努力的方向。   最好,通过以上的分析,我们可以看出,CS, ML Track的毕业生,有着最好的就业前景。同学们在做职业规划的时候,也要尽早确定好自己是想在ML DS这个方向上深耕,还是同时兼顾Engineer的相关技能。

晒货图片

发布了晒货 2月前

没有实习经验的应届生如何找到一份数据分析类工作?

作为一个在FLAG的senior DS(数据科学家),首先我们要知道数据分析类工作的要求是什么,面试考什么,才能知道怎么准备,进而怎么拿到offer。 1、 数据分析类工作都有哪一些? 数据科学师(Data science) 数据分析师(Data Analyst) 产品分析师(Product Analyst) 数据工程师(Data Engineer)   工作的要求: 每一个职位它的要求都不同,数据科学对于统计的要求更高,侧重建统计和数学模型来量化商业问题;数据分析和产品分析更侧重数据的可视化,搭建一些好看易用的图表来汇总和展示关键性的业务数据和指标;而数据工程师主要侧重工程,旨在优化大数据存储、清理、存取等过程,侧重高效率的处理数据的能力。   2、面试考什么: 数据科学、数据分析和产品分析考察的主要都是三大类:统计知识、产品思维和数据处理的简单编程。数据科学对于统计知识考的更深、更看重,数据分析和产品分析对于产品思维要求更高。所以不管想要求职哪一类数据方向的工作,这三大部分的知识都是需要掌握的,只不过对于不同的的职位,复习或者准备时候分配的时间应该有所区别。 --数据科学 统计知识占40% 产品思维占40% 数据编程占20% --数据分析和产品分析 统计知识占20% 产品思维占60% 数据编程占20% --数据工程 统计知识占10% 产品思维占40% 数据编程占50% 3、怎么准备面试: 其实知道了面试考什么,准备的过程就很清晰了。需要的就是好的复习材料和坚持不懈的努力了。对于统计知识和编程能力来说,如果你距离毕业还有几年时间,那最好的途径是修读一些相关课程,打下扎实的基础。如果马上就要毕业了但是修读的课程并不够,那就要在最短的时间内掌握数据方向工作中常用的一些核心的、常用的知识点了,比如贝叶斯定理、线性回归、假设检验等。   对于应届生来说最最最难准备和复习的其实是产品思维,因为没有真正的踏入职场之前,书本里的知识更多的都是停留的公式上而对于实际应用场景里会遇到的各种问题根本无法预判,所以应届生在面试时被问到真实的产品情景时,往往答的缺乏条理、思路混乱。这一部分建议大家平时用身边科技产品的时候多问自己“为什么”并且尝试解答。比如说,为什么linkedin要推出people you may know?它是怎么推荐用户给你的?它的目的是什么?如果没有答案,那可以上网搜搜看或者和身边的朋友茶余饭后讨论一下,都能帮助你从不同的视角多了解这个产品进而慢慢培养起一种产品思维。当然为了应对高压的面试,产品思维题是有答题思路和框架的,欢迎关注篱笆老师找Dana聊一聊数据求职的问题。希望我积累的宝贵经验能够帮助更多国人找到数据方向的好工作!

晒货图片

发布了晒货 2月前

数据分析人员需要掌握sql到什么程度?

hello 大家好!我是篱笆老师 Dana,对于这个问题其实可以分为两个小问题: (1)面试中,SQL需要掌握到什么程度才能通过考核 (2)实际工作中,需要掌握到什么程度才能完成实际工作 我会根据这两个问题总结一下应该怎样提高自己的SQL水平来应对面试并且更好的满足工作需求。 01  面试所需的掌握程度 首先来说说面试。面试中的SQL在近几年一线大厂(谷歌、meta等)的数据职位的面试中考察的越来越简单,你没有看错,不是越来越刁钻而是越来越标准化、流程化。当然不同的公司考察的标准是不同的,面试之前多看看面经是最靠谱的方式,在这里分享的是一个整体的趋向。 而考察的内容主要有以下几类: 1、join 不同的表格求两列之间的差值,知道left,right,inner,outer join的区别 2、运用CASE根据已有的数据分类讨论产生新的列 3、timeseries求k-day rolling sum或者moving average 4、排序,以及三个不同排序函数的联系与区别 5、求metric A当B第一次满足某条件的时候 6、给定好几个表,求一个rate 7、求满足某条件的人而不是人次的数量 8、给一个每天记录数据的table,求day of week的aggregation。 SQL 在 2021年的数据方向面试中目前大部分只存在于phone interview(电话面试),在onsite interview (首轮面试)的时候都不考察了。 onsite interview考察的是R或者python,可以看出各大公司越来越看重求职者真正处理数据的能力而不仅仅是收集数据的能力。 这里说的大部分公司包括了谷歌、脸书(meta)、新兴的独角兽roblox、doordash等等。所以说掌握了以上的基本几类考点,可以说求职者不需要再在SQL上花太多的时间,而是更应该好好准备产品题和基础的概率题。 02 工作所需的掌握程度 其次我们说一下实际工作中SQL到底发挥着什么样的作用。SQL虽然在面试中的比重被削弱了,但在实际工作中可以说是天天都要用。 所以熟练掌握SQL的一些基本函数、高级函数以及如何提高运行效率都对于实际工作大有益处。 因为身处大数据时代,如果想要做数据方向的工作,高效的收集数据、抓取数据是进行数据分析的第一步,所以SQL是至关重要的。 但熟练应用SQL的本领大多是在工作中边学边进步的,而不是使劲看书得来的,所以大家不需要过于用力的准备与担忧,当你真正迈入职场之后,你会在工作中不断积累经验、不断进步的。 03 如何学习/准备? 最重要的部分来了! 我们来说一下如何复习SQL,如何准备这些常用的函数,以及如何通过练习来模拟实战。 我们可以利用一些已有的SQL题目练习,比如Leetcode和HackerRank是两个免费的、资源相对丰富的公开题库网站,里面有一些SQL的题目很适合大家在准备面试阶段拿来练手。在回答这些题目的过程中,可以复习或者说进一步学习一些有用的函数。 同时,建议大家根据以上总结的常考知识点进行查漏补缺,例如是否对以上提出的8个知识点都能马上写出答案呢? 本篇回答重先总结这么多啦!欢迎给我们后台留言私信,关于数据方向求职的任何问题都可以,希望对大家的求职路上能有小小帮助,提供一点点星光!

晒货图片

发布了晒货 3月前

微软机器学习工程师告诉你,深度学习中的维度灾难是什么回事?

维度灾难是机器学习中非常核心的一个概念,它对于不论是面试或者是理解机器学习中一些问题都是很重要的。 比如在《机器学习的本质是不是就是数据拟合?》这个问题里我们就提到,我们要更好得理解Yann Lecun教授说的“深度学习是在外推而不是插值”,就需要先理解维度灾难是什么。 维度灾难其实并不复杂,用最通俗的话来大致描述下,就是: 当数据真的很高维的时候(特征很多的时候),高维空间里的数据互相之间将有着相似的距离。也就是是没有谁和谁更近,谁和谁更远的概念了。 如果用正式一些的式子表示出来就是: N是数据大小,D是数据维度。 这个定理说的就是,对于确定大小的一个数据集。当数据的维度也就是D,趋于无限大的时候,数据之间的最大距离dmax,小于数据之间的最小的距离dmin的(1+epsilon)倍的概率,将趋于1.换句话说就是我们之前说的,数据之间距离都几乎一样近了。再换句话说,距离,这个概念在高维空间失效了。 大家可以想象,对于一些基于距离的模型,比如KNN或者Kmeans来说,如果数据过高,那么模型将因为维度灾难而有着非常非常糟糕的性能。 与维度灾难对应的,就是The blessing of large data。当数据的维度太大时,为了缓解维度灾难,除了降维的技术以外,把数据量提高也可以缓解。 毕竟就算数据"present as high dimensionality, they usually live in a low dimensional surface. Or in another word often data is not 'truly high dimensional'given large data"(以高维形式存在,也通常显示为低维。或者换句话说,由于数据量大,数据往往不是“真正的高维”)。

晒货图片

发布了晒货 3月前

深度学习的本质是什么?感兴趣人工智能的伙伴们来看看吧

深度学习是不是只是在拟合数据?它的成功来自于拟合数据的能力不断变强吗? 这些问题是极其重要的,这是理解当前机器学习或者深度学习成功的本质,是继续推动其发展的核心。 一、什么是机器学习 机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。 专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。 它是人工智能核心,是使计算机具有智能的根本途径。 深度学习(DL, Deep Learning)是机器学习(ML, Machine Learning)领域中一个新的研究方向,它被引入机器学习使其更接近于最初的目标——人工智能。 二、深度学习为什么成功 对于深度学习为什么成功,其实是有大量的争论的。 01 拟合能力 一部分人认为,深度学习之所以成功,只是因为在高维空间有着优秀的curve ftting能力或者说拟合能力。而模型的输出,只是拟合函数的插值结果,或者interpolation结果。 对于这个观点,著名的人工智能三巨头之一Yann Lecun有着他自己的不一样的看法。他认为"in high dimension, there is no such thing as interpolatioIn high dimension, everything isextrapolation." 02 插值和外推 也就是说,他认为,在高维空间就不存在插值这样的东西,在高维空间-切都只有外推也就是extrapolation。插值和外推的区别就是,插值的话你的输入是在你给定值域范围内的,也就是你见过类似的。外推就是,你的输入是在值域之外的。 一个简单的比喻就是:比如你的训练数据集只有10厘米以内长的树叶,但是外推就是你的用来预测的输入呢,它的长度是比如说芭蕉叶它是远超10厘米的。 为什么在高维空间是没有插值呢?这个可以主要通过curse of dimensionality来大致理解,Yann在他的论文里也对此进行了详细解释,非常推荐对这个问题感兴趣的同学阅读这篇文章。 希望以上分享对你有所帮助!

晒货图片

发布了晒货 3月前

入门深度学习,怎样快速提升深度学习方向的coding能力

在刚进入机器学习这个领域的时候很多人都有一个困扰,每次面对长篇大论的PyTorch或者TensorFlow代码,总是觉得无从下“眼”,更别说理解别人的代码实现然后复现了。 那我们该如何提升自己深度学习代码能力呢? 01 确保自己两个基础能力 (1)OOD,即面向对象的编程设计的能力 大型的机器学习模型项目代码,往往是通过精细的类的设计来组织的。你的OOD基础,决定了你以后阅读,理解,以及自己写一个机器学习项目的能力的上限。在阅读一个机器学习项目的时候,除了模型本身的实现,整个项目的代码是怎么通过OOD组织的,也是需要你去注意,去学习的。 (2)Pytorch或者tensorflow的基础 入门一个工具并不是很困难。甚至你只要阅读半个小时官方Tutorial,你就能马上动手实现一个Feed forward Neural Network的项目。 这些入门知识并不是我这里指的基础。这里的基础指的是Pytorch这个框架的一些基础的概念,比如什么是AutoGrade, gradience是如何记录的,如何向后传导的,一个tensor包含哪些信息,什么是计算图什么是动态图机制等等。 你对PyTorch这些基础概念的理解有多深,是另一个决定你深度学习代码水平上线的东西。 02 多看多思考多亲自写 这是一个大部分人都知道但是并不一定能做到的事情。提升代码能力最快的方式一定不是看各种各样教材或者教程视频,而是自己亲自去读代码,亲自动手去动手写代码。 一开始的时候你会发现自己理解代码的速度很慢,很困难,这也是劝退最多人的一个阶段。很多人发现自己理解代码实在困难,就放弃了。 你首先需要意识到,自己开始学习时一定有这么一个困难时期,然后你要相信自己通过积累,通过坚持,一定能度过这个阶段。 开始的时候,我们可以从一些重要模型的开源实现看起。 刚开始,我们要看得仔细,也就是一行一行看,然后确保自己理解每一行在做什么。如果有不懂的话就百度Google搜索。 这个时候一定是每读五行就有一行不懂,一定不要放弃,就像学英语一样,最开始读英语文章的速度一定是很慢的,但是训练了一段时间后,你的速度就会越来越快。 接着你要亲自动手去复现这些项目。哪怕是看一行,抄一行,都可以。动手与不动手,对于代码水平提升来说,是非常重要的一个因素。 过了看一行抄一行的阶段,就可以看一段,理解一段,然后写一段。 然后就是看一个类的实习,然后再复现出一个类,知道自己能完整复现一个项目。 学习新知识的过程一定不能急于求成。相信只要大家坚持多看多想多写,一定能很好得扎实得提升自己的代码水平。 本篇由篱笆老师Lan导师分享,有任何建议或疑问 欢迎大家留言告诉我们~

晒货图片

发布了文章 3月前

数据分析人员需要掌握sql到什么程度?

篱笆老师
篱笆老师
0 6 4

发布了文章 3月前

微软应用科学家全面解析机器学习:认识-学习-求职-工业界应用

篱笆老师
篱笆老师
0 1 3

发布了晒货 6月前

谷歌面试官告诉你,职场新人必须掌握的三大沟通技巧

不知道大家有没有过这样的困惑,同样是职场新人,做的工作也是类似的,为什么有的人总是被安排到有价值的项目来做?然后你做着无关痛痒的任务。在职场上,当你看到这样的节节高升的同事时,心里是嫉妒,不屑,还是忽略掉是因为自己还没有掌握正确的职场沟通技巧呢?今天,篱笆老师就从我自己观察身边职业上步步高升的同事出发,和大家一起分享职场中你必须知道的三大沟通技巧。如果你刚好刷到这期视频,说明改变职场躺平的时候到来了,希望你点赞收藏起来,多多在在职场中实践哦! 第一点,学会展现和表达你的成果,也就是大家常说的邀功。最开始篱笆老师听到这个词是有些反感的,感觉哎呀,这个人怎么这么阿谀奉承啊,怎么这么有心计啊!后来,我才明白,邀功是一个人在职场中一定要完成的一项工作。想一下现实情况,你的父母或许只有你一个孩子,而老板要领导好多的员工,仅仅通过每周的1:1沟通是没办法把具体的工作成果与个人紧密联系到一起的。再亮眼的创意在老板眼中最终也只会和部门画上等号。所以,我们在工作中一定要想办法让老板直接了解到我们做了什么、有哪些贡献或者是遇到困难的时候你是怎么考虑问题的。 具体邀功的方法很多。比如,每次开组会或者daily stand-up的时候,当轮到你说话时,不是简单一句“和昨天进度差不多,没什么更新”,如果你自己的工作没有更新,那有没有一些依赖于其他组的工作有更新呀,或者有没有帮助其他组解决一些问题,实在没有的话,也可以分享一下与同事的相关工作交流; 再比如,在你推进一个重要工作时,积极保持与相关人员的沟通,如果遇到要做决策的时候,或者有困难需要自己出面的时候,都可以抄送自己的老板在沟通邮件里,这样你的老板也就知道你在积极解决很多的问题。 职场有效沟通第二点,我们要学会主动合理地表达自己的想法。在上学期间我们往往被教育只要认真努力做好自己的事情就可以了。但是在工作中,你的个人任务往往需要同事的协助才能顺利完成。对职场新人来说,除了做好本职工作,主动表达自己的想法是一个很加分的点。这里举一个我朋友的故事,我这个朋友他在湾区的FB工作,他的组是做视频直播的,那他的大老板曾开玩笑地和我朋友说:“我知道你们中国的直播做的可好了,如果你在你们的app上看到什么有意思的功能,也欢迎和我们分享啊!”然后我这个朋友就真的后面经常主动找他的大老板聊国内的直播带货等产品和现象,据说我这个朋友就是因为这个,成为了他大老板手下的一个tech lead, 专门负责直播电商相关的功能。 最后,也是最难以理解的一个职场沟通技巧,就是要适当追求反复多次的沟通。以前的我是很烦把一件事翻来倒去地讲的,后来职场教育了我,我也逐渐发现,冗余是工作中反脆弱的重要方法。简单地说,永远不要假设自己说过一次的事会给听众留下长久的你所期待的印象,也不要以为在会议上达成某个共识就代表整个团队就真的会按计划去执行。 职场的沟通是一个持续的过程,如果你和其他人的沟通没有达到预期的效果,那我建议你可以换不同的方式,再多沟通几次;如果你以为的共识并不是真的共识,那么也建议你多沟通几次,达到团队高效协同的效果。 在避免适得其反的情况下,反复沟通,有时候还能集思广益,得到更好的想法。我在工作中就曾组织过2个完全不同的部门30多人一起开会,讨论我的一个方案。在第一次meeting后我们还没有完全满意现有的方案,于是我拿着PPT又单独和每个部门leaders开了个会,收集到双方的担忧和想法,然后在原有方案的基础上做了调整,最后又开了一次会议,得到了两个大部门leaders的一致认可。所以说,职场中恰到好处的重复交流,反而是很有用的技巧。 好了,希望以上的分享对职场中的你有帮助,别忘了点赞收藏起来哟!如果你对留学、求职和创业感兴趣,欢迎关注篱笆老师哟

晒货图片

发布了晒货 8月前

谷歌技术经理为你分享工作中提高效率的X大工具

Hello大家好,欢迎来到知识渊博,故事精彩的篱笆老师分享会,最近德尔塔病毒的肆虐进一步加重了疫情的形势,很多的科技公司进一步延长了在家办公的时间。不知道大家在家办公有没有感觉到工作和生活融合在了一起,工作的时间反而增加了呢?如果你有相似的感受,那么今天的分享千万不要错过,我希望和大家来分享一下自己用的比较多的工作提效的工具,喜欢的伙伴们可以点赞收藏起来哟! 1.首先想给大家推荐的是Notion这个软件,大概去年被朋友种草了这个软件,最开始看觉得是一个all in ones的工作管理工具,后来越使用越喜欢,发现Notion有非常强大的各种模板,几乎你在工作中想做的任何事情都有一个模板,比如to do list, table, kanban board, CRM等等;Notion在使用中是非常自由的,它没有笔记本或分区,允许无限制的无限制嵌套,用户可以决定如何组织customized的内容,并且最酷的是可以自由拖拽定义的模块。对于技术宅来说,Notion也内置了LaTeX 方程和代码突出显示的功能,可以让大家从 50 多种语言中进行选择来展示代码区域。Notion也天然地支持团队协作,可以在文档里@其他人、日期或者链接到其他页面。 对于已经在使用其他工具的伙伴,Notion提供了超级多的导入功能,可以完美地把你工作中的各种tool和数据都导入到一个工具里方便管理。 2.给大家推荐第2个工具,在日常工作中,我们经常都会在电脑中打开多个文件,而这些文件全都是以独立的窗口显示在电脑上的,就会显得非常的凌乱,切换页面也非常的麻烦。 反观在浏览器中打开网页时,多个页面都会出现在同一个程序窗口中,切换页面的时候就非常的顺滑、直观。 那么Clover这个小工具,就是能让你实现本地资源打开“标签化”的效果,就像谷歌 Chrome 浏览器那样方便好用。在查看和操作多个不同路径的文件夹时尤为方便,极大提高电脑操作的效率!软件完全免费,下载完成直接安装即可。安装完成之后,再次打开资源管理器,就能像浏览器一样自由新建标签页,一个窗口同时打开多个页面。 它还能像浏览器一样支持将常用文件夹收藏在收藏栏,便于快速访问。总之,你可以像使用多标签页网页浏览器一样使用 Clover 3.给大家推荐第3个超级方便的日程管理工具--Calendly。 不知道大家平时和别人约meeting是用什么,之前我是用google calendar,但是后面经常发现如果和你约meeting的人没有google calendar,那就非常麻烦,通常是通过线上沟通或者口头交流来约时间,之后还需要自己把会议加到日程表上;而且如果和不同的人约会议,经常会产生时间冲突或者被约到自己不是很方便的时间,就比如我有被不同时区的朋友约到晚上12点的会,然后还要蛮尴尬地和朋友说我们要不重新约。 那么Calendly是一个完美解决以上问题的工具,你可以设置自己available的时间,还可以创建多种不同的会议类型,比如你想周二周三block出一些时间讨论创业工作,周四block出时间和职场同事交流技术问题,周五block出时间和家人聊天,用Calendly你会更觉得自己时间是有效分配的;Calendly会自动根据用户位置调整时区,同时自动避免时间冲突,它可以自动读取和更新你的日程表上的状态,如果你手动在日程表上加了一个会议,那么其他人通过calendly就无法预约你那个时间。最后很惊艳的一个功能是Calendly接入了很多的视频聊天软件,当你和朋友约了一个会议,相应的zoom link或者google meet的链接就创建好了 第四个非常推荐的工具,是Tower。团队工作最麻烦的不是分工本身,而是分工后如何进行任务的跟踪与落地。Tower这个工具就是一个非常好用的“云看板”,大家可以根据自己的项目内容,设置每一块任务清单,然后根据工作的完成进度自由拖拽。即使有新的任务插进来,也可以井然有序地安排到相应的任务清单里。 相信大家工作中经常会处理PDF文件了,那么篱笆老师推荐的第五个提效工具就是PDF Candy。它是一个PDF的工具箱,软件几乎囊括了有关于PDF的全部功能,而且不需要安装,免费永久使用,可以说是一款电脑必备的软件了。 解压之后找到exe文件,直接双击就能打开了,总共有35个工具,分成了三类,从PDF转换、转为PDF、其他工具。我们主要用基本都是PDF转换,这个工具里面都包含了,PDF转Word,转jpg,png等,还支持ocr识别功能。 Candy还支持批量转换,将需要转换的文件选择进来,选择需要转换的格式,就可以进行一键转换了。 转换的速度还是很快的,十几个文件大概才两三分钟就基本转换完毕了。 好了,以上就是篱笆老师在工作中经常会用的一些软件,不知道小伙伴们你们还用过什么提高工作效率的软件工具吗

晒货图片

发布了晒货 9月前

谷歌技术经理为你介绍全栈开发工程师的养成之路

Hello大家好,欢迎来到知识渊博,故事精彩的篱笆老师分享会,经常有CS专业毕业的同学来找我咨询,想知道针对刚从学校出来的CS专业学生,怎么样能最快地和行业需求对接起来。所谓CS技能千千万,如果只是弱水一瓢的话,篱笆老师建议大家可以先从全栈开发工程师这个track开始养成。今天的内容非常干货,结尾也有一个福利彩蛋,大家可以先点赞收藏下来哟! 那么全栈工程师是同时拥有前后端开发技术的人,能够独立完成网站应用的搭建,并能利用多种技能高效推进产品上线。之所以推荐大家从全栈工程师这个track开始,是因为现在的互联网项目往往非常复杂,需要用到前后端开发、界面设计、产品设计、数据库、各种移动客户端、三屏兼容、restFul API设计和OAuth等等,比较前卫的项目,还会用到Single Page Application、Web Socket、以及像第三方开发等等。全面的技术背景有助于做出更加高效客观的技术架构和决策,从而对所在组织产生很大的正面影响;同时也提高了开发组织的沟通管理效率。 那么全栈开发工程师的养成之路大致分为以下6个步骤: 第一,首先需要掌握好1--2门编程语言,比如JAVA, PHP, Python, Ruby, Perl,Go等等,因为大部分全栈开发的核心业务都需要用这些语言编写。熟悉应用其中1--2种编程语言来构建、设计、实现和测试项目,是全栈开发的基本功。 第二步,推荐采用“先精后广,一专多长”的策略来学习基本的全栈开发技术,比如对于前端来讲,掌握了基本的HTML, CSS, JavaScript之后,应该进一步研究性能优化、相应式页面等前端细节,而不是停留在最基本的前端技术上就转向学习后端语言或者APP开发;对于后端开发来说,推荐把一个主流开发框架熟练应用,流行的开发语言一般都配有好的开发框架,比如Java Springboot。 这样不仅可以触类旁通、举一反三,还让我们学习得更快,很多框架最后你会发现精髓是相通的,篱笆老师见过一些同学说自己“熟练”掌握多种开发框架,但是每种框架其实掌握的都稀松平常,这样在实际开发中其实很难满足企业的应用标准。 第三步,学习数据库与缓存技术。任何产品或项目都需要一个数据库来存储数据。作为全栈开发者,你还需要至少拥有一两个数据库,并且知道如何与数据库进行交互。目前流行的数据库有 MySQL、Postgresql、MongoDB、Redis、Oracle 等。MongoDB作为一种文档型数据库,在互联网产品中的应用越来越广泛。对于较大的项目,我也推荐使用 MySQL 或商业 Oracle 作为后端数据库。而内存数据库,如Redis,则可用于缓存以提高系统性能。 第五步,学习Git操作与项目管理。Git是一个开源的“分布式版本控制系统”,在互联网企业中,根据公司规模,产品和系统往往是由十几个到几百个开发者一起协作进行的,同一个code base可能每天会有很多人同时做修改,所以对于全栈开发伙伴来说,掌握Git的命令与示例可以使自己与从事同一项目的其他开发伙伴进行合作。对于项目管理来说,大型团队可能有专门的项目经理,小团队就需要核心的技术伙伴有项目管理的意识。作为全栈开发伙伴,除了自身技术过硬,如果能有效应用项目管理来调动其他开发伙伴,提高团队效率,那就很有tech lead的潜质了! 第六步,掌握Devops的技术,自动化代码集成、测试与部署环节。这里主要需要掌握的是CI,CD和Pipeline技术。CI 指的是 Continuous Integration,持续集成,它可以自动化测试新代码与原有代码是否正确合并;而 CD 指的是 Continuous Delivery,持续部署,它可以自动将应用发布到生产环境,极大地加速了产品迭代开发的上线速度与稳定性。 最后篱笆老师想说,技术是来解决实际问题的,所以要在互联网科技企业快速发展,重点在于解决问题,而不是单纯醉心技术。所以要想成为优秀的全栈开发伙伴或者是CS行业从业者,篱笆老师觉得小伙伴除了拥有技术知识外,还需要培养自己的软技能,比如辩证性思维、良好的时间管理能力、学习的好奇心、良好的沟通表达能力等等。 好勒,今天的分享就到这里啦,篱笆老师团队目前也在招募新的职场KOL导师,如果你在留学、职业发展与创业方面有自己的经验,也感兴趣分享给更多的人,欢迎联系我们哟!

晒货图片

发布了晒货 10月前

谷歌经理告诉你该跳槽还是努力在一个公司升职加薪呢

Hello大家好,欢迎来到知识渊博,故事精彩的篱笆老师分享会,最近篱笆老师在研究生阶段的一个好朋友来找我聊天,是因为他在纠结该不该离开已经工作4年的小公司。他已经拿到字节跳动北美的Offer, 这个新机会无论是big name的title还是薪酬,都要比自己现在的岗位吸引;但是他目前的岗位下半年就会开始带团队了。关于朋友的困惑,相信是每个职场干饭人都会面临的,所以今天篱笆老师就来分享一些我的观点,喜欢的朋友可以点赞收藏起来。 首先还是要明确自己的5年职业发展目标。现实情况是绝大多数人对于自己的人生是没有规划的,更不用说职场。在我们在做职业选择的时候,如果从“5年后我希望自己在做什么工作,过什么样的生活”这个角度来想问题,会很高效地帮助我们倒推回来现在的决策。比如说,如果你现在从事软件开发的工作,但是你希望往人工智能的方向发展,那么一个自动驾驶公司的Offer可能更符合长线发展的机会。 第二点,要思考清楚自己考虑跳槽的根本原因是什么。是为了更好地接近自己的长期目标,还是单纯追求薪资报酬,还是对于目前的公司有不满意。本质上跳槽和留在本公司升职都是对现状的一种改变,如果能把自己自己想要得到的改变明确出来,然后用一个打分表来量化选择,那其实做决定也会坚定很多。我举个例子,如果说现有的老板你觉得让你不满意,然后待在本公司升职后,你还是要面对和老板的相处,那么即使接受了升职,也只是延缓了你的跳槽时间,无法消除离职因素。这里我分享一个自己会用的打分表给大家,希望能有帮助: 这里关于未来发展展望,我想和大家解释下,它代表的是你觉得自己在这个公司机会发展一段时间后,未来职业选择中自己在个人能力、行业加持下,可能能考虑哪些新的机会。比如你之前一直在互联网行业做数据分析,如果加入一家fintech公司,那么未来金融行业的大门可能就像你也敞开了。这种分析是很有价值的,它会不断加宽你未来的职业价值,避免因为技能单一而轻易被行业淘汰。 第三点我的建议是,职业变动的周期要遵从职场规律。经常看到身边的朋友不是在一个公司的同一岗位待得很久,就是在变化不大的岗位上频繁跳槽,这都不是很好的选择。一般来说,在一个岗位工作时间过久,客观上会影响你的学习速度和成长空间。现代公司岗位在设计的时候就是注重专业化分工的,所以2年的时间大多数人就足以对岗位要求十分擅长了,如果因为公司自身晋升体系或者个人的原因,都没有得到晋升,那么是可以考虑换新的机会了;如果在一个岗位的“咸鱼”工作状态太久,在以后面试的时候,HR是会质疑你的工作能力的。相反,另外一个极端是,有的伙伴经常一年之内就换工作,甚至换好几次,这样的跳槽是很危险的。每个岗位都需要一定的积累成长时间,太过频繁的跳槽,可能会尝到涨薪的“甜头”,但是因为自己的内核能力没有真的提高,也很容易摔下来或者后劲不足。同时这也说明自己跳槽并不是思考周全的,对于新公司来说也是不愿意招募这样极度不稳定的员工的。这里篱笆老师建议,职业变动不要因为想要逃避,一时冲动或者并不显著的涨薪等蝇头小利而草草做出改变。 最后一点,我觉得跳槽还是待在原公司,很重要的是你觉得是否在把握一个机会。每个人对机会的定义都不一样,篱笆老师建议大家既要脚踏实地,也要有比较远大的目光。对于职场早期的同学们来说,短期薪资in general来说都不应该是最大的目标,就像最近网络盛行的一句话,如果你没有背景,你在事业发展中能做的做好的一件事就是,与有野心的人为伍。篱笆老师有一个本科同学,在美国毕业后只拿到很小公司的工作机会,但是字节跳动那时候在北京正在组建Tiktok团队,她基于对抖音风靡全国的判断,觉得这是个机会,就义无反顾地加入了Tiktok, 成为了团队的第四个产品经理。上次在北京和她一起吃饭,她已经在管理一个产品团队了。所以,把握机会,很重要哦! 好了,以上就是篱笆老师对于应该跳槽还是待在一个公司发展的经验分享,希望对职业发展中的大家有帮助!如果你对留学、求职和创业感兴趣的话,欢迎关注篱笆老师哟!

晒货图片

发布了晒货 1年前

谷歌面试官告诉你CS求职计划该怎么做

Hello大家好,欢迎来到知识渊博,故事精彩的篱笆老师分享会。对于希望毕业不久就拿到高薪工作的同学们来说,CS方向肯定是最佳选择之一。CS本身涉及的技术面很广,但是往往大家除了知道不断刷题,并没有一个好的求职策略。今天就让我来为大家解答一下在找CS工作时,应该怎么做求职计划,希望能够对同学们有帮助。 策略一:定制合理的准备时间表 在这个时间表中,最重要的是在每个找工作的阶段,动态分配复习内容的时间比。拿 4 个月找工作时间来举例,如果你计划在今年12月前找到合适的CS工作,那么提前4个月你最迟8月份就要准备了。 第1个月:基础 60%,面试* 40% (侧重于基础知识的夯实) 之所以在第一个月需要夯实编程和算法的基础知识,是因为 80% 的CS中小公司都会很注重编程基础的考核,包括 Language-specific 知识,System Design, OOP 以及基本算法。如果这块不准备,会对这类型的公司比较吃亏。 第2--3个月:基础 30%,刷题 50%,面试mock up 20% (侧重于刷题练习) 这个阶段的重点是刷题,关于如何高效刷题,篱笆老师之前有出过一期视频,小伙伴们可以去我的主页来进行观看。大家可不要蒙着头刷题,我建议有300道题的准备后,就买一块小白板,和伙伴们互相来mock up解题思路,增强临场表现与沟通思路的能力。 第4个月:刷题 30%,面试mock 50%, 查漏补缺 20%。大家可以把真实面试中遇到的题目,都记录下来,加上对自己面试时的反馈。这样可以把更多精力放在针对性训练上,比如自己的对于二叉树的理解不够, 那就可以专门练习这块;又比如发现自己是对数据结构的理解不深,所以没法找到面试问题与合理的数据结构的联系,那这一块就可以专门找题目来练思路,判断该用怎样的数据结构。 策略二:事先筛选靠谱公司的列表 所谓靠谱公司就是除了薪酬福利好,在移民政策上也好,包括 H1B,E-verify 属性等。这里篱笆列举一些渠道来筛选靠谱公司。 Linkedin: 购买 premium,公司知名度、规模相对高 Indeed: 公司规模大,质量层次不齐 handshake:一般是学校合作的企业,会来学校办招聘会 AngelList: 主要是创业公司 同时也告诉大家一些第三方的对公司评价的平台,可以看到很多员工的口碑 Glassdoor: 用来查看 company review和薪资 Blind(app): 各公司在职员工吐槽和描述公司各方面的平台,很真实 策略三:面试公司最好按由小到大,先易后难的顺序进行 一开始当然需要找那些简单的,小公司来练手,需要尽快让自己 warm up。所以这时候数量比质量重要。多尝试不同的面试,尽早失败,好把那些基本的陷阱都摸透,把更大的成功率留给接下来更重要的公司。【例如我在面试 Google 前已经面过 Amazon,在面试一家独角兽公司前已经面过几家 A 轮的公司。所以我知道了大致上在 Phone Screen 部分可能会碰到的基础内容和 Behavioral Question;Technical Interview 时白板练习通过了3--4家的练手,也不是很生疏了。 记住篱笆老师的建议,请把那些比较容易的公司先拿下,这样一来会极大程度增加自信心,让自己越战越勇,形成良性循环。如果你不知道怎么排兵布阵安排顺序,可以找篱笆老师帮忙参考。 策略四:根据面试反馈,动态补习 这里篱笆老师建议你做一个 Excel 表格,把每家公司当前的状态记录下来。这个 Excel 表格相当重要,可以追踪当前各个公司的进度。方便给不同重要的公司排优先级。另外,配合每个公司结合的反馈,可以重塑接下来的复习方案。例如在面试完 Square,我对 functional currying 又有了深入的了解。在面试完 Amazon,我又把 Behavioral Question 的答题技巧好好复习了一遍。 另外还有一个不容忽视的核心点就是面试回访。一定要努力向 recruiter 问清楚这次失败在哪里。问问题的方式很有技巧,一般情况他们不会告诉你具体是哪里出了问题。这里篱笆老师以后会出一期视频来讲解如果要feedback。 策略五:展示最有特色的自己 Onsite 时需要展现更多的个人特质,让 team 里大多数人喜欢自己。 这里主要用到的技巧是需要给自己找一些积极向上的特性,一定要是符合自己真实情况的。然后针对每一个特性用 STAR 模型准备一段工作中遇到问题、解决问题的小故事。比如,你可以写的一些主要特性有: Fast Learner Willing to share Baised to actions Outgoing Leadership 好了,以上就是篱笆老师对于CS找工作时如何制定求职计划的经验分享啦,希望这些经验能对你有所启发。留言告诉我你在哪一步卡壳,我也可以帮你分析!如果你对留学、求职和创业感兴趣的话,欢迎关注篱笆老师哟!

晒货图片

发布了晒货 1年前

谷歌技术经理在线教你打造完美的Linkedin个人主页

哈喽,大家好,欢迎来到知识渊博,故事精彩的篱笆老师分享会。今天篱笆老师想和大家聊聊Linkedin这个平台的profile制作,相信在海外求职的同学是人手一个Linkedin账号了,并且有很多国内的高端职位招聘,猎头公司也是越来越青睐使用Linkedin。那么你真的知道该怎么打造自己的Linkedin profile吗?今天我就来分享一下自己的经验之谈,希望能够帮助小伙伴们打造职业形象,connect到更多优质的机会哟! 首先,在填写基本信息的时候,要非常注意头像和Headline的选择。头像一定要设置专业并且容易给人好印象的头像。推荐是穿正装或者干净的衬衫;像素不要模糊,建议人脸占据画面的70%左右,面带微笑展现亲和力。 Headline的话是名字下面的个人标签,一般是放你最想让人知道的信息,比如最厉害的教育背景、工作经历,或者是专业技能,可以用“|”来做清晰分隔。 第二个需要完善的部分,也是大部分人经常忽略掉的,就是关于自己的summary。 这里可以用bullet points来列举自己的优势、成就、求职意向、life-long兴趣等信息。大家可以把它作为一个personal pitch的环节,让别人看完之后,就知道你的职业价值。如果小伙伴们不太清楚这块怎么写,我建议可以参考一些行业大佬的,比如Bill Gates的Linkedin主页的About就写的很好(当然我们和大佬的差距还是很大的,这里大家get到精髓就行) 第三部分也是最重要的部分,就是工作经历的展示 。这里经常会看到很多同学的工作经历描述得很简略,这个是很可惜的,篱笆老师之前出过一期视频关于简历制作的,推荐大家仔细看一下。核心思路是,至少要列举2-3个出彩的工作经历。关于描述部分,应该写得尽可能详实丰富。我们要做到第一个baseline是,你至少要跟你的简历的工作经历描述是一样的。然而,如果你换位思考一下,为什么公司在问你要了简历后,还要看你的linkedin profile?其实就是希望能够在linkedin profile上看到简历没有的信息。我推荐大家编辑自己的工作经历时,可以插入相应的图片、media文章,以及视频,来替你展示你的工作成果。比如说如果第三方网站上有一些文章描述了你参与launch的新产品或者新feature,你完全可以把这个链接加到linkedin的经历描述中,成为一个漂亮的widgets,这样可以给到HR更多的信息,也很有说服力地增加了你的impact。 第四部分,对于教育这个栏目呢,如果是工作经历超过三年以上的伙伴,或许不需要特别注重,只需要写下自己的学校专业。哦,如果GPA好的话写下来也是很有加分的。如果是工作三年之内的同学,建议去放一些核心课程,这样的话可以增加全方位技能展示的机会。 第五部分,Skills endorsement&recommendation- 据很多HR朋友和我说,他们会很喜欢跳过你的主页直接滑到这里,我觉得这个section是能够非常客观地展现你的能力的地方。都说要避免“王婆卖瓜,自卖自夸”。这个部分就非常需要体现“让别人来肯定你”的理念了。我推荐大家放上自己求职真正需要的重要技能,然后在职业发展中,不断积累业界口碑。如果你在学校,那就很简单,可以让跟你同样做项目的同学来帮忙endorse,也可以在实习结束后,让你的老板帮忙给予你肯定或者提供推荐信。如果你已经毕业工作了,那可以在工作中找到和你共事过得同事,帮忙endorse。非常建议找本身在这个技能点就已经很强的伙伴来endorse,比如说,你要找Machine leanring engineer的岗位,那么如果有学术界或者业界本身在machine learning这个技能很强的伙伴。那么就绝对非常有说服力。同时,Linkedin推出了assessment的功能,可以参加考试获得技能认可。 最后篱笆老师想强调的是。Linkedin是有中英两个语言版本的profile的,小伙伴们要注意分别检查中文版和英文版的linkedin profile,避免语言和翻译上的错误哟! 好了,以上就是篱笆老师对于Linkedin profile制作的经验分享,最近谷歌、字节跳动也开始放出了一批人工智能、数据科学相关的工作岗位!如果你对留学、求职和创业感兴趣的话,欢迎关注篱笆老师哟!

晒货图片

发布了晒货 1年前

谷歌面试官教你如何在面试中争取高薪水

大家好!欢迎来到知识渊博、故事精彩的篱笆老师分享会。春天是大家频繁开始进行跳槽换工作的季节,篱笆老师身边也有很多朋友在开始频繁地面试、和HR谈更高的薪资,比如上周我就有朋友拿到了50%的涨薪,这让篱笆老师也有点蠢蠢欲动了。所以呢,篱笆老师就自己总结了一下高效和面试官争取到高薪水的一些心得和体悟,今天先来和大家分享一下资本大厂常用的三种套路来对你进行降薪操作,小伙伴们一定要擦亮眼睛,在实际中灵活应用,争取都拿大包Offer哟! 套路一:面试过程中不断地试探你的情况,并且寻找机会来讨价还价。如果你发现在面试中,面试官或者HR问你很多关于你目前工作的薪资啊,你的工作岗位职级呀,你的工作满意度,以及问你为什么想要跳槽,但是你和他们谈到薪资期待时,他们一直避而不谈,那么这些就是非常好的signal,说明他们正在试图了解你有什么样的一些问题,并且希望抓住这些问题对你进行未来薪资上的压低操作。 举个小例子,如果HR问你期待的薪资是多少呀?你说200k,那么恭喜你,你已经被hr成功套路了!你后来最高的薪水就很难超过这个数了。这里你其实应该说。您觉得根据我的经历和面试表现,贵公司最高能够给到多少薪水?这样就为以后不断增高薪水做了铺垫。 那么第二个套路就是:HR会在面试过程中潜移默化地增加你的沉没成本。简单来说,如果面试官让你通过请假来面试,或者一轮一轮地不断给你增加面试,又或者在面试过程中质疑你曾经的工作经历不符合当前岗位等等,这些除了可能是常规情况外,还有一个潜在的目标,就是希望通过增加你在面试中投入的精力和你的压力,削弱你的自信心,让你提前造成心理上的自我否定,促使你觉得很想能够拿到这个公司的offer。如果你是舔狗的心态,那么你就被套住啦。 套路三:HR或者面试官很可能会在薪资问题上,一本正经地搪塞你说,我们对同样工作年限的人就是这样的薪资标准,我们是一视同仁的。这里篱笆老师提醒大家,时刻要保持对自己的清醒认识,不要一下子就默认了这个观点。因为据篱笆老师观察,不管是在中国还是美国的互联网企业,高科技企业,金融企业,一般有同样工作年限的人也会因为他们的过往工作经历,成果,和面试表现,而产生10%到40%左右的工资差别。 那么讲到这里,小伙伴们可以回忆一下,在以往自己的面试中,是否有被套路过呢?好了,以上就是篱笆老师对于面试官经常套路大家的3种降薪方式的总结,后面也会分享给大家一些谈薪酬的实用技巧,希望帮大家赚到更多的money! 如果你对留学、求职和创业感兴趣的话,欢迎关注篱笆老师哟!

晒货图片

发布了晒货 1年前

谷歌技术经理告诉你CS转码应该做哪些准备

哈喽大家好,欢迎来到知识渊博、故事精彩的篱笆老师分享会,最近篱笆老师发现有很多同学希望进行转码求职,进入年薪百万的科技公司。因此,篱笆老师希望能把一些高效准备转码之路的步骤与经验总结出来,帮助大家有目标地来高效准备。 第一,先要掌握一门编程语言 我选了python, 因为语法和数据结构足够简单, 可以让大家更加关注代码的作用与应用,而不需要去管太多的syntax 这里给大家推荐一些入门的资料:首先是Python 的官方 Documentation,然后可以尝试codeacademic里的一些python basics,基本上能用python实现一些CC150上简单的数据结构与算法,你的基础编程语言掌握就可以了 第二,要先学习好数据结构与算法。数据结构与算法实际上是整个CS求职中的基石和内功,需要不断修炼。我建议大家可以去找各个学校的网络课件或者教程,比如像mit,berkeley,都提供了开源的,非常好的数据结构与算法的教程,比如berkeley的CS 170与CS 61A,仔细的跟着去学,搞清楚不同的数据结构的差别和应用场景,并且去掌握熟练的一些常用算法,比如BFS, DFS, Dynamic programming等等。这里一定要注意,如果你没有吃透数据结构和一些经典的算法,千万不要开始大规模刷题,这样会导致你的刷题是无效的一个投入。 第三,当你了解了数据结构与算法的知识之后,就可以进行高效的刷题准备了。具体的内容在我过往视频中有讲过CS同学如何进行高效刷题,大家可以去查看,我这里就不赘述。 第四,刷完题后,以为自己还不错了, 但是每面还被拒, 发现与面试官随便聊聊, 就会暴露自己缺乏CS素养, 也就是CS基本常识, 以及各种知识的关系,这里推荐大家可以通过berkeley的Structure and Interpretation of computer programming进行CS的基本素养学习。然后我也很推荐大家可以去了解一个全栈系统的不同模块的知识,比如:1,Linux 指令;2,front end:(HTML, CSS, JQuery, XML) ;3,Web development framework:(Django, springboot) ;4, database; 5, Design Pattern 最后,基础的编程语言,刷题和CS常识可以让转码的你积累起积木, 但是你可能还并不自信, 因为没有作品。 所以篱笆老师建议你可以自己去写code, build自己的作品。比如写个side project, iOS的app,web application, 也可以把学校的项目course project通过更复杂的架构变得高大上。当你有2-3个融会贯通的project之后,你就会在面试中更加自信,而且在中小公司面试中也会很看重你真正做的项目能力,而不只是刷题能力。 好了,以上就是篱笆老师对于如何高效准备CS转码之路的一些经验分享,希望对大家有帮助。

晒货图片

发布了晒货 1年前

谷歌面试官来告诉你,大家很可能犯的简历六大错误

最近春招开始打响了,有不少同学来找篱笆老师帮忙看简历。在帮助了50多位同学看简历后,篱笆老师发现了一些共性的简历常见错误,今天想跟大家来分享一下经典的简历6大错误,希望大家能够拿出自己的简历,尽量避免这些问题,提高拿面试Offer的机率哟! 简历中遇到的第一个问题就是有的同学的简历是超过一页的。这个是非常错误的,建议大家如果是在三年之内的工作经验简历通通都不要超过一页,一定要想办法精简。 第二个常见问题: 简历的篇幅设计不合理,很多同学在自己的教育背景,职业技能以及个人爱好这三个部分占的篇幅太大,使得工作经历与项目经历没有太多空间。这里篱笆老师建议,教育背景除了学校、专业以及就读时间以外,如果GPA超过3.7可以放,如果是转专业求职,可以放与职业相关的3-5门核心课程;然后是职业技能和个人兴趣这块,我建议大家最好总共控制在三行之内。这里有同学会argue, 我的skills难道不是要越多越好吗?这里面我建议大家换位思考下,一堆申请者都会列举自己擅长Python, C++, Java, Shell Script, Spring MVC....Hiring Manager很难分辨你到底是精通,还是只是接触过,对吧? 所以,Skills的数量为了通过机器筛选,的确需要丰富,但是我们要尽可能地把skills在你做的项目经历中体现,留更多的空间给这个work experience和project experience。 第三个常见问题: 工作经历和项目经历的数量不达标。这里面篱笆老师给大家做一个数量上的指导。如果你的工作经历没有达到2个及以上,项目经历没有达到2个及以上,那么请你赶快回顾一下自己以往的上过的课程大project,参加的比赛,科研,实习以及volunteer work,看是否能够提取出相关的经历。这里面篱笆老师其实最prefer的数量是:工作经历3个及以上,项目经历3个及以上。 第四个问题: 经历没有筛选,注意,之前讲的至少2个project experience与至少2个work experience都需要是和你的目标职位相关的,比如申请Backend SDE, 但是用纯数据分析的经历,又比如申请数据分析但是用作BD的经历等等,这些就不是很相关了。有的同学会把不同技能方向的经历写在一个简历中,这是要很慎重的了。如果你的求职方向只有一个,那么建议加一个Objective在简历最开头,描述清楚你的求职目标,以免HR直接对你的目的产生混乱,同时你要确保自己的经历即使不是目标职位做的工作,也是可以相关的或者transferable的技能;如果你的求职方向不止一个,篱笆老师强烈建议你为不同的方向准备不同的简历 第五个问题: 大家在描述自己项目经历或者工作经历的时候。都只是流水账似的说了自己做了什么事情,用到了什么工具,并没有很明确的描述出做出来的成果,以及有什么样的影响和价值?而对于工作经历或是项目经历,雇主恰恰最看重的就是你解决了一个什么问题,这个问题有多难解决,你做出的成果有什么样的价值?这里简单来说,不应该只是每个bullet point写我用A做了B, 而是要考虑我用A做了B,然后B解决了C这样的一个问题,产生了D这样的价值。 这里给大家推荐一个描述自己经历的framework: STAR模型 Situation: 事情发生的情境; Task: 你的任务是什么; Action: 你的行动是什么; Result: 结果如何,你取得了什么成果。 在每个Bullet Point,要最大化展现你的优势。 举一些例子给大家: 好的example是: Led three teams to build local Smart Home framework equivalent to HA server on the Nest devices, providing users a local home experience with 3X faster queries execution Designed the data pipeline from data collection to post processing, reducing the data idle time by over 30% 最后一个问题: 大家一定要避免在简历中犯一些低级错误,比如说:标点符号错误,标点的格式不一致,莫名的空格,大小写错误或者是拼写错误。这些问题如果被HR看到,会极大地影响对你的第一印象,所以建议大家写完以后一定要自己读过两遍以上,还可以找好朋友再帮你检查一下。平时也可以多阅读一些职业写作的专业书籍,提高一下语言表达能力。 好了,以上就是篱笆老师为大家提供的6大简历常见错误,希望大家听完我的分享,都能写出高大上的简历,面试Offer拿到手软!即将求职的同学也可以找我帮大家看看简历哈

晒货图片

发布了晒货 1年前

非计算机科班出身,该如何准备system design的面试

首先非常有必要跟大家去解释一下为什么大公司或独角兽公司都喜欢考察系统设计的问题。 在真实工作中,你会发现,启动一个新的产品或功能的开发后,往往会花大部分时间与不同的组讨论requirement,需要考虑站在customer的角度来看产品功能是不是符合实际需求,这里的customer不仅是传统意义上购买你产品的一些用户,他也可以是在组里边或者其他组里面用你的这个工具或者service的同事。另外整个系统的performance是不是很好,latency是不是比较低?scalibility是不是比较强?是否利于维护和debug等等? 这些都是很重要的考量点。 系统设计有问题就会对外部客户产生经济损失,比如外卖平台宕机,电商平台丢失订单等等,都是几百万甚至上千万的损失。从内部客户的角度来看,公司中没有人愿意去维护一个不成熟的系统,这会花费很多精力,也很可能推倒重来。 因此面试中考察系统设计就成为了一种非常高效的做法,来看你解决实际工程问题的能力。 那么对于非计算机课班的同学,篱笆老师推荐一些准备的思路,希望对大家有帮助。 第一,扫盲基础知识篇: 操作系统基础知识:文件系统,虚拟内存,存储器分页,指令执行周期等知识 网络基础知识:应该了解TCP,IP, Internet,HTTP request, 客户端与服务端的工作基础 并发基础知识:线程,进程,各种锁,互斥锁等。 数据库基础知识:数据库的类型(SQL与无SQL等),哈希和索引,基于EAV的数据库,数据库的sharding,数据库caching,主从服务器等 一些基本架构的思想:例如负载均衡器,读写分离、异步代理,服务器,数据库服务器,缓存服务器,预计算,logging等 第二,理解并熟记系统设计的性能指标 响应时间,并发数,QPS和TPS,吞吐量,系统活跃度等等 只有熟练应用这些系统指标,你在设计中才会考虑到如何提升系统的设计。 第三,不断来练习系统设计的case 这里给大家推荐一下“4S分析法”的框架,百试不爽的。 Scenario,Service, Storage, Scale Scenario就是要去向面试官了解清楚你在设计什么样一个产品,这个产品大概有哪些主要的功能?它需要支持多大的用户群体,QPS,memory,storage等等,一定要搞清楚这些问题再开始设计。 Service环节就是搭架子,对系统进行组件的设计,这时候建议大家要用白板进行画图,把系统需要的功能用block的形式画出来,并且把相似的功能合并成大的service Storage是对每个service去选择合适的存储结构,最好能够去把数据的schema写出来。用画图的方式去展现清楚你的数据存储和读取的流程。 Scale 这里常见的问题例如: 如何防止单点失效:数据库sharding和replication 是否需要部署在多台机器然后进行负载均衡呢? 数据量是否大到需要分库分表? 好了,以上就是篱笆老师为大家提供的一些关于系统设计的准备思路。系统设计的知识非常庞杂,但是绝对是勤能补拙的面试环节。我非常建议大家尽早开始学习,保持记笔记的习惯。

晒货图片

发布了晒货 1年前

【经验分享-CS的同学如何做到高效刷题】

刷题的话其实是大部分基础不好的同学非常头疼的事情,然后也很容易出现一些误区。那么我这边的话根据自己的经验,大概有三个点,就是希望跟大家澄清一下这个误区。 首先的话就是很多人觉得只要有决心,一定铁杵磨成针,然后撸起袖子就是干,这个是不对的。 第二的话就是大家会觉得刷题去看量大,我刷的越多,现在Leetcode已经有大概1600多道题了,觉得只要刷了够多,Offer就能随你挑,这个也不对。 然后第三个观点是说刷题就是啃硬骨头,然后如果想不出来一天都要花来讲,一定要死磕,或者的话就是说我要把这个题背下来,这些都是不对的。 那么,这边的话我分享一下自己的心得。 第一点,我觉得刷题实际上是一个以数据结构与算法为核心基础的。 大家遇到每道题的时候,可以做这样的一个三步走的策略:第一的话,看一下这个题目是不是能做出来;第二的话,如果做不出来,看一下能不能看出来用什么数据结构与算法;第三的话,如果不出来的话。那么再去discussion区域看一下高票的回答,看完之后理解透彻,看一下自己能不能独立写完。 第二点,刷题和量是没有一个必然关系的,还是要做到理解一道题。 在你面前出现千万次,你都能把他顺利写出来,而且能够分析出它的时间复杂度与空间复杂度。而且有一个很好的思路是,对一道题来讲,可以去掌握它的最优解和经典解。比如说,有的题可以用这个DP来完成,你还应该用DFS来写一遍。 第三点的话就是刷题不能死磕,也不能硬背。 高效的刷题方法是看题后先思考用什么数据结构,用什么算法。时间和空间的复杂度是多少?是不是最优解?如果看得出来最优解,那么就直接上手。如果看不出来,或者感觉没想清楚,立刻探discussion里最优解和经典解,分析他们的时间和空间复杂度。并且反思为什么会想到用这样的数据结构与算法,然后独立再写一遍,如果看discussion还是懵懵懂懂,那就把它加入一个waitlist,准备二刷。 最后的话建议大家可以把自己所有做过的题通过tag的方式更好地做分类和管理。这样的话会更容易让你在不同的题中找到一些规律,这样的话以后遇到新的题型,会很容易想到熟悉的解法。

晒货图片

发布了晒货 1年前

谷歌经理来告诉你,面试官青睐怎么样的面试者

作为在谷歌工作的技术管理经理,我参加过大大小小几十次面试,在面试中我遇到过不少让人心动的面试者, 但是也有我觉得表现欠佳的同学。这里篱笆老师就从谷歌面试官的角度,给大家分享一下面试官喜欢和不喜欢的candidate的特征,并且给出实用的建议。 面试官不喜欢的面试者,有这几种特征: 第一,交流沟通不自信:很多面试者(尤其newgrads)我普遍感觉很容易在面试中表现得不自信,主要体现在 说话小心翼翼,或者是当面试官稍微质疑一下,就马上推翻自己的想法;这是对我来说亮红灯的情况,说明你不够有主见,然后算法基础也不是很牢固。 面对自己不会的算法题或者找不到最优解,很多时候大家就懵逼了,整个面试就会因此陷入沉默。其实大可不必,只要不卑不亢地把你知道的,和不知道的,有逻辑地讲出来,并且积极向面试官要hints,也是能展现你的优势的。我就给过一些没做出来题的同学hire的suggestion, 因为他们思维过程很好。 第二,用套路的痕迹比较重,主要体现在: 刚看完题不怎么思考,既没有问clarify的问题,也没有列举example, 就直接快准狠地把main question的答案写完了,但是对followup question怎么都想不出来,甚至给了明显的hint也没有进展。 生搬硬套算法:有时候是一道很简单的array就可以解决的题目, 但是candidate非要用graph来解决,但是我问为什么用这个数据结构,对方却答不出来,这就是生搬硬套了 还有的同学,明明知道了最好的solution,但是会故意先用暴力解决方法,但是优化的过程是断层的, 直接跳到最优解, 这其实就没有给面试官机会来引导你思考了,是减分的 第三个特征,太沉浸在自己的世界,不沟通: 很多咱们国人小伙伴,沟通是普遍偏少的,面试算法的时候更像是在自己写考卷,也不问导师要hints,也不说自己的思维过程。这里篱笆老师想强调:虽然代码是很重要但是有效地沟通也很重要,面试算法很多时候是看你解决问题的能力,如果不把你的思维说出来,这点就没法考察了 那么,下面我来讲下自己很喜欢的candidate的特征: 第一,思路清晰相比直接给出solution的人,面试官会更喜欢。其实面试官不是想你把答案写出来而已,我们更看重how you get there. 而可以把这个过程讲清楚的人,往往也是在工作中能力会比较强的,也可以和team更好地work together。 第二,代码清晰简洁可读性强。这是一个可以训练的过程,在自己写完答案pass之后也要花一定的时间来优化自己的代码结构,看看别人写的代码怎么写的,比如用适当的helper function可以很好的抽象一些逻辑,加一些适当的comment,但是也要避免过度抽象的python的方法,这会让读起来很费劲 第三,主动提出不错的corner case,这个体现了你的思维缜密,对技术岗位是很重要的! 第四,注重testing, 写完之后,不要直接和面试官说你写完了,可以分析好时间和空间复杂度,并且向面试官建议你想跑1--2个例子,来验证自己的solution是否work。这是非常加分的! 好的,今天的分享就到这里!希望大家记住这些经验,努力拿到好Offer吧!

晒货图片