记录首次面试2023-08-18

人生第一次面试,大概一个小时左右。没有问我C++的,上来一个数据库事务,虽然没有复习,但是还是能够记住一些,主要问的一些事务的隔离级别,以及都有什么作用,我是举例回答的,客户端A和客户端B,两者之间的事务开始,结束,之间的一些什么显示巴拉巴拉。接下来就是网络和操作系统,虽然忘了一些,但是大多数都知道。比如进程间通信,其中有一个问题让我说说共享内存的原理,我当时说的比较片面,就是让多个进程看到同一块空间,进程地址空间相关的似乎也说了,但是回去复习发现还是没有完全的表述出来,漏了一个性质,共享内存内部没有默认的进程之间的并行和互斥,而管道一类的才有。网络就是典型的三握四挥了,还有超时重传,拥塞控制一些能够提高可靠性和提高效率的一些性质。后来问了一些TCP以及UDP传输时,网站、视频,各种情况下都用的什么,我的回答是两者会互相切换,根据网络状态是否丢包,感觉这里答的还可以。

不过,面试官最后问,写一道反转链表吧,是类似于1 2 3 4反转成 2 1 4 3的两两交换。

面试官说不能直接交换值。当时心理活动是,觉得这题很简单。但是写着写着空指针了。。。时隔两天,突然想起来了这道题,打算写一下,结果直接就写出来了。无非就是三个指针互相迭代,细节我觉得就是prev一开始需要为空,并且while条件里需要都写上,第一次反转需要改头。

cpp 复制代码
#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
using namespace std;


//反转 1 2 3 4  -->  2 1 4 3
typedef struct ListNode
{
	int val;
	struct ListNode* next = nullptr;
	ListNode(int v = 0) :val(v)
	{}
}ListNode;


ListNode* ReverseNode(ListNode* head)
{
	ListNode* cur = head;
	ListNode* prev = nullptr;
	while (cur && cur->next)
	{

		ListNode* next = cur->next;
		if (cur == head)//改头
		{
			head = cur->next;
		}

		if (next)
		{

			cur->next = next->next;
			next->next = cur;
			if (prev) prev->next = next;
			prev = cur;
		}

		cur = cur->next;
	}

	return head;
}

int main()
{
	ListNode* n1 = new ListNode(1);
	ListNode* n2 = new ListNode(2);
	ListNode* n3 = new ListNode(3);
	ListNode* n4 = new ListNode(4);
	ListNode* n5 = new ListNode(5);
	ListNode* n6 = new ListNode(6);

	n1->next = n2;
	n2->next = n3;
	n3->next = n4;
	n4->next = n5;
	n5->next = n6;

	ListNode* res = ReverseNode(n1);
	while (res)
	{
		cout << res->val << endl;
		res = res->next;
	}

	return 0;
}

这么简单就完事了,悔不当初啊。或许第一次面试真的紧张吧。下次面试一定不紧张。

相关推荐
豆沙糕10 小时前
Python异步编程从入门到实战:结合RAG流式回答全解析
开发语言·python·面试
前端摸鱼匠10 小时前
【AI大模型春招面试题13】残差连接(Residual Connection)与层归一化(Layer Norm)在Transformer中的作用?
人工智能·深度学习·语言模型·面试·transformer·求职招聘
酉鬼女又兒11 小时前
零基础快速入门前端ES6 核心特性详解:Set 数据结构与对象增强写法(可用于备赛蓝桥杯Web应用开发)
开发语言·前端·javascript·职场和发展·蓝桥杯·es6
→长歌13 小时前
2026Java面试30题精解
java·python·面试
酉鬼女又兒13 小时前
零基础快速入门前端蓝桥杯Web考点深度解析:var、let、const与事件绑定实战(可用于备赛蓝桥杯Web应用开发)
开发语言·前端·javascript·职场和发展·蓝桥杯·es6·html5
笨笨没好名字14 小时前
结构工程/机械工程/工业设计/硬件工程师面试题目(题源大疆:12+28)
人工智能·面试·职场和发展
LSL666_14 小时前
JVM面试题——垃圾收集器
java·jvm·面试·垃圾收集器
庞轩px15 小时前
后端开发面试题总结
java·jvm·面试·并发编程·mysql与redis·spring与消息队列·网络协议与设计模式
小肝一下17 小时前
每日两道力扣,day1
算法·leetcode·职场和发展