3-18 小红书C++一面

交叉面 
面试官真的对我好炸了,面试官全程在跟我说没事没事,我全程在感谢面试官hhh
感觉真的像是那种长辈对晚辈的指点。 虽然我没表现好,但体验真的太好了,我一回答不上来他就帮我说了,还让我不要紧张没事,没关系啥的
80min
讲讲b树和B+树吧
数据库为什么以它作为索引,有什么好处吗,为什么B+树比b树更适合所以
说一下mysql的聚合索引和非聚合索引?  我说不会 
说一下哈希表底层吧
说一下c++的智能指针, 如果让你实现一个智能指针你要实现哪些东西,我只知道构造函数。。。我说还需要支持原子操作啥的吗
然后面试官给我补充需要一个指向引用计数的指针,拷贝构造函数,初始化构造啥的...
说一下互斥锁和自选锁吧,然后他们各有什么优缺点,使用于什么场景 面试官帮我答了因为互斥锁会导致线程从睡眠到就绪态,会有上下文切换耗费时间,所以用自选锁就没这个问题
了解用户态和内核态吗
如果让你实现一个线程池,你会用哪些实现, 我随便说了说 面试官说你不怎么了解java ,这个不知道也很正常
说一下TCP的三次握手四次挥手,为什么三次和四次,针对三次握手的CD啥攻击,我说我只了解syn攻击,然后我说的也不太对。。。 我还背错了个东西
C++的. rall. 压根没听说过 不会
C++的lock_groud 压根没听说过 不会
然后面试官说你更多的是移动端的经验,我也不太知道问什么了~
那我们写个题吧
连标排序,反正我归并是写叉撇了,整死循环了,面试官简单训了我一下。。。 他说你平时刷LeetCode应该肯定刷到过啊(可我真没写过这种连标题呀),对你来说应该非常简单的题,我一直在嗯嗯
我说能自己写个堆吗,面试官说最好还是全用连标。 然后就写死循环了
#include <iostream>
using namespace std;

// To execute C++, please define "int main()"

// The TestCase is shown below
// Input : 1 2
// Output : 3



struct ListNode {

   int val;

      ListNode *next;

    ListNode() : val(0), next(nullptr) {}

    ListNode(int x) : val(x), next(nullptr) {}

    ListNode(int x, ListNode *next) : val(x), next(next) {}

 };



ListNode* merge(ListNode *head, ListNode *leftNode, ListNode *rightNode, ListNode *midNode){
	ListNode *newHead = new ListNode(-1);
	ListNode *realHead = newHead;
	ListNode *p = midNode->next;
	while(leftNode != midNode && p != rightNode){
		if(leftNode->val <= p->val){
			newHead->next = leftNode;
			leftNode = leftNode->next;
		}
		else {
			newHead->next = p;
			p = p->next;
		}
	}
	while(leftNode != midNode){
		newHead->next = leftNode;
		leftNode = leftNode->next;
	}
	while(p != rightNode){
		newHead->next = p;
		p = p->next;
	}
	return realHead->next;
}

ListNode* mergeSort(ListNode *head, ListNode *leftNode, ListNode *rightNode){
	ListNode *newHead = head;
	if(leftNode == rightNode) return leftNode;
	ListNode *midNode = head;
	ListNode *right; 
	while(newHead){
		midNode = midNode->next;
		newHead = newHead->next;
		if(newHead->next == nullptr){
			right = newHead;
		}
		if(newHead) newHead = newHead->next;
		if(newHead->next == nullptr){
			right = newHead;
		}
	}
	mergeSort(head, leftNode, right);
	mergeSort(head, midNode->next, rightNode);
	return merge(head, leftNode, midNode, rightNode);
}

int main() {
	printf("dqwwqddwq");
	ListNode *p[10];
	for(int i = 0; i < 10; i++){
		p[i] = new ListNode(rand()%18);
	}
	for(int i = 0; i < 9; i++){
		p[i]->next = p[i + 1];
	}
	
	printf("dqwwqddwq");
	ListNode *head = mergeSort(p[0], p[0], p[9]);
	while(head){
		printf("%d---", head->val);
		head = head->next;
	}
  	return 0;
}


反问  我直接来了一句 为今天的表现向您说一句抱歉,他还说你还是比较优秀的,他一直在帮我找借口
面试官然后说了很多让我去了解底层的一下话,太感动了,还说他看到我有点感同身受的样子,他还说他以前也打过ACM,成绩应该是比我好,我差点就叫爹了
后面给我过的话我一定好好准备 这简直就是亲爹啊!

#小红书校招##小红书##面经#
全部评论
对于连标是啥陷入了五分钟的沉思...
1 回复 分享
发布于 2022-03-21 23:54
太感动了也
1 回复 分享
发布于 2022-03-18 20:55
同步一下,已经挂了,小红书hr还给我微信好友删了,可恶😂
5 回复 分享
发布于 2022-03-22 12:46
请问这是小红书什么部门
点赞 回复 分享
发布于 2022-03-21 21:33
楼主面的是什么岗位呀?实习还是校招?
点赞 回复 分享
发布于 2022-03-20 21:28
看到了当年的自己
点赞 回复 分享
发布于 2022-03-19 08:53
楼主好幸运,加油呀~
点赞 回复 分享
发布于 2022-03-18 22:40

相关推荐

06-10 21:15
门头沟学院 Java
宁阿:好多这种没🧠的公司,他们估计都不知道毕业的人不能给安排实习岗
实习吐槽大会
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-21 11:33
昨天是学校最后一场招聘会,鼠鼠去参加了,全场只有一个招聘java的岗位,上来先做一份笔试题,做完后他拿张纸对答案,然后开始问简历上的问题,深圳小厂,6-8k(题目如下),后面还有两轮面试。然后我就在招聘现场逛呀逛,看到有公司招聘电商运营,给的比上年的小厂还多,鼠鼠就去了解了下,然后hr跟鼠鼠要了份简历,虽然我的简历上面全是求职Java开发相关的内容,但是hr还是鼓励我说没关系,她帮我把简历给老板看看,下周一会给我通知。招聘会结束后鼠鼠想了一段时间,也和朋友聊了聊,发现我可能是不太适合这个方向,然后就跟爸爸说回家了给我发条微信,我有些话想跟他说说。晚上爸爸到家了,跟我发了条微信,我立马跑出图书馆跟他打起了电话,这个通话长达一个小时,主要是跟爸爸坦白说我不想找这行了,是你的儿子太没用了,想试试其他行业。然后爸爸也跟我说了很多,说他从来没有希望我毕业后就赚大钱的想法,找不到就回家去,回家了再慢慢找,实在找不到就跟他干(帮别人装修房子,个体户),他也知道工作不好找,让我不要那么焦虑,然后就是聊一些家常琐事。对于后面的求职者呢我有点建议想提一下,就是如果招实习的时间或者秋招开始,而你的简历又很差的情况下,不要说等做好项目填充完简历之后再投,那样就太晚了,建议先把熟悉的项目写上简历,然后边投边面边完善,求职是一个人进步的过程,本来就比别人慢,等到一切都准备好后再投岂不是黄花菜都凉了。时间够的话还是建议敲一遍代码,因为那样能让你加深一下对项目的理解,上面那些说法只是针对时间不够的情况。当然,这些建议可能没啥用,因为我只是一个loser,这些全是建立在我理想的情况下,有没有用还需其他人现身说法。上篇帖子没想到学校被人认了出来,为了不丢脸只能匿名处理了。
KPLACE:找研发类或技术类,主要还是要1.多投 2.多做准备,很多方面都要做准备 3.要有心理准备,投累了就休息一两天,再继续,要相信自己能找到
投递58到家等公司7个岗位
点赞 评论 收藏
分享
评论
11
34
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务