面试官都在问
文章平均质量分 71
这里整理各大公司常见面试题
月已满西楼
某不知名学校毕业学生,某不知名名企软件工程师,擅长C++
python,Mysql
展开
-
吊打面试官 | C++ STL 二维vector的写法,先行再列和先列再行遍历
名企高频考点之-C++ STL 二维vector的写法,先行再列和先列再行遍历0. 概述二维数组是日常开发中使用高频的一种管理数据的方式,比如迷宫地图,邻接矩阵等,操作起来也非常方便。在面试中也经常被问到,本文主要对vector构造的二维数组进行说明。1. 传统二维数组的缺陷传统定义二维数组的方式,采用宏定义给出二维数组的行和列,然后定义出二维数组并对其进行初始化,最后就是对该二维数组进行操作,比如:#define ROW 5#define COL 5void Test2Array(){原创 2021-03-06 14:51:59 · 2167 阅读 · 1 评论 -
面试官都在问 | 请谈谈vector的底层实现
名企高频考点之-请谈谈vector的底层实现0. 概述STL版本比较多,第一个STL是在惠普实验室完成的,简称HP版本,后序版本STL都是基于HP版本给出来的,大同小异,本文主要基于SGI-STL版本进行探究,linux下采用就是SGI-STL,而且该版本的命名风格以及编码风格,可读性非常高。1. vector的底层结构vector底层实际是泛型的动态类型顺序表,因此其底层实际是一段连续的空间。在SGI-STL的vector中,实际在底层使用三个指针指向该段连续空间的,如下:start指向空间的原创 2021-03-04 11:55:24 · 3113 阅读 · 1 评论 -
面试官都在问 | vector 基本使用
vector 基本使用vector 是 C++ STL 中最常用的容器, 也是面试中的常见考点. 以下内容向大家介绍 vector 的最常见用法.1. 头文件vector 是标准库中的组件. 使用时需要包含相关头文件.#include <vector>2. 实例化vector 是一个类模板, 在实例化的时候需要指定模板参数.// 包含头文件#include <vector>#include <string>int main() { // 实例化原创 2021-03-03 17:51:52 · 331 阅读 · 1 评论 -
面试官都在问 | 比较类排序系列-堆排序
比较类排序系列-堆排序1. 原理堆排序是利用堆进行排序的方法。假设进行升序排序,则它的基本思想是,将待排序的序列构造成一个大顶堆,这是一个建堆的过程。此时,整个序列的最大值就是堆顶的根结点。将它与堆数组的末尾元素交换,此时末尾元素就是最大值,然后将剩余的n-1个序列,从根开始进行向下调整,重新构造成一个堆,这样就会得到n个元素中的次小值。如此反复执行交换,向下调整,便能得到一个有序序列了。如果是降序排序,则是用小顶堆,后面的过程类似。如下图所示1.1向下调整堆的向下调整主要是为了让堆中的每一个数原创 2021-03-03 17:45:54 · 145 阅读 · 1 评论 -
面试官都在问 | 选择排序
比较类排序系列-选择排序1. 原理选择排序的思想不难理解。选择排序把数据分成两组来看待,一组已经有序的数据和一组无序的数据,排序开始之前,有序数据的个数为0。每次从未排序的数据中选取最小值,并与未排序的最左数据进行交换,直到未排序的数据为0,则结束排序。算法过程如下图所示上图黄色数据表示已经有序的数据,红色数据表示已遍历的未排序数据中的最小值,最小值在遍历中过程中会发生变化,直到找到全局最小值,再把它未排序的最左数据进行交换。2. 代码void swap(int* array, int原创 2021-02-20 21:22:51 · 245 阅读 · 1 评论 -
面试管都在问 | 希尔排序
比较类排序系列-希尔排序1. 原理希尔排序是对插入排序的扩展。插入排序是对所有数据进行排序,而希尔排序会把数据分成多个分组,每组数据内部进行插入排序,这样的分组插入排序会进行多次,直到最后所有数组都归为一组,整体再进行一次插入排序,则排序完成。假设间隔为gap, 则希尔排序会把数据中任意间隔为gap的数据划分为一组数据,这样就会有gap个分组,每个分组进行插入排序。gap不断的从大到小变化,直到gap为1时,就退化为基本的插入排序。算法过程如下图所示从上图可以看到,每一遍中,相同颜色的数据被分成原创 2020-11-17 16:22:49 · 264 阅读 · 0 评论 -
面试官都在问 | 快速排序C++实现
比较类排序系列-快速排序1. 原理快排是C. A. R. Hoare在1960提出的一种排序算法,这是一种采用分治思想的排序算法,大致分为三个步骤。定基准——首先选择一个元素作为基准值划分区——所有比基准小的元素置于基准左侧,比基准大的元素置于右侧,构成左右两个子序列递归调用——递归地调用此切分过程,切分其子序列,直到子序列只含有一个值时停止递归如下图所示上图只完整的演示了三次划分的过程,第一次选取3为基准值,进行一次划分,得到了第二行的序列,此时得到两个子序列,如第三行和第五行所示。对原创 2020-11-16 15:03:01 · 235 阅读 · 0 评论 -
冒泡排序C++实现
比较类排序系列-冒泡排序1. 原理冒泡排序的核心思想是,如果有必要,不断的交换相邻的元素,让大的元素逐步向后移动,就像是水底的水泡浮出水面的过程,故称之为冒泡排序。如下图所示[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qVjuu5z9-1604309341216)(.\image\bubble_sort.gif)]上述动图演示的为一轮冒泡排序的过程,每一轮冒泡排序,都会把未排序数据中最大的移动到最后面。相当于一轮冒泡排序给一个数据拍好序。所以一般有几个数据,就要原创 2020-11-02 17:30:17 · 1790 阅读 · 0 评论 -
面试官都在问 | Linux命令之git
Linux命令之git0.git介绍git是一款开源的分布式版本管理工具,git的诞生也是相当传奇的,由Linux之父-Linus Benedict Torvalds开发而来,当初Linus Benedict Torvalds仅仅是为了辅助Linux内核的开发才一并开发了这个至今为止世界上最快的、最简单的版本管理工具。在互联网公司中常常用到git这样的版本管理工具,所以这篇文章给大家介绍git版本管理工具的简单用法。一般我们使用git版本工具都有以下需求克隆远程仓库提交代码到远程仓库将远程仓原创 2020-10-30 18:23:35 · 351 阅读 · 0 评论 -
面试官都在问 | 讲一下Linux中的sort命令
面试官都在问 | 讲一下Linux中的sort命令0. 概述在我们面试各大公司的时候,关于Linux往往最容易被问到的问题之一就是Linux指令,而其中,使用命令对文件内容进行排序,又是相对比较容易被问到的。因为对这些参数的了解,最能直观反映应聘者对Linux环境是否熟悉。我们结合海量面经,提取出几个最容易被问到的Linux对文件内容进行排序的命令,供大家参考。如何对文件中内容指定分隔符后按照指定列进行内容排序如何对排序好的文件进行合并如何对文件内容忽略大小写进行排序如何指定排序方式为降序或原创 2020-10-26 15:43:35 · 280 阅读 · 0 评论 -
面试官都在问 | 谈谈Linux日志查看方式都有哪些
面试官都在问 | 谈谈Linux日志查看方式都有哪些0.概述在我们面试各大公司的时候,关于Linux往往最容易问到的问题之一就是Linux指令,而其中,能够使用命令快速的查看文件内容已经成为了使用Linux系统的必备技能了,所以,面试官往往通过对于该系列命令的考察,获取应聘者对Linux环境是否熟悉。我们结合海量面经,提取出最容易被问到的Linux当中查看文件的命令以及命令行参数,供大家参考。如何使用cat命令查看文件内容如何使用less命令查看文件内容如何使用more命令查看文件内容原创 2020-10-25 15:11:56 · 480 阅读 · 0 评论 -
面试官都在问 | Linux 什么命令能够进行文本列级别切分
面试官都在问 | Linux 什么命令能够进行文本列级别切分0. 概述AWK 是一种样式扫描与处理的工具,其功能与 sed 和 grep 命令类似,却又远远强大于它们.AWK 不仅支持数据的扫描以及样式过滤,同时它还包含样式装入、流控制、数学运算符、进程控制语句甚至于内置变量和函数,几乎具备了一门完整编程语言的精美特性,因此,AWK 创始者们将其定义为样式、扫描、处理语言。在我们面试各大公司的时候,关于Linux往往最容易被问到的问题之一就是Linux指令,而其中,使用AWK命令对数据进行扫描、过原创 2020-10-22 18:02:14 · 182 阅读 · 0 评论 -
面试官都在问 | Linux命令之gdb怎么使用?
面试官都在问 | Linux命令之gdb0. 简述GDB(GNU symbolic debugger)简单地说就是一个调试工具。它是一个受通用公共许可证即GPL保护的自由软件。一般来说,GDB主要帮助你完成下面四个方面的功能:1、启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。2、可让被调试的程序在你所指定的调置的断点处停住。3、当程序被停住时,可以检查此时你的程序中所发生的事。4、你可以改变你的程序,将一个BUG产生的影响修正从而测试其他BUG正因为GDB是linux下最常使用原创 2020-10-21 15:28:23 · 1297 阅读 · 0 评论 -
面试官都在问 | Linux命令之uniq
面试官都在问 | Linux命令之uniq0. 概述在我们面试各大公司的时候,关于Linux往往最容易问到的问题之一就是Linux指令,而其中,能够使用命令快速的检查及删除文本文件中重复出现的行列已经成为了使用Linux系统的必备技能了,所以,面试官往往通过对于该命令的考察,获取应聘者对Linux环境是否熟悉。我们结合海量面经,提取出最容易被问到的Linux当中检查及删除文本文件中重复出现的行列的命令以及命令行参数,供大家参考如何去除文件当中重复的行输出到标准输出设备如何删除文件当中重复的原创 2020-10-20 17:38:20 · 162 阅读 · 0 评论 -
面试官都在问 | Linux命令mpstat详解
面试官都在问 | Linux命令mpstat详解1. mpstat的基本用法mpstat的全称为Multiprocessor Statistics,是一款常用的多核CPU性能分析工具,用来实时查询每个CPU的性能指标,以及所有CPU的平均指标。这个命令Linux缺省没有安装,它是Linux性能工具集sysstat中的一个工具,所以我们要装上sysstat,安装方法随不同的系统略有不同,自行百度,我列出CentOS和Ubuntu的安装方法:[root@localhost ~]# yum -y ins原创 2020-10-16 16:18:53 · 1000 阅读 · 0 评论 -
面试官都在问 | Linux命令 - grep
面试官都在问 | Linux命令-grep在我们面试各大公司的时候,关于Linux往往最容易问到的问题之一就是Linux指令,而其中,能够使用命令进行快速的文本过滤,查找文本中的目标内容,已经是一个高频且基本的能力了,一般,面试官往往通过对于该命令的考察,获取应聘者对Linux环境是否熟悉。我们结合海量面经,提取出最容易被问到的Linux当中grep命令的常见命令行参数,供大家参考。grep的核心作用grep常见过滤方式及选项grep是什么grep是一个文本过滤器,作用是在文件中查找符合我们要原创 2020-10-14 18:21:14 · 281 阅读 · 0 评论 -
面试官都在问 | Linux命令sed详解
面试官都在问 | Linux命令sed详解1. sed详解sed是一个精简的、非交互式的流式编辑器,它在命令行中输入编辑命令和指定文件名,然后在屏幕上查看输出。sed的工作方式逐行读取文件内容存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。原文件内容并没有改变。语法格式sed [option] "pattern command" file高频选原创 2020-10-12 15:51:48 · 256 阅读 · 1 评论 -
面试官都在问 | Linux命令之权限理解
面试官都在问 | Linux命令之权限理解0. 概述在我们面试各大公司的时候,关于Linux往往最容易被问到的问题之一就是Linux指令,而其中,对于系统操作权限的理解又是相对比较容易被问到的。因为对于系统操作权限的理解,最能直观反应应聘者对于Linux环境是否有更加深入的了解以及熟悉程度。我们结合海量面经,提取出了几个最容易被问到的Linux系统操作权限相关的知识,供大家参考。Linux系统中如何切换root用户Linux系统中如何让普通用户提权执行root命令1. Linux命令之切换用原创 2020-10-11 14:30:42 · 245 阅读 · 1 评论 -
面试官都在问 | Linux命令之文件访问权限理解
名企高频考点之-Linux命令之文件访问权限理解0. 概述在我们面试各大公司的时候,关于Linux往往最容易被问到的问题之一就是Linux指令,而其中,对于文件访问权限的理解又是相对比较容易被问到的。因为对于文件访问权限的理解,最能直观反应应聘者对于Linux环境是否有更加深入的了解。我们结合海量面经,提取出了几个最容易被问到的Linux文件访问权限相关的知识,供大家参考。Linux系统中文件访问权限包含哪些信息Linux系统中如何修改文件访问权限Linux系统中如何修改文件所属用户以及所属组原创 2020-10-10 14:47:28 · 221 阅读 · 0 评论 -
面试官都在问 | Linux命令之find
面试官都在问 | Linux命令之find0. 概述在我们面试各大公司的时候,关于Linux往往最容易问到的问题之一就是Linux指令,而其中,能够使用命令快速的查找的文件已经成为了使用Linux系统的必备技能了,所以,面试官往往通过对于该命令的考察,获取应聘者对Linux环境是否熟悉。我们结合海量面经,提取出最容易被问到的Linux当中查找文件的命令以及命令行参数,供大家参考如何在指定的目录下查找文件find命令的常用命令行参数都有哪些1.Linux命令之find1.1.简述find命令原创 2020-10-09 14:42:36 · 283 阅读 · 0 评论 -
面试官都在问 | Linux命令的find命令怎么使用?
名企高频考点之-Linux命令之find0. 概述在我们面试各大公司的时候,关于Linux往往最容易问到的问题之一就是Linux指令,而其中,能够使用命令快速的查找的文件已经成为了使用Linux系统的必备技能了,所以,面试官往往通过对于该命令的考察,获取应聘者对Linux环境是否熟悉。我们结合海量面经,提取出最容易被问到的Linux当中查找文件的命令以及命令行参数,供大家参考如何在指定的目录下查找文件find命令的常用命令行参数都有哪些1.Linux命令之find1.1.简述find命令用原创 2020-09-28 14:29:07 · 218 阅读 · 0 评论 -
面试官都在问 | 如何查看网络/进程信息
名企高频考点之查看网络/进程信息各个大厂对于 Linux 的考察中, 命令是常见考点. 命令中关于进程/网络信息的查看又是重中之重.同时这些命令也是实际工作中的常用命令. 需要重点掌握.1. 查看网络连接数和端口使用 netstat 命令查看网络连接情况netstat -anp执行结果如下参数解释:-a 显示所有选项-t (tcp)仅显示tcp相关选项-u (udp)仅显示udp相关选项-n 拒绝显示别名,能显示数字的全部转化成数字。-p 显示建立相关链接的程序名关键列解释:原创 2020-09-27 14:14:38 · 743 阅读 · 0 评论 -
面试官都在问 | Linux如何查看CPU内存和系统版本?
Linux查看CPU内存和系统版本0. 概述在我们面试各大公司的时候,关于Linux往往最容易被问到的问题之一就是Linux指令,而其中,对系统软硬件参数的获取,又是相对比较容易被问到的。因为对这些参数的了解,最能直观反映应聘者对Linux环境是否熟悉。我们结合海量面经,提取出四个最容易被问到的Linux查看软硬件参数的命令,供大家参考。如何查看Linux硬盘使用情况如何查看Linux CPU使用情况如何查看Linux 内存使用情况如何查看Linux 查看系统版本我们今天搞定后3个吧!原创 2020-09-26 15:19:27 · 1609 阅读 · 0 评论 -
面试官都在问 | 如何查看Linux硬盘空间使用情况
名企高频考点指令篇-查看Linux硬盘空间使用情况0. 概述在我们面试各大公司的时候,关于Linux往往最容易被问到的问题之一就是Linux指令,而其中,对系统软硬件参数的获取,又是相对比较容易被问到的。因为对这些参数的了解,最能直观反映应聘者对Linux环境是否熟悉。我们结合海量面经,提取出四个最容易被问到的Linux查看软硬件参数的命令,供大家参考。如何查看Linux硬盘使用情况如何查看Linux CPU使用情况如何查看Linux 内存使用情况如何查看Linux 查看系统版本我们今天搞原创 2020-09-24 09:44:52 · 1781 阅读 · 1 评论 -
吊打面试官 | 拼多多经典考点-https的ssl具体过程
本题主要考验SSL加密传输过程。解题思路1. 什么是SSLSSL(Secure Sockets Layer 安全套接字协议),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。SSL协议建立在可靠的传输协议(如TCP)之上,在TCP建立连接之后,实际数据传输之前,通讯双方通过身份认证以及加密传输实现整体的安全传输。其实,SSL传输就像与亲戚介绍的姑娘相亲,先要确定跟你相亲的人,是否是亲戚介绍的那个人,否则就算聊原创 2020-09-18 11:11:54 · 587 阅读 · 1 评论 -
查看Linux硬盘空间使用情况
查看Linux硬盘空间使用情况0. 概述在我们面试各大公司的时候,关于Linux往往最容易被问到的问题之一就是Linux指令,而其中,对系统软硬件参数的获取,又是相对比较容易被问到的。因为对这些参数的了解,最能直观反映应聘者对Linux环境是否熟悉。我们结合海量面经,提取出四个最容易被问到的Linux查看软硬件参数的命令,供大家参考。如何查看Linux硬盘使用情况如何查看Linux CPU使用情况如何查看Linux 内存使用情况如何查看Linux 查看系统版本我们今天搞定第一个吧!1.原创 2020-07-17 17:56:23 · 5686 阅读 · 0 评论