面试
文章平均质量分 55
颜值博主
这个作者很懒,什么都没留下…
展开
-
死锁产生条件及解决方法
产生条件造成死锁必须达成的4个条件(原因):互斥条件:一个资源每次只能被一个线程使用。 请求与保持条件:一个线程因请求资源而阻塞时,对已获得的资源保持不放。 不剥夺条件:线程已获得的资源,在未使用完之前,不能强行剥夺。 循环等待条件:若干线程之间形成一种头尾相接的循环等待资源关系。解决方法避免死锁就是破坏造成死锁的,若干条件中的任意一个,常见的方法如下:1.加锁顺序当多个线程需要相同的一些锁,但是按照不同的顺序加锁,死锁就很容易发生。如果能确保所有的线程都是按照相同的顺序获得锁,原创 2021-08-15 10:01:34 · 380 阅读 · 0 评论 -
华为车BU面试
车BU一面(7.17):多线程如何避免死锁 利用两个堆栈实现队列 给定二叉树形式的有序链表,转换成一个有序的双向链表 多态是啥?重载和重写区别 TCP协议的三次握手、四次挥手 深拷贝和浅拷贝的区别 类成员变量什么必须在初始化列表初始化...原创 2021-07-17 10:33:35 · 2735 阅读 · 1 评论 -
C++动态内存分配
malloc内存分配:malloc是动态内存申请函数,其会根据申请空间的大小来调用brk()、mmap()来实现虚拟内存空间的分配。其中brk()、mmap()是系统调用。malloc和mmap等内存分配函数只是建立进程的虚拟地址空间,并没有分配实际的物理内存。当进程访问没有建立映射关系的虚拟内存时会自动的触发一个缺页中断。缺页中断:当一个进程发生缺页中断的时候,进程会陷入内核态,执行以下操作检查要访问的虚拟地址是否合法查找/分配一个物理页填充物理页内容(读取磁盘,或者直接置0,或者啥也不干原创 2021-05-12 21:26:38 · 471 阅读 · 1 评论 -
字节面试(后端开发)
字节面试(系统架构-后开)一面 2021.04.27:unordered_map迭代输出的顺序和插入的顺序有关吗?无关 LRU实现?List+unordered_map 服务器和客户端通过HTTP连接,客户端分十次发送数据(每次1KB),服务器端会分几次read到?1次? HTTP2.0和1.1区别?多路复用什么意思。 虚函数如何实现多态?...原创 2021-04-27 21:26:11 · 542 阅读 · 0 评论 -
百度面试面经
一面:项目 设计模式(分层,作用) 算法:二叉树迭代前序遍历二面:ping实现机制(IP) 多叉树如何转换成二叉树,且前序遍历一致,且保留父亲节点和兄弟节点的信息 算法:实现logn复杂度的pow(m,n)算法 贪吃蛇游戏实现,采用什么数据结构,如何实现食物产生方法。...原创 2021-03-27 14:26:42 · 150 阅读 · 0 评论 -
2021.3.21腾讯笔试
第一题:链表遍历+链表复制题解:由于查询是随机的,跟遍历顺序无关,因此通过哈希记录所有需要查询的节点值。通过前序遍历树并更新路径,在遍历树的过程中判断,哈希表中存在的值就将当前路径链表复制,并将头指针存储在对应节点的map中,最后根据查询顺序输出。class Solution {public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * 你需要返回m个指针,第i个指针指向一条链,表示第i个问题的答案 * @param root Tr..原创 2021-03-22 09:59:35 · 304 阅读 · 0 评论 -
百度笔试3.16
#include <map> #include <cmath> #include <queue> #include <cstdio> #include <string> #include <cstring> #include <iostream> #include <algorithm> #include <sstream> #include <time.h...原创 2021-03-17 09:03:09 · 379 阅读 · 0 评论 -
携程2021.3.4笔试
第一道:字符串处理对于(+ 8 3 2)(* 8 ( - 5 4) 3)计算其输出结果第二道:最大最小利连续子数组和(二分)对于一数组[1,2,3,4,5,6,7,8,9],分成连续的n份,找到其最小子数组和的最大值#include <map> #include <cmath> #include <queue> #include <cstdio> #include <string> #include原创 2021-03-04 21:54:58 · 548 阅读 · 1 评论 -
腾讯面试汇总
2021.3.15:无提前通知,突然打电话,我称之为摸底面。虚函数和虚函数表,虚函数表存储的位置 数据库中,主键和索引的区别 计算机网络中,time_wait状态位的含义,以及出现的原因 delete和delete[] 的区别由于基本上都没回答上来,面试官没再继续深问,所以这次摸底面直接给我摸没了,四分钟结束!...原创 2021-03-15 15:55:31 · 174 阅读 · 0 评论 -
程序保存
#include <map> #include <cmath> #include "pch.h"#define INF (0x3f3f3f3f)using namespace std;struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {}};struct ListNode { .原创 2021-03-15 14:33:08 · 253 阅读 · 0 评论 -
2021-02-18面试
计算机网络:简单介绍,TCP握手和挥手数据库:MySQL介绍数据结构:介绍简单的几种结构,链表如何确定有没有环map的实现接口,拓容方法,底层实现?1.给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。后端开发技术栈?...原创 2021-02-18 18:36:38 · 121 阅读 · 0 评论 -
MySQL面试笔记
目录MySQL数据类型脏读、不可重复读与幻读MySQL数据隔离级别SQL语言定义了三种操作数据库的能力MySQL数据类型MySQL数据库的数据类型主要是分为数值型,日期时间型以及字符串型这三个大类,具体如下图所示:MySQL 的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数,MySQL 允许我们指定数值字段中的值是否有正负之分或者用零填补。表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。每个时间原创 2021-02-17 17:51:42 · 195 阅读 · 1 评论 -
多态的简单理解
所谓多态(Polymorphism),按字面的意思就是“多种状态”。在面向对象语言中,接口的多种不同的实现方式即为多态。引用Charlie Calverts对多态的描述——多态性是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作(摘自“Delphi4编程技术内幕”)。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。多态性在Object Pascal和C++中都是通过虚函数(Virtual Function) 实现.原创 2020-06-09 16:45:24 · 1845 阅读 · 0 评论 -
面试题汇总
堆栈的定义,堆和栈的区别?一个由C/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap)— 由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。3、全局区(静态区)(static)— 全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在.原创 2021-01-22 21:16:19 · 164 阅读 · 0 评论