查看原文
其他

软件工程师面试学习指南

Ben Rogojan CSDN 2019-10-30
本文列出了一个涵盖许多热门面试题的清单,相信会对你有所裨益。
作者 | Ben Rogojan
译者 | 谭开朗,责编 | 郭芮
出品 | CSDN(ID:CSDNnews)
以下为译文:
与其他技术面试一样,软件工程师的面试也需要大量的准备工作。为了应对关于算法、数据结构、设计、优化以及延伸主题等的轰炸式问题,我们需要的学习的还有很多。
因此,针对终面,我列出了一个涵盖许多热门面试题的清单(https://docs.google.com/spreadsheets/d/19hSRrL4l3gRiJ5ucH9q4iwFo2QHgic9gGMNUrcn1mm0/edit?usp=sharing)。
前排提示:文中所有标蓝部分均可在此清单中获取详细链接。

温习基础知识

  • Fizz Buzz

  • 560. Subarray Sum Equals K

  • 数组:左移问题

  • 字符串:构建Anagrams

  • n次Fibonacci

以上知识点,你掌握得怎么样?花点时间来自评一下吧。在面试过程中,我们经常会被问到这些问题,而且通常是在初面时遇到的。通常,它们与算法和数据结构关系不大,但仍需要对循环和数组有很好的理解(是的,数组是一种数据结构)。

算法和数据结构

预习问题
在浏览有关数据结构和算法的视频内容之前,请思考以下问题。你能否回答出来?这将有助于找到重点内容。
  • 查询后偶数的总和

  • 机器人返回原点

  • 长度为2N的数组中重复N次的元素

  • 平衡二叉树

  • 最长不重复子序列求解

  • 从列表末尾删除第n个节点

  • 合并k个排序列表

  • Next Permutation算法

算法和数据结构视频

数据结构

  • 数据结构和算法#1——什么是数据结构?

  • Multi-dim

  • 动态数组

  • 调整数组大小

  • 数据结构:链表

  • 核心链表vs数组

  • 指针到指针

  • 数据结构:树

  • 数据结构:堆

  • 数据结构:哈希表

  • 电话簿问题

  • 数据结构:堆栈和队列

  • 使用堆栈后进先出

  • 数据结构:计算机科学速成课程#14

  • 数据结构:实践

算法

  • 算法:图形搜索,DFS和BFS 

  • BFS(广度优先搜索)和DFS(深度优先搜索) 

  • 算法:二进制搜索

  • 二叉搜索树回顾

  • Python面试算法

  • 算法:递归

  • 算法:气泡排序

  • 算法:合并排序

  • 算法:快速排序

大O符号
  • 介绍大O符号和时间复杂度(数据结构和算法#7) 

  • 哈佛CS50-渐近符号

  • 简单介绍算法复杂度分析

  • 备忘录

动态编程
  • 动态编程(像程序员一样思考)

  • 算法:记忆和动态编程

  • 动态编程一:Fibonacci,最短路径

  • 动态编程二:文本对齐,BlackJack规则

  • 动态编程

字符串操作
  • 编码面试问答:最长连续字符

  • Sedgewick算法——子字符串搜索

面试问题演练
  • 谷歌编码面试——通用值树问题

  • 谷歌编码面试问答#1:第一个循环出现的角色

  • 在二叉搜索树中找到最小和最大元素

  • 求二叉树的高度

  • 检查二叉树是否是二叉搜索树

  • 什么是尾部递归?为什么这么复杂?

温习问题
现在你已经掌握了一定的知识,并且观看了许多视频,让我们来看更多的题目吧!
  • 越大越好

  • Z字形变换

  • 整数反转

  • 组合之和之二

  • 字符串相乘

  • 拉里阵列

  • Short Palindrome

  • 有效数字

  • 越大越好

  • 全计数排序

  • Lily's Homework

  • 最长公共子序列

  • 重复子字符串模式

  • 删除元素

  • 删除BST中的节点

  • 将数组分割为连续子序列

  • 有界限最大值的子数组数量

  • 组合之和之四

  • 买股票的最佳时间含冷冻期

  • 最长重复字符串置换

  • 成对交换节点

  • 二叉树右侧视图

  • 扁平嵌套列表迭代器

  • 二叉树的层次遍历

  • 二叉搜索树迭代器

  • 链对的最大长度

  • 拆分链表成部分


操作编程问题

有些公司不会问你算法的问题。相反,他们可能更关注实现和操作问题。这些通常是更小众的,涉及实际问题,比如循环数据和执行某种类型的任务。这类型的问题通常不需要太多的实践,因为它更多的是使用数组和hashmap等基本概念,并跟踪你对它们所做的操作。
  • 袋鼠问题

  • 打破纪录

  • 找到Stringiter

  • No Idea !

  • 程序员的日子

  • 排行榜

  • 词序

  • 夏洛克和广场

  • 平衡数组

  • 苹果和橘子

  • 更多的操作风格问题

系统设计视频
系统设计问题是重中之重的问题,它证明你不仅仅是一个程序员。作为一名工程师,你需要有大局观。某些服务属于何处,你需要什么样的服务器,你将如何管理流量,等等。所有这些想法都表明,你能够设计软件,而不只是编写让你编写的代码。
  • 停车场系统

  • Whats App 

  • Uber设计

  • Instagram 

  • Tinder服务

操作系统
操作系统问题比较少见,但是对线程、调度、内存等概念有一个扎实的理解是有好处的,即使这只是一个基本的理解。如果有人问进程和线程之间的区别是什么,而你不知道答案,这是非常尴尬的。
常见的操作系统面试问题
  • 什么是旁路转换缓冲?

  • 为什么轮询可以避免优先级反转问题?

  • 中断Vs系统调用——文件系统中的“inode”是什么?

  • 操作系统面试问答——第一部分

  • 什么是内核——Gary的解释

  • 循环算法教程(CPU调度)

  • LRU缓存的魔力(谷歌开发的100天)

  • MIT 6.004 L15:内存层次结构

  • 中断

  • 调度

线程
  • 用户级线程Vs内核级线程

  • 进程和线程介绍

  • 进程和线程的区别——佐治亚理工学院——高级操作系统

  • 分叉和多线程的区别


面向对象

与操作系统类似,不是每次面试都会问你关于面向对象编程的问题,但你无法琢磨面试官的想法。你要确保你记住了计算机162课程的基础知识。
  • Java编程教程——49——继承

  • Java编程教程——55——多态性介绍

  • Java编程教程——58——抽象和具体类

  • Java编程教程——57——重写规则

  • Java编程教程——59——类来保存对象

  • 面向对象编程


设计模式

如果你和我们一样,没有学习过各种各样的设计模式。所以了解它们是如何工作的,以及为什么要使用它们是很有好处的。有些面试问题可以很简单,比如“你为什么要使用工厂类?”
  • 工厂设计模式

  • 观察者设计模式

  • 适配器设计模式

  • 立面设计模式

  • 责任链设计模式

  • 解释器设计模式

  • 单例设计模式教程

  • 第6章(第1部分)——模式(视频)

  • Head First设计模式


SQL

这是最后一部分。很多人可能不会被问到SQL问题。然而,有备无患。
SQL问题
  • 旅行和用户

  • 体育馆的人流

  • 部门前三名

  • 交换座位

  • Hackerrank报告

  • 第n高薪水

  • Symmetric Pairs(连接,分组,聚合)

  • OccupationsPlacements

  • Ollivander's Inventory(连接查询,单表双实例,子查询)

SQL视频
  • IQ15:6个SQL查询面试问题

  • 学习ROW_NUMBER和解析函数

  • 解析函数的高级实现

  • 解析函数的高级实现第2部分

  • Wise Owl SQL视频

发布SQL问题
  • 二叉树节点

  • 天气观测站18

  • ChallengesPrint质数

  • Big Countries

  • 交换座位

  • SQL访谈问题:3个技术筛选习题(供数据分析师使用)

面试会很艰难,因为你始终觉得自己没有取得任何进展。有了这份学习指南,你就可以跟踪自己的学习进度,更好地了解自己的学习情况。
祝你好运!
原文:https://dev.to/seattledataguy/the-interview-study-guide-for-software-engineers-764
本文为 CSDN 翻译,转载请注明来源出处。


【END】
 热 文 推 荐 程序员如何才算真正的高效编程?
百度回应李彦宏卸任百度云执行董事;甲骨文拟增聘 2000 员工拓展云服务;PostgreSQL 12 正式发布 | 极客头条入选福布斯“中国科技女性榜” ,华为“芯片女王”何庭波太厉害!

金山云肖江:26 岁拿到博士学位,如今掌舵金山云 AIoT 研发 | 人物志

诺贝尔物理学奖出炉,三大天体物理学家获奖

如何保护你的Python代码(一)——现有加密方案

【光说不练假把式】今天说一说Kubernetes 在有赞的实践

真·上天!NASA招聘区块链"多功能复合型"人才, 欲保护飞行数据安全……

点击阅读原文,输入关键词,即可搜索您想要的 CSDN 文章。
你点的每个“在看”,我都认真当成了喜欢

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存