一、前言
今天是2020年5月28日,回想起自己辞去上一份工作,在家待业学习数分已经有两个月了。在这段时间里,自己曾天真的以为学习了很多,多到基础数分岗所需的工具学习与理论知识几乎都摸了一遍。然而,事实是自己收获的东西很少很少,少到需要靠不断地看视频或买书籍去虚假地充实自己,克服焦虑。直到有一天,自己真正意识到了这点,时间却已溜走了一个多月,那种迷茫与无助,无法面对过去的失败感、痛苦感油然而生,日夜焦灼,至今记忆犹新。辛运的是最终自己还是走了出来,经过一段时间的思考,以及和一些朋友的沟通,开始慢慢接受过去的失败,通过报就业班的形式开始新的一轮数分学习,告诉自己再给自己几个月的时间好好准备,踏实走好每一步,万丈高楼平地起。有时,慢也是种快!。
二、转行原因
我是19届毕业生,大学专业是财务管理(ACCA方向),毕业后在一家传统制造业上市公司工作一年后(包括实习期)辞职,辞职转行主要原因是自己不喜欢财务的工作。感觉这行受政策影响太大,很多工作被条条框框给限制住了,财务越往后走越依附于企业。此外,财务许多重复、繁琐的长时间工作以及后续部分岗位工作的形式主义极易使自己思维固化,且性价比低!间接原因是自己在知乎、微信公众号等平台了解到财务信息化方面的内容,例如:财务共享中心SSC的逐步推进与企业数字化转型的变革,财务信息化下的生存现状等话题,联想到自己与同事们平日的工作内容,慢慢开始相信未来传统企业财务受信息化冲击较大的说法了。也就在那时,了解到数据分析以及数分岗的工作内容,意识到这确实是自己向往的工作,这样的工作即使加班加点,个人觉得也是有意义的。毕竟技能水平的不断提高,最终是实实在在属于自己的。
三、正文
过去一周的学习(2020.05.22-2020.5.28)主要包括Mysql与Python基础两部分,MySQL部分的学习主要涉及基础概念、增删查改知识点、刷题三部分。Python基础部分主要涉及基础概念、运算和流程控制相关知识点、刷题三部分,由于自己过去的学习,许多知识点已经是二次复习,因此我的重心学习主要放在刷题并定期复盘习题。各部分学习具体内容如下:
第一部分MySQL(基础概念+增删查改知识点+习题复盘)
基础概念:目前过了一遍视频,看一遍理论关卡题,有个印象
-
增删查改知识点:目前过一遍视频,手敲了一遍关卡题。
特别注意SQL执行顺序(也是自己写SQL思考顺序),具体如下:
7.Select 8.distinct 10<top bun>/limit
1.From[left tab]
3.<join type> join <right tab>
2.On <join condition>
4.where
5.group by
6.Having
9.Order by
其他详细知识点,见自己过去学习整理的思维导图,图如下:
习题复盘:通过多次刷题、对问题考察的知识点进行归类。便于后期针对性刷题或者碎片化时间复盘
PS:
1.SQL问题有时存在同种问题不同解法的情况,以下问题归类仅根据个人易于理解的答案所整理,后续会整理一篇以下SQL习题的参考答案供参考。
2.黄色标识问题所涉及到的知识点,自己在二刷时仍感到陌生,后续还得再熟悉熟悉
根据课程所涉及到的习题,将问题归类如下:
一、AA表查询:涉及同一张表仅二次使用的情况下各知识点考察
二、AB表查询:涉及两张不同表简单使用(不含子查询)的情况下各知识点考察
三、AB表含子查询:涉及两张不同表含子查询的使用情况下各知识点考察
四、Case When用法查询:主要考察Case when用法
五、like用法查询:主要考察like用法
六、单表常规查询:涉及单张表的各类常规知识点考察
七、多表查询:涉及三张表以上情况的知识点考察
八、复杂查询:个人二刷时频繁报错,那会感觉蛮复杂的....
九、排名查询:主考察窗口函数与TopN
十、删除语句:删除语法考察
十一、时间函数查询:主要考察各类时间函数用法
十二、更新查询:更新语法考察与case when用法考察
第二部分Python基础(基础概念+运算与流程控制知识点+题型整理)
- 基础概念:过一遍视频,看一遍理论关卡题,有个印象
写在知识点介绍之前:
众所周知Python的基础重在编程。自己在初学Python时,抱着这样的想法搜集各种资料,时时整理思维导图,力图加深每一块学习印象,搞懂每个知识点。但最后一直停留在知其然而不知其所以然的地步,导致编程学习一直无法前进,晕头转向直至遗忘,究其原因主要是自己从未考虑过如下几个问题:
1.编程到底是什么?
2.为什么要先学编程?
3.学编程重心学什么?
这些问题的答案都写在了-知乎上的一篇文章【正确打开编程的方法(以Python为例)】https://zhuanlan.zhihu.com/p/75257105
耐心阅读文章中所讲的‘底层逻辑法’,相信对于初学Python者一定会有所收获。
贴一下自己读完后整理的'底层逻辑法'的思维导图:
因此,对于编程知识点的学习可分为运算与流程控制两块知识点,运算部分的知识点重在了解,有个印象,后期能通过搜索引擎或做题加深印象。流程控制重在理解、与流程框架的设计与应用,多刷题,多总结。
-
运算知识点:目前过了一遍视频,手敲一遍关卡题,了解各知识点应用后的返回值。
贴一下李凯旋老师整理的列表、字典、字符串常用操作方法总结表,利于碎片化时间搜索与复盘:
流程知识点:目前过一遍视频,手敲了一遍关卡题。
其他知识点,贴一下过去学习时整理的思维导图,新旧知识不断重复看,加深印象:
- 习题复盘:由于这周仅过完一遍python视频,刷题量不够多,贴几道学习时比较适合复盘基础的题目:
1、if 的嵌套 演练 —— 火车站安检
需求:
定义布尔型变量 has_ticket 表示是否有车票
定义整型变量 knife_length 表示刀的长度,单位:厘米
首先检查是否有车票,如果有,才允许进行 安检
安检时,需要检查刀的长度,判断是否超过 20 厘米
如果超过 20 厘米,提示刀的长度,不允许上车
如果不超过 20 厘米,安检通过
如果没有车票,不允许进门
2、while循环演练
需求:计算 0 ~ 100 之间偶数的累计求和结果
3、while-continue循环演练
需求:输出1 2 3 4 5 6 8 9 10(注意没有7)
4、while循环嵌套
需求:输出九九乘法表
5、遍历列表
需求1: 已有列表nums=[11,22,33,44,55],使用for循环遍历列表
需求2: 已有列表nums=[11,22,33,44,55],使用while循环遍历列表
需求3:利用for循环实现包含1--10中的偶数的平方的列表
需求4:编写一个程序,通过键盘循环获取5个学生的信息,将学生信息组成字典保存到列表中,最终将学生信息列表打印出来。(学生信息包括 name 、age、id)
6、遍历字典
需求:已有字典dict1={'name':'xiaoming','age':18,'height':1.75}
使用for循环分别遍历字典的键、值、键值对(需解包)
7、列表推导式
需求1:使用列表推导式包含1--10中的偶数的平方
需求2:使用列表推导式得到10以内的乘法口诀
需求3:已知scores = {
"Rick Sanchez": 70,
"Morty Smith": 35,
"Summer Smith": 82,
"Jerry Smith": 23,
"Beth Smith": 98
}
使用列表推导式创建一个 passed 的学生列表,只包含得分在60分以上的学生信息
需求4:
names = ["Rick Sanchez", "Morty Smith", "Summer Smith", "Jerry Smith", "Beth Smith"]
使用列表推导式获取个人姓名的 first_name,并且转换位小写
8、定义函数
需求1:定义一个函数:将1~n之间数字的平方值加到列表中,得到这样的列表
需求2:定义一个函数:求两个数之间所有整数的和,在调用该函数时传入这两个数的具体值
需求3:定义一个函数main(),将1—200(范围包含1和200)中3的倍数或者有数字3的所有整数保存到列表list_1中,并输出
需求4:定义一个函数:要求输入大于0的数字n,判断传入数字的奇偶性,如果是奇数返回 "n是奇数",否则返回 “n是偶数”,否则 返回“请输入大于0的整数
需求5: 定义一个函数,返回n的阶乘的最后结果,并打印出如5阶乘"5!=120"的效果
9、匿名函数
需求1:通过匿名函数结合推导式实现第8题中的需求1
需求2:已知:fruits=['apple','orange','mango','watermelon']
用匿名函数实现:把列表中所有水果名字后面都加上 juice,比如 apple 就变成 apple_juice
四、小结:
一周整体进度自我感觉有些偏快,对于SQL,知识点部分接下来定期复盘即可,习题部分接下里需要提高刷题速度,做到非常熟练。对于Python,知识点部分需通过多做题加以巩固,习题部分没啥好说就是多练,尤其是函数式编程,需要踏实打好基础。