破解技术面试;新生
本文主要基于您在技术面试中应该做什么和不应该做什么以及一个人应该如何准备面试。为了破解技术面试,是否应该准备什么有很多问题。
首先也是最重要的:面试官正在寻找一个能写一点代码并且在大学期间做过一些项目的人。做一些项目来表明你对某事充满热情。
您应该为技术面试做些什么准备:
对于基于产品的公司:
step1->step2->step3:所有步骤都是链表,现在你知道你不能跳过一个步骤去另一个步骤。 [;-)
直到和除非您熟悉跳过列表
步骤 1. 掌握编程语言:获得编程语言的良好知识。 C、C++、 Python、 Java是一些最好的编程语言。
步骤 2. 数据结构:数组、链表、堆栈、队列、二叉搜索树、哈希表是您应该学习的一些基本数据结构。大多数公司会将他们的问题限制在这些数据结构上,并且大多数面试问题都是非常基础的。如果在 c 中实现,数据结构的实现将使您很好地掌握指针,在Python中实现 oops。
步骤 3. 算法:算法对于基于产品的公司起着至关重要的作用,学生至少应该熟悉基本算法,如搜索、排序的实现,并且应该熟悉算法的图形、动态、贪婪方法。算法真的很简单,应该不是问题。
** 项目:你应该回顾一下你在大学期间做过的项目,因为有些公司甚至有单独的项目轮次,如果没有,技术面试将有大约 30% 的时间是关于你的项目的。
需要了解的其他事项:良好的操作系统和 oops 知识将有助于技术面试。像 adobe 这样的公司会从操作系统提出问题,cadence 在笔试中会提出 oops 的问题。
我知道:
>他们不会寻找学术记录,因为他们知道这些东西对他们来说并不重要
>他们总是会问你关于数据结构和算法的问题,即使它们可能会让你从事其他事情,因为这些是一切的支柱。
例如:
>Van Emde Boas 算法是网络中快速路由背后的原因
>广度优先搜索算法落后于网页内容的搜索
>图表是谷歌地图实施的幕后推手
>我认为 Google Maps 中使用了 Dijkstra 以及 Max Flow、Min cut Algorithm
> 我认为 Persistent Data 结构是 Github 背后的结构
>搜索和排序是你日常生活中看到的算法
>堆栈是我在写这篇文章时所做的撤消的背后
>跑道预订系统适用于二叉搜索树
**请记住,如果世界上有大约 n ** n 个问题,那么只有算法可以解决 n 个问题,并且他们正在寻找与他们一起工作的人
**您所看到的一切都有其背后的算法
对于基于服务的公司:
1. 他们会寻找具有良好沟通技巧的人,因为他们是以客户为基础的。
2. 他们会问关于数据结构和算法的简单问题
3. 他们会寻找良好的学习成绩
4. 准备项目相关问题
5.准备dbms(规范化),sql
6. 准备笔试的英语理解
只要记住:
在以产品为基础的公司中:“你不会成为万事通,而是一门通行的大师”
在以服务为基础的公司中:“您将成为万事通,但一无所获”
一些技巧:
通过构建学习:通过在虚幻引擎中构建游戏,我很好地掌握了 C++
保持饥饿:不要局限于面试中可以问到的事情。
简化事情:有很多事情可能会吓到您,因为您可能会看到近年来的进步,但请记住,所有这些进步都是简单的算法,不同的人执行的方式不同。请记住,每件事都有一个简单的解释
例如:
> 你可能认为有很多数据结构,很难全部学习,但知道这一点,只有两种数据结构模型:
1、Word Ram模型:数组、栈、队列、字符串
2.指针模型:链表、树
世界上所有的技术总是有一个简单易懂的解释,只要有足够的耐心,当一切开始变得有意义并且看起来很容易时,就可以到达那个点。
资源:
MyCodeSchool 视频频道
麻省理工学院算法免费课程
破解任何编码面试的练习