在准备面试之前,你最起码要做到以下几点:

  • 找准自己的优势
  • 分析现实世界
  • 准备一份高质量的简历
  • 投递简历
  • 面试之前的准备
  • 薪资谈判

之前的文章- 如何建造一个高效的求职攻略 能够帮助你准备以上几点。

而本文将聚焦在软件研发工程师职位的准备上,并勾勒出需要重点考虑的几大部分:

  • 过往经历总结
  • 熟读经典书籍
  • 算法+编程

过往经历总结

在求职之前,你需要梳理过去的经历。如果你是一名刚毕业的学生,那么你需要着重想想在校期间做了哪些能让你脱颖而出的事情,比如学习成绩、发表论文、研究项目等等。如果你是一名有经验的工作人员,那么你需要想想每份工作都有哪些关键点让你引以为豪,体现了你的价值,比如你带领团队攻克了一个技术难题、帮助企业HR招聘了优秀的人才、提高了团队的工作效率等等。

梳理过往的经验是为了筛选出对你有利的关键信息,这些信息需要写到你的简历里,它们是 编写一份高质量简历 的基础。

当你梳理清楚,并写好一份高质量的简历之后,接下来就是要回顾和总结计算机基础知识,并动手编程解决一些问题。

熟读经典书籍

计算机的基础知识非常重要,如果你能精通这些基础知识,那么日后,你学习新知识所需要的时间会大大缩短,而且更加容易理解透彻!另外,精通这些基础知识能够让你在实践中更加从容地应对问题,并从根本上解决问题!以下三本书籍,是所有从事互联网行业的软件研发工程师必须学习的,强烈推荐!

算法+编程

接下来,你需要熟悉各种数据结构以及常见的算法,它们是面试官经常问的问题。但是这还是不够,因为很多大公司,像Google,会让你考虑如何以最少的时间和空间来解决问题。这就要求你非常清楚哪些数据结构和算法能适合解决什么问题。因此,你要做的是收集各种题目,这些题目的作用是考察你的算法+数据结构知识的。其次,你需要准备编程环境,你可以根据自己的情况来选择一门编程语言,常见的编程语言有C/C++,Python,Go,Java等等。

编程环境有很多,我使用的是VS Code,当然,你可以选择自己喜欢的编程环境。

接下来,你需要从以下2个方面来准备:

  • 数据结构
  • 算法

如果你应聘的岗位是软件研发工程师,那么以下8种数据结构是必须掌握的:

以此同时,你还需要掌握以下算法:

当你对算法和数据结构有了一定了解之后,你需要通过一些经典的问题来应用这些算法和数据结构,进而帮助你加深对算法和数据结构知识的理解。文章- 常见的编程问题 将分类和总结经典编程题目,进而加深你对这些算法和数据结构的使用和理解!