番外篇:面试总结(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。

其他:

  • 基础

基础决定上层建筑,对一个问题的掌握还是需要扪心自问。
第一:你懂了吗?
第二:流程是什么?
第三:怎么做?
第四:教给别人怎么做会不会?

  • 手写代码

集成开发环境确实给开发带来帮助。然而独立编写代码,漏洞百出...

  • 最小化系统

常在强调最小化编程系统的实现,这一步仅仅是实现了功能,真正的生产环境,并不是这么简单,持续的最小化系统的思维禁锢了对问题的进一步探讨实现的可能性。需要改正。
笔试和面试的过程中才会发现自己诸多的不足。

去年的面试是为了发现企业的需求。
今年的面试是为了增进技能的需求。

  • 下一步

强化基础,增进算法和数据结构的知识。
不断输入和输出,平衡点需要再次升高。
扩充知识面的宽度和深度。

  • 自我不断修正,不断精进

这只是一段小插曲,我希望在大插曲来到的时候,自信而勇敢的握住


你可能感兴趣的:(番外篇:面试总结(1))