
大厂后端/算法面经分类整理(题库包含答案)
文章平均质量分 92
针对目前C++开发工程师和算法工程师岗位面试的需求,根据自己的面试经验,编写各大厂面试题目,并给出解答与编程实例。
GitHub链接:https://github.com/Charmve/hello-algorithm
优惠券已抵扣
余额抵扣
还需支付
¥39.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
Charmve
现就职于国内某top自动驾驶独角兽公司,量产自动驾驶系统架构师,专注于自动驾驶感知模块研发,有多年量产经验。同时,也是迈微AI研习社公众号主理人、优快云博客专家、阿里云社区专家博主,多次对外主题演讲和报告。对国内自动驾驶产品较为了解,熟悉自动驾驶系统全栈研发体系。
展开
-
《大厂后端/算法面经分类整理》专栏概述 (字节+美团+华为+阿里等)
针对目前C++开发工程师和算法工程师岗位面试的需求,根据自己的面试经验,编写各大厂面试题目,并给出解答与编程实例。原创 2020-12-11 19:28:19 · 1343 阅读 · 0 评论 -
80%以上的应届毕业生看了我的面经都拿到了心仪的大厂offer
面试系列文章:点击这里直接跳转面试经验贴专栏[1] 从浏览器输入一个URL(www.baidu.com)后执行全过程[2] const指针和指向常量的指针[3] C/C++预处理指令#define,#ifdef,#ifndef,#endif…[4] C++软件开发工程师概念手册[5] 堆与栈的区别(经典讲解)[6] 堆栈、BSS段、代码段、数据段、RO、RW、ZI等概念区分[7] ...原创 2020-03-21 14:58:22 · 10829 阅读 · 0 评论 -
从浏览器输入一个URL(www.baidu.com)后执行全过程
从浏览器输入一个URL(www.baidu.com)后执行全过程1.根据域名到DNS中找到IP2.根据IP建立TCP连接(三次握手)3.连接建立成功发起http请求4.服务器响应http请求5.浏览器解析HTML代码并请求html中的静态资源(js,css)6.关闭TCP连接(四次挥手)7.浏览器渲染页面 1、客户端浏览器通过DNS解析到www.baidu.com的IP地址2...原创 2020-01-01 18:53:42 · 5691 阅读 · 0 评论 -
大厂offer | 2022年C++开发面试题库
专为求职面试中算法与数据结构的小伙伴,创了学习交流/刷题群(知识星球)!想要最快的提升算法与数据结构技能,和更多小伙伴一起来吧!进群获取互联网大厂高频coding题库,告别刷题400道,分类整理的题库,算法思路和源代码实现配套,各个类型总结出来的解题模板,远比你一个人要强!...原创 2022-06-29 14:55:13 · 463 阅读 · 0 评论 -
华为研发编程测试题(四)试题及答案参考
本次在线测试包含两道题目,难度跟通知时说明的一样,LeetCode中等难度。由于题目相对简单,我就直接放题目,然后给出参考答案,虽然测试时都AC了,但我觉得大家可能还有更好的答案。欢迎交流,提供更多有趣的优化算法。No.1 勾股数元祖题目描述:也称为 “素勾股数” ,其有以下性质:本题需要注意的是,多组勾股数元祖请按照按a升序,b升序,最后c升序的方式输出。源程序:#inc...原创 2020-04-26 22:13:32 · 6285 阅读 · 2 评论 -
美团2020春招技术综合试卷及答案参考
本次春招测试题总共5道题,只有编程,每题20分,总共100分。1. 数字置换2.同心圆3.套娃前缀和4.小仓的射击练习35. 子序列计数原创 2020-07-02 17:55:05 · 4976 阅读 · 0 评论 -
岛屿类问题的通用解法、DFS 遍历框架
在 LeetCode 中,「岛屿问题」是一个系列系列问题,比如:L200. 岛屿数量 (Easy)463. 岛屿的周长 (Easy)695. 岛屿的最大面积 (Medium)827. 最大人工岛 (Hard)我们所熟悉的 DFS(深度优先搜索)问题通常是在树或者图结构上进行的。而我们今天要讨论的 DFS 问题,是在一种「网格」结构中进行的。岛屿问题是这类网格 DFS 问题的典型代表。网格结构遍历起来要比二叉树复杂一些,如果没有掌握一定的方法,DFS 代码容易写得冗长繁杂。本文将以岛屿问题为例,展原创 2022-03-27 17:53:59 · 205 阅读 · 0 评论 -
面试微软, 我被这道题给卡住了!
2021年03月,第一批一、等差数列偶数被除2删除后的恢复问题由于面试时是口头阐述题目的,所以原题已经记不清了.面试后,我在网上找到相似问题的描述.1. 题目描述小P写下了一个等差数列,然后小Q将等差数列中的所有偶数都除以2(一直除以2,直到变成奇数为止),奇数不变。然后小P发现等差数列被改了,现在他要还原出原来的等差数列。如果有多种可能的答案,请输出首项最小的等差数列。2. 输入第一行一个整数N(4 <= N <= 50),表示等差数列的整数数量。之后N行,每行一个奇数A[i]原创 2021-03-09 15:45:40 · 271 阅读 · 0 评论 -
大厂求职面试专栏之——设计模式
为方便大家查漏补缺,在阅读专栏概述和《80%以上的应届毕业生看了我的面经都拿到了心仪的大厂offer》后,可分别根据要点对应计算机网络、操作系统、数据库、编程语言C++/Python进行复习。原创 2021-02-02 17:10:28 · 333 阅读 · 1 评论 -
大厂求职面试专栏之——C/C++语言基础
为方便大家查漏补缺,在阅读专栏概述和《80%以上的应届毕业生看了我的面经都拿到了心仪的大厂offer》后,可分别根据要点对应计算机网络、操作系统、数据库、编程语言C++/Python进行复习。原创 2021-02-02 17:09:44 · 396 阅读 · 0 评论 -
大厂求职面试专栏之——数据库DB
为方便大家查漏补缺,在阅读专栏概述和《80%以上的应届毕业生看了我的面经都拿到了心仪的大厂offer》后,可分别根据要点对应计算机网络、操作系统、数据库、编程语言C++/Python进行复习。原创 2021-02-02 17:04:59 · 379 阅读 · 0 评论 -
大厂求职面试专栏之——计算机网络
为方便大家查漏补缺,在阅读专栏概述和《80%以上的应届毕业生看了我的面经都拿到了心仪的大厂offer》后,可分别根据要点对应计算机网络、操作系统、数据库、编程语言C++/Python进行复习。原创 2021-02-02 17:03:24 · 335 阅读 · 0 评论 -
大厂求职面试专栏之——操作系统OS
为方便大家查漏补缺,在阅读专栏概述和《80%以上的应届毕业生看了我的面经都拿到了心仪的大厂offer》后,可分别根据要点对应计算机网络、操作系统、数据库、编程语言C++/Python进行复习。原创 2021-02-02 17:01:55 · 399 阅读 · 0 评论 -
计算机网络基础 | 图解SSH原理
本文目录初见SSHSSH工作原理SSH实践总结1.远程Server收到Client端用户TopGun的登录请求,Server把自己的公钥发给用户。2.Client使用这个公钥,将密码进行加密。3.Client将加密的密码发送给Server端。4.远程Server用自己的私钥,解密登录密码,然后验证其合法性。5.若验证结果,给Client相应的响应。1.Client将自己的公钥存放在Server上,追加在文件authorized_keys中。2.Server端接收到Client原创 2021-07-30 11:36:39 · 405 阅读 · 0 评论 -
2020字节跳动秋招笔试题解析与代码分享(持续更新中)
2020字节跳动秋招笔试题解析与代码分享引言1. 圆形花园的入口2. 2048合并3. 得到更多糖果4. 世界杯开幕式5. 文章病句标识6. 积分卡牌游戏引言2020年秋招已经结束了,小伙伴的情况如何啊。趁着过年前在家,把今年字节跳动秋招上机笔试题整理分享给大家。1. 圆形花园的入口题目描述现有一个圆形花园共有 n 个入口,现在要修些路,穿过这些花园。要求每个入口只能有一条路,所有的路...原创 2020-01-14 23:27:23 · 1679 阅读 · 0 评论 -
乐鑫科技春招在线笔试编程测试——以小见大
现在的编程测试都是比较有意思的,出题者设定一个有趣的背景,在这个背景下编写程序完成测试。乐鑫科技的这次在线笔试有20条填空题,另外有两题在线编程题。今天就是以这两道题来分析怎么白板写程序。ほら!問題1:**解析:**线性回归方程的求解好了有了这个公式,你能求出斜率k、截距b,这题就解完了。上代码!#include <iostream>#include <math...原创 2020-03-19 15:09:30 · 1531 阅读 · 0 评论 -
数据结构与算法之美 | 你知道快速排序,那你知道它的衍生应用吗?Partition函数
快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小小的程序方面的考试如软考,考研中也常常出现快速排序的身影。今天我们就来深入挖掘快排中Partition函数的应用!...原创 2020-04-09 16:37:29 · 961 阅读 · 0 评论 -
数据结构与算法之美 | 数据结构中到底有多少种“树”?一文告诉你
你学了这么多年数据结构,到底有多少种树,你知道吗?数据结构中有很多树的结构,其中包括二叉树、二叉搜索树、2-3树、红黑树等等。本文中对数据结构中常见的几种树的概念和用途进行了汇总,不求严格精准,但求简单易懂。数据结构中到底有多少种“树”1. 二叉树1.1 二叉树的定义1.2 二叉树的示例1.3 满二叉树和完全二叉树1.3.1 满二叉树1.3.2 完全二叉树1.4 二叉树的性质2. 二叉查找树3......原创 2020-03-29 17:17:47 · 1110 阅读 · 0 评论 -
数据结构与算法之美 | 别怕,有我!KMP 算法详解
KMP 算法(Knuth-Morris-Pratt 算法)是一个著名的字符串匹配算法,效率很高,但是确实有点复杂。很多读者抱怨 KMP 算法无法理解,这很正常,想到大学教材上关于 KMP 算法的讲解,也不知道有多少未来的 Knuth、Morris、Pratt 被提前劝退了。有一些优秀的同学通过手推 KMP 算法的过程来辅助理解该算法,这是一种办法,不过本文要从逻辑层面帮助读者理解算法的原理。十行......原创 2020-04-14 17:56:45 · 684 阅读 · 2 评论 -
数据结构与算法之美 | 字符串匹配算法原理讲解(Hash、KMP、BM、Sunday)
字符串的定位操作通常称作字符串的模式匹配,是各种字符串处理系统中最重要的操作之一,本文介绍Hash、KMP、BM、Sunday四种匹配算法。原创 2020-06-06 13:41:57 · 569 阅读 · 0 评论 -
数据结构与算法之美 | TCP 拥塞控制算法
最近花了些时间在学习TCP/IP协议上,首要原因是由于本人长期以来对TCP/IP的认识就只限于三次握手四次分手上,所以希望深入了解一下。再者,TCP/IP和Linux系统层级的很多设计都可以用于中间件系统架构上,比如说TCP 拥塞控制算法也可以用于以响应时间来限流的中间件。更深一层,像TCP/IP协议这种基础知识和原理性的技术,都是经过长时间的考验的,都是前人智慧的结晶,可以给大家很多启示和帮助......原创 2020-04-15 01:11:59 · 807 阅读 · 0 评论 -
数据结构与算法之美 | 一文掌握队列Queue(真题讲解)
本系列内容专为课程面向笔/面试的《数据结构与算法》总结性精讲开设,以图文并茂的方式讲解数据结构,让大家打牢基础,促进对课程内容的掌握,最后做到题解大神,大厂offer拿到手软!目录:一文掌握队列Queue(真题讲解)0. 数据结构图文解析系列1. 队列简介1.1 队列的特点1.2 队列的相关概念1.3 队列的操作1.4 队列的存储结构2. 基于数组的循环队列实现2.1 循环队列的抽象数据类型2.......原创 2020-05-02 20:19:13 · 440 阅读 · 0 评论 -
数据结构与算法之美 | 单链表、双链表的增删改查(C++)
本系列内容专为课程面向笔/面试的《数据结构与算法》总结性精讲开设,以图文并茂的方式讲解数据结构,让大家打牢基础,促进对课程内容的掌握,最后做到题解大神,大厂offer拿到手软!单链表、双链表的增删改查0. 数据结构图文解析系列1. 线性表简介2. 单链表2.1 单向链表的节点结构2.2 单向链表的抽象数据结构2.3 单链表添加节点2.4 单链表删除节点2.5 单链表代码测试3. 双向链表3.1 ......原创 2020-05-02 18:09:52 · 924 阅读 · 0 评论 -
数据结构与算法之美 | 一文掌握栈Stack
本系列内容专为课程面向笔/面试的《数据结构与算法》总结性精讲开设,以图文并茂的方式讲解数据结构,让大家打牢基础,促进对课程内容的掌握,最后做到题解大神,大厂offer拿到手软!0. 数据结构图文解析系列数据结构系列文章数据结构图文解析之:数组、单链表、双链表介绍及C++模板实现数据结构图文解析之:栈的简介及C++模板实现数据结构图文解析之:队列详解与C++模板实现......原创 2020-04-27 23:41:23 · 512 阅读 · 0 评论 -
const指针和指向常量的指针
const指针和指向常量的指针,下面六种写法:1. const int p;2. const int *p;3. int const* p;4. int * const p;5. const int * const p;6. int const * const p;那么我们应该怎么区分上面的写法到底是指向常量的指针还是const指针(表示指针本身是常量)呢?一个简便......原创 2020-02-27 14:49:48 · 578 阅读 · 0 评论 -
C的|、||、&、&&、异或、~、!运算符
这篇文章主要介绍了C的|、||、&、&&、异或、~、!运算符,需要的朋友可以参考下https://www.jb51.net/article/50569.htm位运算位运算的运算分量只能是整型或字符型数据,位运算把运算对象看作是由二进位组成的位串信息,按位完成指定的运算,得到位串信息的结果。位运算符有:&(按位与)、|(按位或)、^(按位异或)、~ (按...原创 2020-03-21 16:00:27 · 578 阅读 · 0 评论 -
Linux下getopt()函数的简单使用
今天,我们的主角----getopt()函数。英雄不问出处,getopt()函数的出处就是unistd.h头文件(哈哈),写代码的时候千万不要忘记把他老人家include上。再来看一下这家伙的原型(不是六耳猕猴):int getopt(int argc,char * const argv[ ],const char * optstring);前两个参数大家不会陌生,没错,就是老大main函数的两个参数!老大传进来的参数自然要有人接着!第三个参数是个字符串,看名字,我们可以叫他选项字符串(后面会说原创 2021-11-01 10:30:53 · 344 阅读 · 0 评论 -
Segmentation Fault 错误原因总结及解决方法
一、 什么是“Segmentation fault in Linux”所谓的段错误就是指访问的内存超过了系统所给这个程序的内存空间, 通常这个值是由gdtr来保存的,他是一个48位的寄存器,其中的32位是保存由它指向的gdt表,后13位保存相应于gdt的下标,最后3位包括了程序是否在内存中以及程序的在cpu中的运行级别,指向的gdt是由以64位为一个单位的表,在这张表中就保存着程序运行的代码段以及数据段的起始地址以及相应的断限和页面交换还有程序运行级别和内存粒度等信息, ...原创 2021-08-19 13:27:51 · 7094 阅读 · 0 评论 -
是不是又凉住了?C++ STL库介绍
C++ STL库介绍1. STL库中的容器介绍1.1 序列式容器1.2 关联式容器1.3 容器配接器1.4 各种容器的异同点比较1.4.1 Vector与数组的异同点1.4.2 C++ vector和list的区别2. STL相关面试题2.1 STL中的sort算法用的是什么排序算法?2.2 STL迭代器失效1. STL库中的容器介绍(链接写的非常好) https://www.cnblogs.......转载 2020-04-17 15:12:24 · 478 阅读 · 0 评论 -
C/C++预处理指令#define,#ifdef,#ifndef,#endif…
C/C++预处理指#define,#ifdef,#ifndef,#endif…什么是预处理指令?include包含一个源代码文件define定义宏1 用#define实现求最大值和最小值的宏2 宏定义的错误使用3 宏参数的连接4 用宏得到一个字的高位或低位的字节5 用宏定义得到一个数组所含元素的个数ifdef,#ifndef,#endif...的使用1 示例1:2 #ifdef 和 #ifndef...原创 2019-12-11 12:04:37 · 666 阅读 · 0 评论 -
TCP三次握手、四次挥手及常见面试题全集
TCP三次握手、四次挥手几常见面试题全集TCP报文首部TCP连接的建立(三次握手)TCP连接的释放(四次挥手)常见面试题汇总本文按照先介绍TCP的三次握手和四次挥手的详细过程,再列出面试过程中常见的问题。TCP报文首部源端口和目的端口,各占2个字节,分别写入源端口和目的端口;序号,占4个字节,TCP连接中传送的字节流中的每个字节都按顺序编号。例如,一段报文的序号字段值是 301 ,而携...原创 2020-01-01 19:17:21 · 983 阅读 · 0 评论 -
TCP和UDP的区别分析与总结
TCP和UDP的区别分析与总结引言一、TCP/IP网络模型二、UDP1. 面向无连接2. 有单播,多播,广播的功能3. UDP是面向报文的4. 不可靠性5. 头部开销小,高效传输数据报文三、TCP1. TCP连接过程2. TCP断开链接3. TCP协议的特点四、TCP和UDP的比较1. 对比2. 总结引言网络协议是每个前端工程师都必须要掌握的知识,TCP/IP 中有两个具有代表性的传输层协...原创 2020-01-10 22:18:08 · 756 阅读 · 0 评论 -
堆栈、BSS段、代码段、数据段、RO、RW、ZI等概念区分
堆栈、BSS段、代码段、数据段、RO、RW、ZI等概念区分一 预备知识二 程序文件中的分区三 程序进程中的分区四 总结一 预备知识在区分一个程序的堆栈、bss、text段、RO、RW、ZI等概念时,首先区分一下程序进程和程序文件,然后了解一下哈弗结构和冯诺依曼结构。程序进程就是程序运行时的程序,程序文件是编译后生成的可执行文件,比如.bin文件等,这两个概念很好区分,特别强调一下,分开表达主...原创 2020-03-05 11:58:44 · 1056 阅读 · 0 评论 -
C语言中关键字auto、static、register、extern、volatile、restrict的作用
auto(1)auto关键字在C语言中只有一个作用,那就是修饰局部变量。(2)auto修饰局部变量,表示这个局部变量时自动局部变量,自动局部变量分配在栈上。(既然是分配在栈上,说明他如果不初始化的话那么值就是随机的…)(3)平时定义局部变量时就是定义的auto的,只是省略了auto关键字而已。可见,auto的局部变量其实就是默认定义的普通的局部变量。static(1)static关键字在...转载 2020-03-05 11:45:55 · 1329 阅读 · 0 评论 -
C++软件开发工程师概念手册
1. 面向对象的三个特性封装性封装是面向对象编程的核心思想,将对象的属性和行为封装起来,而将对象的属性和行为封装起来的载体是类,类通常对用户隐藏其实现的细节,这就是封装的思想。采用封装的思想保证了类内部数据结构的完整性,应用该类的用户不能轻易直接操纵该数据结构,而只能执行该类允许公开的数据。这样可以避免外部对内部数据的影响,提高程序的可维护性。多态性多态性指相同对象收到不同消息或...原创 2020-03-05 18:04:37 · 1073 阅读 · 0 评论 -
堆与栈的区别(经典讲解)
k最近邻算法(k-Nearest Neighbor,KNN )Python实现一、预备知识—程序 的内存分配二、例子程序三、堆和栈的理论知识1 申请方式2 申请后系统的响应3 申请大小的限制4 申请效率的比较:5 堆和栈中的存储内容6 存取效率的比较7 小结摘要: 对于堆和栈,很多朋友都是不怎么理解的,就算是开发了程序多年的朋友都会容易混淆。其实要区分它们并不难,但是怎样使自己永久不会忘记哪得有...转载 2020-03-05 12:05:16 · 1413 阅读 · 0 评论 -
Charmve Coding | Codility - Counting Elevator Movements
Perface Since last week, Apr 17. 2020, I had been starting to hold a Data Structs & Algorithms series training course. So I am going to make coding tests as a push study as much as possible, so ...原创 2020-04-25 22:26:20 · 677 阅读 · 0 评论 -
Charmve Coding | the smallest positive integer that does not occur in Array A
Perface Since last week, Apr 17. 2020, I had been starting to hold a Data Structs & Algorithms series training course. So I am going to make coding tests as a push study as much as possible, so ...原创 2020-04-23 23:57:59 · 661 阅读 · 0 评论 -
Charmve Coding | Integer V lies strictly between integers U and W
Perface Since last week, Apr 17. 2020, I had been starting to hold a Data Structs & Algorithms series training course. So I am going to make coding tests as a push study as much as possible, so ...原创 2020-04-25 22:10:58 · 1434 阅读 · 0 评论 -
LeetCode4FLAG | FLAG面试频率最高的100题(含题解)
High frequent interview LeetCode test for FaceBook,Linkedin,Amazon,Google. More importantly, the problems’ solutions are provided. Offer, offer, offer!原创 2020-10-14 14:45:18 · 456 阅读 · 0 评论