Skip to content

Latest commit

 

History

History
46 lines (29 loc) · 4.48 KB

面试心得体会与转行相关.md

File metadata and controls

46 lines (29 loc) · 4.48 KB

一、校招技术面试的考察范围

校招技术面试考察3点:简历、算法、基础。

1. 简历

  • 简历的意义:1)进笔试面试 2)面试官提问的窗口
  • 非科班的同学,自学了哪些基础课,包括是如何自学的,要放在简历显眼处。(详述见二、)
  • 简历还包括项目和实习经历,这一块我觉得是加分项不是基本项。我没有实习过,这方面经验较少。

2. 算法

  • 不同公司对算法的考察方式不同,有的公司重视思路的灵活和准确性,有的公司(比如腾讯、美团)可能需要你在共享编辑器上,不借助断点,独立写出bug-free的代码。前者考察对问题的理解,效率较高,后者考察扎实的coding基本功。

  • 不同于第1、3点的开放性,算法是一个封闭性的任务,做出来即可,所以首先要保证面试时发挥的下限,这也是大家刷leetcode的动机所在:提升稳定性。

  • 但这并不代表在算法上没有发挥的空间,清晰的思路、流畅的沟通、甚至是电光火石间的灵光一闪(即使对本题并不成立),都有可能成为你这次面试的亮点。比如我有一次一线厂的二面,面对一道NOIP的DP题,完全做不出来,但是提出了三种有启发性的思路,面试得到了较高评价。

  • 关于是否需要深入研究算法:我的建议是在把1和3做好的前提下才适合深入研究,因为只有当你对1、2、3融汇贯通时,才有机会在1和3的问答之间,联系穿插高级的算法和数据结构,但这个要求对于绝大多数校招的同学来说并不现实。

3. 基础

  • 基础主要考察计算机基础课:编程语言(C++、JAVA)、计算机组成原理、操作系统、计算机网络、(数据库)
  • 面经的意义:快速复习和突击。如果说计算机的基础是一张网,那么你看面经相当于随机抽取网上的重点浏览,这样的好处在于,如果你已经有了一定的基础,复习效率会很高;即使你基础不牢,面试的时候也有可能抽中你复习到的地方,涉险过关。
  • 面经复习法的缺点:有的面试官的风格是先提出一个简单的问题让你说(比如栈堆区别、进程线程区别),然后根据你的回答的信息量,大致判断你的水平,再针对性地进行提问。这种情形下,如果你的基础不牢,没有形成自己的知识体系结构,你会发现很难在无提示的情况下迅速地开枝散叶。当然,这个也可以依赖运气,比如遇到精心准备过的原题(栈堆区别、进程线程区别),但终非长久之计。
  • 对于转行的同学来说,基础是重中之重,详述见二、

二、非科班转行的同学该如何突破重围

非科班的同学,尤其是劝退专业的同学,转行的难点是什么?我认为有以下几点:

  1. 时间被导师占用,没法抽空实习自学
  2. 计算机基础差
  3. 难以过简历关,或者面试时被面试官歧视

第一点是客观条件的阻碍,只能依靠人的主观能动性去尝试解决,和导师博弈争取兼顾毕业和实习自习是唯一的一条路,具体我也不了解,这里不详谈。

第二点和第三点是紧密联结的,基础不牢地动山摇,试问哪家企业敢招连数据结构都没学过的同学?如今IT企业的HR和面试官,对哪些专业是劝退专业可谓是了如指掌,所以如果想打动他们,一定要有亮点。

我建议,亮点最好是算法和基础,因为如果你这两点有短板,即使做了再多项目,面试官也有充分的理由怀疑你做的都是水出来的玩具项目,并无价值。

  • 算法上的亮点:
    • 手撕算法,实力征服面试官。需要投入大量时间,并搭配一定的天赋和运气(比如临场发挥上佳、遇到原题)。我认识一个中科大物理系本科管理学院硕士的朋友@ustcyyw,他付出的努力大致是看了一本600页的算法教材,做了300道leetcode题,每周坚持打周赛,方能勉强达到这个程度。
  • 基础上的亮点:
    • 自学四大的网课,认真做配套项目,参考 纯自学腾讯ssp的经验教材和公开课推荐
    • 自学了什么,包括是如何自学的,一定要大大方方地写在简历的显眼处。这不仅是提供给面试官一个考察你的通道,也可以打消面试官对你的疑虑。