网站开发网页ui设计公司,无极搜索引擎,建设第二个北京在哪里,商城网站网络公司人生第一次面试#xff0c;大概一个小时左右。没有问我C的#xff0c;上来一个数据库事务#xff0c;虽然没有复习#xff0c;但是还是能够记住一些#xff0c;主要问的一些事务的隔离级别#xff0c;以及都有什么作用#xff0c;我是举例回答的#xff0c;客户端A和客…人生第一次面试大概一个小时左右。没有问我C的上来一个数据库事务虽然没有复习但是还是能够记住一些主要问的一些事务的隔离级别以及都有什么作用我是举例回答的客户端A和客户端B两者之间的事务开始结束之间的一些什么显示巴拉巴拉。接下来就是网络和操作系统虽然忘了一些但是大多数都知道。比如进程间通信其中有一个问题让我说说共享内存的原理我当时说的比较片面就是让多个进程看到同一块空间进程地址空间相关的似乎也说了但是回去复习发现还是没有完全的表述出来漏了一个性质共享内存内部没有默认的进程之间的并行和互斥而管道一类的才有。网络就是典型的三握四挥了还有超时重传拥塞控制一些能够提高可靠性和提高效率的一些性质。后来问了一些TCP以及UDP传输时网站、视频各种情况下都用的什么我的回答是两者会互相切换根据网络状态是否丢包感觉这里答的还可以。 不过面试官最后问写一道反转链表吧是类似于1 2 3 4反转成 2 1 4 3的两两交换。
面试官说不能直接交换值。当时心理活动是觉得这题很简单。但是写着写着空指针了。。。时隔两天突然想起来了这道题打算写一下结果直接就写出来了。无非就是三个指针互相迭代细节我觉得就是prev一开始需要为空并且while条件里需要都写上第一次反转需要改头。
#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;
}这么简单就完事了悔不当初啊。或许第一次面试真的紧张吧。下次面试一定不紧张。