番外篇:面试总结(1)
初学者
你经历的每一件事都会成为未来的部分,具体看你如何对待了.
0:前言
作为一个初学者,对知识的理解存在着很多的疑惑。
同人交流作为学习的方式之一,牛人和兴趣的着眼点的不同,我通常倾向于自我修正的学习方式。
具体来讲:
- 实现最小化系统
- 为什么?
- 有没有其他的实现方式?
- 方法的优缺点有没有考虑?
每天的学习之前,都会回忆下昨天的新旧知识,对概念理解的是否可以用自己的话述说出来。
学习是一个新旧知识不断迭代循环的过程。新知识是能力不断提升的关键,旧知识是能力不断精进的关键。这一迭代过程逃不脱重复。为实现重复这个过程,总结显的很重要,梳理知识点,发现盲区,最大的错误可能是你根本没发现错误理解的知识点。
1:为什么参加面试?
为了实现自我修正,选择的做法是面试,本人可能倾向于把自己打造成一名"pythoner"。最近一周投递了近5家创业公司,收到的面试只有两家。一家电话面试,一家笔试加面试。
以下就是实现自我修正系列的总结。
总结为什么这么重要:
- 随着信息的不断输入,需要梳理出清晰的脉络
- 不很相信记忆的痕迹,总结梳理的过程就是不断对记忆的再次固化
- 及时的发现问题和调度答案
2:面试的流程?
- 第一家:创业公司,面试岗位:python 开发工程师
电话面试:
第一轮:HR咨询基本情况,问简历上的实习经历。大概的薪资要求和转正意向。
第二轮:技术面试:
以下是提炼的问题:
- python的缺点
- 职业规划:前端,后端,数据库,运维...?
- linux的熟悉程度?
- 爬虫的效率,实时性?
- 如何编写完整的独立出来几百个网页的微型爬虫框架?
- 模拟登入的网页如何进行爬虫处理?
- 对网页的解析工具都有哪些?
- 正则表达式会一般用来抓取什么类型的数据?
- 异步加载数据的处理?使用模拟浏览器的功能效率如何?
- 独立编写爬虫大概的时间是?
- 实习项目中抓取的都是什么类型的数据?比如?
- 第二家:创业公司,面试岗位:python开发工程师
入职主要处理量化分析和web开发
第一轮:HR面,笔试
第二轮:技术一面
第二轮:技术二面
最后:HR谈入职意向
笔试试题:
-
python 基础题
- range 和 xrange 的区别
- 使用切片实现列表的倒序
- 元组和列表的主要区别
- 对目录下文件的操作
- 深拷贝和浅拷贝的区别和实现
- 如何动态实现类方法
- 静态类方法和类方法的区别
- 编写一个singleton
-
算法题
- 文本文件中存在无序的10亿个数字,如何提取出最大的1000个
- 如何等概率的实现将一个列表打乱
-
智力题
- 30秒内实现小明一家拿灯过桥问题
-
技术面问题:
- 数据表的操作:(只懂简单的增删改查没用...)
- 经常使用的python标准库和第三方库以及作用
- map函数的使用
- 编写类方法
- 如何对网页文本的解析
- 手写sql语句
- 手写xpath
- 讲解实习经历
- python 系统学习过哪本书?
- 使用过的python框架,以及优缺点,有没有测试过性能?
......
没给出问题答案,因为这并不是"你的灯亮着",而是“我的灯亮着”。
3:面试的收获?
结果:
- 第一家被拒。
- 第二家确认offer。
其他:
- 基础
基础决定上层建筑,对一个问题的掌握还是需要扪心自问。
第一:你懂了吗?
第二:流程是什么?
第三:怎么做?
第四:教给别人怎么做会不会?
- 手写代码
集成开发环境确实给开发带来帮助。然而独立编写代码,漏洞百出...
- 最小化系统
常在强调最小化编程系统的实现,这一步仅仅是实现了功能,真正的生产环境,并不是这么简单,持续的最小化系统的思维禁锢了对问题的进一步探讨实现的可能性。需要改正。
笔试和面试的过程中才会发现自己诸多的不足。
去年的面试是为了发现企业的需求。
今年的面试是为了增进技能的需求。
- 下一步
强化基础,增进算法和数据结构的知识。
不断输入和输出,平衡点需要再次升高。
扩充知识面的宽度和深度。
- 自我不断修正,不断精进
这只是一段小插曲,我希望在大插曲来到的时候,自信而勇敢的握住