C++校招面经整理(更新中)

2.17 柠檬微趣

一、一面
1、两两翻转链表

#include<bits/stdc++.h>
using namespace std;
Node* linkreverse(Node *head){
	if(head==NULL||head->next==NULL) return head;
	Node* curnext=head->next->next;
	Node* p=head,*q = head->next,*newhead = q;
	while(p&&q){
		p->next = curnext;
		q->next = p;
		p=curnext;
		if(q->next){
			curnext = p->next->next;
		}
		q=p->next;
	}
	return newhead;
}

2、struct和class的区别
3、C#了解吗 答不了解
4、C++引用传递和值传递怎么回事
5、智能指针了解吗?为什么要用weak_ptr(这里一开始每答出来),不过面试官很nice,提醒了我(两个shared_ptr所指向的对象如果互相引用对方怎么办),答防治循环引用
6、加入动物类->鸟类、哺乳动物类 ,现在想声明一个大象出来,让他既能加入哺乳动物数组也能加入鸟类数组,怎么办?
这个题我不太会,我答了让大象类既集成哺乳动物类,也继承鸟类。
面试官说这样是一个可行解,但不是最优解,有最优解吗? 我想不出来,他给我说是设计模式里的命令模式(设计模式其实没复习到,只了解工厂模式和单例模式)
7、epoll咋回事
二、二面
项目
算法题:两个矩阵式是否重合? (没有见过这道题。。答得磕磕绊绊,谢谢面试官给我提示)

struct rectangle{
	int x1,y1,x2,y2;  //(x1,y1)和(x2,y2)分别代表左上角顶点和右下角顶点; 
}r1,r2;

bool mycmp(rectangle rec1,rectangle rec2){
	if(rec1.x1<=rec1.x2||rec1.y1<=rec1.y2) return false;   //判断是否是合法矩形 
	if(rec2.x1<=rec1.x2||rec2.y1<=rec2.y2) return false;
	struct bigone;
	bigone.x1 = min(rec1.x1,rec2.x1);
	bigone.x2 = max(rec1.x2,rec2.x2);
	bigone.y1 = max(rec1.y1,rec2.y1);
	bigone.y2 = min(rec1.y2,rec2.y2);
	int lenx1 = abs(rec1.x2-rec1.x1),lenx2 = abs(rec2.x2-rec2.x1);
	int leny1 = abs(rec1.y2-rec1.y1),leny2 = abs(rec2.y2-rec2.y1);
	int lenx3 = abs(bigone.x1-bigone.x2),leny3 = abs(bigone.y1-bigone.y2);
	return (lenx1+lenx2>lenx3)&&(leny1+leny2>leny3); 
}

设计模式是否了解?了解那些?
工厂模式是怎么样的?
总结:两位面试官都很nice,也很有耐心,对我不会的问题不断引导,让我不要放弃,再进行思考。很愉悦的面试体验

2.19更新,上午get柠檬微趣offer,下午腾讯面试
腾讯一面
闲聊,聊项目,你觉得最难的地方是什么?
C++基础:虚基类,虚表,并发,epoll
数据库了解吗?mysql了解到什么程度?引擎?有什么区别?
别的都没问了,也没问算法题,这次体验极差,面试官问的都是牛客的面经里的内容,而且不问算法题(疫情原因,不方便能理解),如果大家都会背面经,那为什么要双非的不要985/211的,问的这么简单到最后还是拼学历呗🤒

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
量化开发是指利用算法、数学模型和统计方法,以及计算机编程等技术,对金融市场进行量化分析和交易策略的开发与实施。量化开发在金融行业发挥着重要的作用,也成为了近年来热门的职业方向之一。 作为一种金融技术岗位,量化开发对候选人的要求相对较高。首先,候选人需要具备扎实的计算机编程基础,能够熟练使用C语言进行编程。在金融领域的量化分析,高效的计算能力是非常重要的,因此熟练掌握C语言可以有效提高量化开发工作的效率和性能。 其次,候选人需要具备金融知识和数学模型的基础。量化开发需要对金融市场、金融产品和交易策略有一定的了解和认识,以便于根据市场情况和需求开发相应的量化交易策略。同时,候选人还需要具备良好的数学功底,能够理解和应用各种数学模型和统计方法,为量化分析提供支持。 此外,候选人还需要具备良好的沟通和团队合作能力。在量化开发的工作,往往需要与团队成员以及其他部门进行合作和沟通,共同开发和优化交易策略。因此,候选人需要具备良好的沟通能力和团队意识,能够与不同背景和专业的人有效地合作。 总而言之,量化开发是一项高要求的金融技术工作,需要候选人具备扎实的C语言编程基础、金融知识和数学模型的基础,以及良好的沟通和团队合作能力。对于正在寻找量化开发岗位的毕业生来说,通过系统学习相关知识和技能,积极参加实习经验和项目实践,提高自身的专业素质和实践能力,将能够更好地应对和胜任量化开发岗位的工作要求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值