【小卜学编程】Python面试知识点梳理——一些废话以及知识点分类(一)

水平不高,记录一下学习的过程,与大家分享,希望新的一天能和大家一起进步!

小卜和Python

Python几乎是一门让人只有爱,而找不出什么缺点的美好的编程语言。尤其是对于小卜这种不是科班出身的来说,也不用费什么劲就能入门了,用来解决碰到的一些问题好不快活。

第一次接触Python的记忆已经模糊了,硬要说的话我猜是大一时候处理大物实验数据的时候,用Python调用一些包相比于Matlab之类的更加灵活一些,做出来的图可能更好看一些,所以就入了坑。

之后一些课程需要用到建模的或者处理大量数据的,Python+Notebook的组合成为了我无往不利的大杀器——顺着思路把一步一步操作用代码写出来,再用一些前人写好的工具,也不用考虑效率之类的东西,经过简单的调试,总能给出比较理想的结果。这时候对于Python的应用,更像是请了个效率很高的秘书,把程序化的重复劳动给帮忙办了。

后来碰上AlphaGo的几次围棋大战,开始对人工智能产生了比较大的兴趣。而与这些报道一起出现最多的就是Python这门语言,以至于直到现在我要是想搞机器学习之类的,也只会考虑用Python,其他的尽管很好但总感觉少了点味道。轰轰烈烈搞了一段时间机器学习,后来很多用不到就渐渐淡忘了,但是Python倒是用得越来越熟练了。

再往后做一些比较有意思的爬虫,又跟朋友一起开发网页,接触了Django、Redis,还有一些数据库的操作,再次延伸了对Python的理解。同时,又碰上一些科研上的应用,把类玩得无所不用其极,渐渐地面向对象的思想也开始生根发芽。

可是到头来其实没怎么系统性地学习过Python,更多地是把它当做一门工具,用一些比较平淡的语句来实现人跟机器的交流,让电脑来帮你办事。就有点像只用“Can I have…” 也基本上能完成绝大部分的点餐。目的往往是达到了,但是对于其中的一些深入机制的理解,以及更好的解决方法也是模模糊糊的。

最近闲着没事看看面试相关的资料,不看不知道,一看吓一跳。本来以为写了这么几年Python了,就算不能轻松通过也能游刃有余吧,结果发现这小丫头片子完全是两幅面孔,大多数内容都是闻所未、见所未见。

于是,趁此机会预习预习Python,整理一下这些杂乱的知识点,也把这些内容分享给大家,希望朋友们能跟小卜共同进步。

另外,如果如果有理解不对的地方也请大家批评指正。小卜的频道是记录小卜学习的过程,而不是以一个过来人的姿态去讲授一些知识,所以希望大家多多包涵。当然,我也会尽力去提高质量不让错误发生。

知识点划分

由于现在小卜其实没有特别大的就业压力,所以设想是做的越全越好,从比较基础的考点到一些库的应用,只要是有关Python的,又是在kao工shi作zhong中ke用neng得yao到kao的,都想要囊括进来。

这就面临一个问题,如果把这些点分类的话,感觉效率是很低的,就像背单词,如果是乱序版的上下之间就没有联系,基本就死记硬背,顺序的话说不定还能看看词根词缀,举一反三,就好记多了。所以就要考虑怎么把这许多的知识点分门别类。

而且由于是学习记录嘛,所以小卜脑子里也不存在一个系统的逻辑框架,所以只能先参考一下别人分享的分类,大致对这些知识点进行分类,先做下去再说,以后有缺漏的再打个补丁。

从整体上来讲,暂时先分成这几类:

  • 数据类型,不考虑类相关的
  • 基本语法
  • 正则表达式
  • 函数
  • 面向对象
  • 内存
  • 编译
  • 进程、线程、并行
  • 代码之美
  • 常用的包
  • 数据库
  • 网络
  • 爬虫
  • 后端
  • 大数据
  • 实例、程序设计

有的分类之后就直接给出一个个知识点以及实例、理解之类的,还有些比较大的分类中会再细分出一些小的分类,先不给出,到时候碰到了再进行细分。

辅助材料

目前的设想是在文字材料中先给出知识点,做一些解释,结合完成度较高的实例说明一下这个知识点,再谈谈自己的理解,做一些类比之类的。总之尽量保持真实的学习该知识点时候的想法,可能会有些啰嗦,或者有所纰漏。

此外,还希望为每一篇博文配上一个视频,特别是编程方面的,如果加上案例实操应该会有助于更好地理解。与之匹配的视频可以在各个平台上搜索“小卜爱学习”找到,如果平台允许的话可能也会做些相关视频的推送。

代码部分会放在github仓库https://github.com/xiaobulearning/knowledgepoints-python

总结

这是第一期推文,对我来说是一个崭新的开始。各个平台上的注册、设置、推文等等都是第一次经历。包括像简陋的Logo其实也是花了一些心思以及时间去构思,去表达的,包含着小卜的一些想法。整个排版之类的也看了很多前辈的公众号,去学习一些经验。

所以不仅是对Python知识点的分类让我学习,撰写文章,运营这些“新媒体”的过程也是一种学习。尽管有很多不成熟,但这正是“小卜爱学习”这个频道的初衷,通过不断地学习,从最初的“破破烂烂”一点点成长起来,一步步茁壮成长。

今天这个推文所花费的时间,其实远超我的想象,而且统计了一下分类以后发现工作量其实非常巨大,加上设想是尽量讲得详细一些的话,每次可能只能介绍几个知识点。这就意味着需要很多很多的推文,大把大把的时间,还是比较担心之后能否继续下去。希望熟悉流程以后可以大幅度提升效率吧。

参考资料

  • https://github.com/Dikea/awesome-job
  • 何海涛, and 软件工程师. 剑指 Offer: 名企面试官精讲典型编程题. 电子工业出版社, 2014.
  • https://github.com/kenwoodjw/python_interview_question
  • https://github.com/taizilongxu/interview_python#8-%E9%A1%B5%E9%9D%A2%E7%BD%AE%E6%8D%A2%E7%AE%97%E6%B3%95

我是小卜,感谢你的阅读,我们下次再会。

更多关于学习的咨询可以关注我的公众号 小卜爱学习

这是一个从零起步的博主,涉及到的知识都是博主正在学习的,也尽力把学习过程中最真实的一面分享出来。希望大家能和小卜,和“小卜爱学习”一起学习,共同进步!

【小卜学编程】Python面试知识点梳理——一些废话以及知识点分类(一)

\leftarrow 喜欢的话 扫码关注 一下再走嘛 \rightarrow