Java 一套拳法刷掉 n 个遍历树的问题 John 易筋 ARTS 打卡 Week 43
1. Algorithm: 每周至少做一个 LeetCode 的算法题
笔者的文章:
题目
Given an integer num, repeatedly add all its digits until the result has only one digit, and return it.
Example 1:
Example 2:
Constraints:
Follow up: Could you do it without any loop/recursion in O(1) runtime?
递归解法
线性解法 O(1)时间复杂度
我将尝试解释其背后的数学原理:
首先,您应该了解:
然后让我们用一个例子来帮助解释。
然后x%9 =(2+ 3 + 4 + 5 + 6)%9
,请注意x = 2 * 10000 + 3 * 1000 + 4 * 100 + 5 * 10 + 6
所以我们有23456%9 =(2 + 3 + 4 + 5 + 6)%9
2. Review: 阅读并点评至少一篇英文技术文章笔者的文章:
笔者文章:
管理Riskified的数据科学部门需要大量招聘-我们已经增加了一倍以上我ñ不到一年的时间,和半。作为几个职位的招聘经理,我还阅读了很多简历。招聘人员可在7.4秒内通过简历进行筛选,并且在招聘了几年之后,我的平均时间相当快,但还不是那么极端。在此博客中,我将引导您完成个人启发式搜索(“作弊”),以帮助我筛选简历。虽然我不能保证其他人使用相同的启发式方法,并且每个角色在重要性上的不同角色也会有所不同,但是注意这些要点可以帮助您克服 CV 筛选阶段。此外,其中一些启发式方法可能看起来不公平,或者可能会忽略合格的候选人。我同意不投资简历的有才华的机器学习从业者可能会被此屏幕拒绝,但这是考虑时间的最佳折衷方案。请记住,一个备受追捧的职位可能会吸引一百或更多的简历。如果您想要一个高效的过程,则简历屏幕必须快速。以下是用于快速筛选数据科学简历的 7 种启发式方法:
1.之前作为数据科学家的经验
我将快速浏览您的简历,以查看您以前的职位,并查看标记为“数据科学家”的职位。还有其他一些相邻的术语(取决于我要聘用的职位),例如“机器学习工程师”,“研究科学家”或“算法工程师”。我不将“ Data Analyst”包含在此类别中,因为日常工作通常与 Data Scientist 的工作不同,并且 Data Analyst 头衔是一个极为宽泛的术语。如果您在目前的工作中从事数据科学工作,并且还有其他创造性的工作描述,那么将自己的头衔更改为数据科学家可能是您的最大利益。对于实际上是数据科学家的数据分析师来说,这可能是非常正确的。请记住,即使 CV 包含您所从事的项目的描述(并且包括机器学习),但 Data Scientist 以外的标题也会增加不必要的歧义。此外,如果您曾在该领域接受过数据科学训练营或全职硕士课程,则这可能会被视为您数据科学经验的开始(除非您之前曾担任过类似的角色,否则将在以后阶段提出问题) )。
2.以业务为导向的成就
理想情况下,我想阅读您的工作(技术方面)以及业务成果。缺乏能够以业务术语进行交流的精通技术的数据科学家。如果您可以共享您的工作所影响的业务 KPI,那在我的书中会大为赞赏。例如,表明您的模型在 AUC 方面的改进是可以的,但是解决因模型改进而带来的转换率提高意味着您“得到了”-最终,业务影响才是真正重要的。比较以下以相同的重点(技术性还是商业性)描述相同工作的替代方案:一个。银行贷款违约率模型-将模型的精确召回 AUC 从 0.94 改进到 0.96。b。银行贷款违约率模型-在保持恒定违约率的同时,将业务部门的年收入提高了 3%(每年 50 万美元)。
3.教育
您的正规教育是什么,在哪个领域。它是知名机构吗?对于较新的应届毕业生,我还将研究他们的 GPA 以及他们是否获得过任何卓越奖或荣誉,例如进入 Rector 或 Dean 的榜单。由于数据科学是一个广阔的领域,没有任何标准化的测试或必需的知识,因此人们可以采用各种方法进入该领域。在上一个博客中,我描述了进入该领域的3条主要途径,并根据您的教育程度和时间安排,确定您可能选择了哪一条。因此,时间安排有助于理解您的故事-您如何以及何时过渡到数据科学。如果您没有任何数据科学方面的正规教育,那很好,但是您需要展示该领域的工作记录和/或相似领域的高级学位。
4.布局/视觉吸引力
我看过一些漂亮的简历(为个人灵感而保存了其中的一些),但我还收到了缺少任何格式的文本文件(.txt)。从事简历工作可能会很痛苦,如果您选择数据科学作为自己的工作,那么很有可能您不喜欢在业余时间创建美学设计。无需过度投入,您确实想要寻找一个不错的模板,该模板使您能够在有限的空间内获得所有信息。明智地使用空间-拆分页面并突出显示不属于按时间顺序进行的工作/教育的特定部分很有用。这可以包括您熟悉的技术堆栈,自我项目列表,到 github 或博客的链接以及其他。一些简单的图标也可以帮助强调节标题。许多候选人在他们熟悉的每种语言/工具旁边使用 1-5 个星号或条形图。就个人而言,出于以下几个原因,我不是这种方法的忠实支持者:
这是非常主观的-您的“ 5 星”是否与其他人的“ 2 星”相同?
他们将语言与工具混合在一起,在最坏的情况下,他们将其与软技能结合在一起-说您在“领导力”课程中的“ 4.5 星”没有帮助。作为坚强的成长心态的信奉者,声称要最大限度地发挥技能(尤其是难以量化和难以掌握软技能)感到非常自负。
我还通过采取主观措施并将其转换为饼图(30%python,10%团队合作者等),进一步看到了这种方法的滥用。尽管这可能被认为是一种脱颖而出的创新方法,但它表明在不同图表的概念背后缺乏基本的了解。
这是我在视觉上吸引人的简历的两个示例,细节因匿名而模糊不清。
信用 Eva Mishor视觉化的数据科学家简历,细节模糊。请注意,两个示例中使用的垂直拆分是用来区分经验,技能,成就和出版物的。在这两种情况下,简短的摘要段落都有助于描述他们的背景和愿望。经所有者许可后使用。

5.机器学习的多样性
我寻找两种类型的品种:
算法类型-结构化/经典 ML 与深度学习。一些候选人仅与深度学习合作,包括可能更适合基于树的模型的结构化数据。虽然成为 DL 专家本身没有任何问题,但限制工具集可能会限制您的解决方案。正如马斯洛所说:“如果您仅有的工具是锤子,那么您往往会把所有问题都看作钉子。” 在Riskified中,我们处理结构化,领域驱动,功能工程化的数据,最好用各种形式的增强树来处理。有人的整个简历都指向 DL,这是一个问题。
ML 领域-这通常与需要大量专业知识的两个领域相关-计算机视觉和 NLP。这些领域的专家需求旺盛,在许多情况下,他们的整个职业都将专注于这些领域。虽然这对于要寻找某人从事该领域的工作至关重要,但通常不适合某人担任更一般的数据科学职位。因此,如果您的大部分经验是在 NLP 上,并且您正在申请域外的职位,请尝试强调职位/项目,因为您正在处理结构化数据以证明多样性。
6.技术栈
通常可以将其分解为语言,特定的程序包(scikit 学习,pandas,dplyr 等),云及其服务(AWS,Azure,GCP)或其他工具。一些候选人将其与他们熟悉的算法或体系结构(RNN,XGBoost,K-NN)混合在一起。就个人而言,我更喜欢围绕技术和工具展开的工作。当提到特定算法时,我想知道候选人的理论 ML 知识是否仅限于那些特定算法。
在这里,我正在寻找技术堆栈的相关性-它们是否来自最近几年(这是应聘者亲身实践并学习新技能的积极信号),堆栈的广度(它们是否仅限于特定领域?工具,或者他们熟悉很多东西)以及与我们的堆栈相适应(我们需要教多少)。
7.项目
您有可以在 GitHub 上共享的东西吗?任何 Kaggle 竞赛或附带项目都可能会非常有帮助,使您可以查看简洁的代码,预处理的类型,功能工程,EDA,算法的选择以及现实项目中需要解决的无数其他问题。将链接添加到您的 GitHub 和 Kaggle 帐户,以供访问员深入研究您的代码。如果您没有太多经验,很有可能会询问您有关这些项目中的一个或多个的信息。在我进行的一些采访中,候选人对这个项目不太记得,我们也无法就他们所做的选择及其背后的原因展开对话。确保重新完成所做的工作或将其排除在简历之外。同样,请确保您展示了自己的最佳作品,并且已经投入了足够的时间和精力。最好有 2–3 个高质量项目,而不是 8–10 个中等(或更低)质量的项目。
概括
如果您正在寻找新的数据科学职位,请花一些时间并仔细阅读本文中的要点。如果您无法勾选所有这些标记,那就很好,但是越多越好。希望这些技巧将帮助您从人群中脱颖而出,并以鲜艳的色彩通过 CV 屏幕。
#pic_center =450x
参考
https://towardsdatascience.com/7-must-haves-in-your-data-science-cv-9316841aeb78
3. Tips: 学习至少一个技术技巧
笔者的文章:
我不害怕曾經練過一萬種踢法的人,但我害怕一種踢法練過一萬次的人(by 叶师傅的徒弟 Bruce Lee)
树的遍历(Traversal)
如下图, 三种遍历方式, 可用同一种递归思想实现
1. 144. 先序遍历(PreOrder, 按照先访问根节点的顺序)
解法
2. 94 中序遍历(InOrder, 按照根节点在中间访问的顺序)
给定一个二叉树的根节点 root ,返回它的 中序 遍历。
解法
3. 145 后续遍历(PosterOrder, 按照根节点在后面访问的顺序)
解法
4. 100. 相同的树
给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。
如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。
解法
5. 226 翻转二叉树
翻转一棵二叉树。
备注:这个问题是受到 Max Howell 的 原问题 启发的 :
谷歌:我们 90%的工程师使用您编写的软件(Homebrew),但是您却无法在面试时在白板上写出翻转二叉树这道题,这太糟糕了。
6. 590. N 叉树的后序遍历
给定一个 N 叉树,返回其节点值的 后序遍历 。
N 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例)。
进阶:
递归法很简单,你可以使用迭代法完成此题吗?
示例 1:
解法
7. 103. 二叉树的锯齿形层序遍历
给定一个二叉树,返回其节点值的锯齿形层序遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。
例如:
解法:
8. 230. 二叉搜索树中第K小的元素
给定一个二叉搜索树的根节点 root ,和一个整数 k ,请你设计一个算法查找其中第 k 个最小元素(从 1 开始计数)。
中序遍历
9. 102. 二叉树的层序遍历
给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。
递归 + 前序遍历的解法,记录每一层的高度值。
10. 199. 二叉树的右视图
给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。
示例:
基本思路: 先序遍历, 记录每一层深度下的节点的值, 并先记录左节点再记录右节点, 则最后记录的值即为该层深度的右视图看到的值
11. 104. 二叉树的最大深度
给定一个二叉树,找出其最大深度。
二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
说明: 叶子节点是指没有子节点的节点。
示例:
返回它的最大深度 3 。
12. 107. 二叉树的层序遍历 II
给定一个二叉树,返回其节点值自底向上的层序遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)
例如:给定二叉树 [3,9,20,null,null,15,7],
返回其自底向上的层序遍历为:
参考
4. Share: 分享一篇有观点和思考的技术文章笔者的文章:
讲师:邱岳
1. 用户属性
1.1 用户是谁
通用:年龄、性别、地区、终端、分辨率、网络条件......
业务:社交、来源、职业、家庭关系、学历、ID.....
来自数据工具/用户调研/业务数据表
快速辅助决策
应指向用户画像
形成对用户好恶的感性直觉理解
1.2 用户从哪里来,到哪里去
互联网产品分析中最重要的分析领域;
宏观分析和局部观察两种
数据获取:用户行为日志
常用工具:漏斗/地图
思路:从微观轨迹到宏观数据
从用户的角度看产品,标记在每一时刻可能做什么,去哪里
核心路径是什么?路径的核心环节是什么?
2 App Store 页面体验

页面:☞ Portal: 今日推荐、游戏、App、搜索☞ List:应用列表☞ Detail:专文推荐、应用详情
动作 分享、获取(点击获取 > 确认)、退出
来源 --> 着陆位置 --> 行为轨迹 --> 关键行为 --> 出口 --> 引荐 | 留存
2.1 用户分类与用户标签
用户是谁 x 用户做了什么 --> 用户标签
新用户 & 老用户
高频用户 & 低频用户
浏览用户 & 下载用户
免费用户 * 付费用户
新购用户 & 复购用户
无支付路径用户 & 支付宝用户 & 银行卡用户
生产力工具用户 & 游戏用户 & 创造力工具用户
生产用户 & 消费用户
L1, L2, L3, L4
2.2 用户产品的数据模型
假设一个关键目标:提高 App 下载量
以终为始,倒推实现路径
2.3 基于数据反推的策略
针对 App Store 新用户提供搜索引导☞ 目标:提高新用户进入搜索页 -- 输入搜索词 -- 提交搜索 -- 浏览并点击搜索结果的比例
针对低频用户发送 Push,直接导入搜索结果页☞ 目标:提高低频用户进入搜索页 -- 浏览并点击 -- 自行输入搜索词的比例
针对免费用户,优先展示免费 App 的搜索结果页☞ 目标:提高免费用户的搜索列表至应用详情的转化率
还有很多,当我们将框架搭建好后,数据填充其间,就可以集中考虑策略了。
3 作业
挑选一个你喜欢的产品(结构简单一点),做一个用户路径地图
针对这个路径地图,做一个漏斗模型,填入你认为合理的数字
(选做)根据这个你假设的数字,提出下一步的优化重点
(选做)针对优化重点,提出一到两个改进方案。
版权声明: 本文为 InfoQ 作者【John(易筋)】的原创文章。
原文链接:【http://xie.infoq.cn/article/02d8d379c3df2e20af6135c7d】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论