2020浦发银行面试经验

本来是不打算去面试浦发银行的(人数太多了),奈何还是不想死心。于是便买了当天晚上去武汉的火车票,第二天早上8点才到武昌,可以说整晚没睡着,强烈不建议坐夜车去参加面试,太难受了。下午大概1点半到了浦发银行大厦,签完到等到待机考。给了三道题,50分钟完成,居然给的dev编译器(平时习惯用VS),也是醉了,第一题给出两组数,求每位数相互乘积,最后求和,开始想复杂了,想用字符串流去转化整数为字符串,结果stringstream用得不熟悉,花了不少时间才整明白,其实只要按照常规思路用两层for循环就可以了,好在最后a了;第二题,罗马数字转十进制整数,结果是对的,用的switch,不知道为啥通过是50%;第三题百钱买百鸡,时间不太够了,写了代码,三层for循环,没来得及调试,就自动提交了。可能还是自己平时刷题太少了,导致做题速度太慢了,旁边的华科大神半个小时a三道,哎,得加强刷题练习了。然后就是等面试,等了2个小时,去一个小房间面试,大概6个面试官,让我交成绩单,简历打印了没有看,全程就一个面试官一直问我,大概问了15分钟吧,可能对我的研究生方向(计算机图形学)不感兴趣,提都没提,加上我不是搞java的,貌似不是也很想问的意思,就象征性地问了c和c++基础。

我回忆下,大概问了
1.c和c++的区别
当时只是把它们的概念背了一遍,其实感觉有很多可以说的东西,比如c和c++的关键字啊,不同的打印方式,申请地址方式,指针和引用,结构体和类等都可以说。
2.const用法,指针常量和常量指针
这个貌似很多公司必问,总结如下:
常量指针 const int * p
又叫常指针,可以理解为常量的指针,常量指针指向的对象不能通过这个指针来修改(即给*p赋值,error),但是指针本身指向的地址可以发生改变(即 p++,OK)。

int i = 10;
const int *p = &i;
cout << *p << endl;//10
p++; //OK,指针还可以指向别处,因为指针只是个变量,可以随意指向,但是(*p)++是error的,是const int的,不可修改,
     //即常量指针不可修改其指向地址的内容
i = 12; //仍然可以通过原来的声明修改值

指针常量 int * const p
本质是一个常量,而用指针修饰它(即指针本身是一个常量),指针所保存的地址可以改变(即给*p赋值,OK),然而指针所指向的值却不可以改变(即 p++,error)。

int i = 10;
int *const p = &i; //常量指针
cout << *p << endl; //10
(*p)++; //OK,指针是常量,p指向的地址不可以变化,因此p++就是error的,但是指向的地址所对应的内容可以变化。
cout << *p << endl; //11
i = 12; //仍然可以通过原来的声明修改值

3.二叉树按层遍历
2020浦发银行面试经验_第1张图片
通过将二叉树装入队列,每装入一次根节点的左右孩子,就将队列头指针后移一位,具体步骤如下:
a、把根节点A放入队列,此时队列为:A,队列头指针指向A,也就是队列第一个元素
b、把当前队列头指针所指元素的左右儿子放入队列,即将B C放入队列,此时队列为A B C ,队列头指针向下移一格,此时指向B
c、不断重复b步骤。此时把B的左右儿子取出来放入队尾,队列变为A B C D E,队列头指针后移,指向C,C没有子节点,队列不再延长;
d、结束条件,队列头指针和尾指针重合时,输出最后一个元素,算法结束。
4.单链表的逆序
剑指offer的题目,通过三个指针可以实现,head,next,prev,看图说话吧
2020浦发银行面试经验_第2张图片
2020浦发银行面试经验_第3张图片
2020浦发银行面试经验_第4张图片
2020浦发银行面试经验_第5张图片

typedef struct LNode {
     
	int data;
	struct LNode *next;
}LNode;

LNode* reverse_linked_list(LNode *head) {
     
	LNode *next = NULL;
	LNode *prev = NULL;

	while (head) {
     
		next = head->next;
		head->next = prev;
		prev = head;
		head= next; //当prev走到最后的head,head=NULL,循环终止,整个链表发生逆转
	}

	return prev; //最后prev就是队列的头
}

5.socket编程中tcp通信建立用了哪些函数,地址绑定怎么绑定的
这个还是研一写的代码,记不清了,记住,不熟悉的东西一定不要写到简历,要写一定要弄熟再去面试。
2020浦发银行面试经验_第6张图片
6.多线程
这个没研究过,不会。

总结一下,问题不难,但是就是说不全,总是会漏掉一点,就在自己思考时,面试就开始说下一题了。说到底还是自己太菜了,没有刷题,没有总结,这次回学校了好好反省,把题目刷几遍,毕竟现在竞争力太大了,有调查说80%的offer都是掌握在20%的人手上,这就是咱这行现在的形势。哎,咱得加倍努力啊,不说了,学习去了。

你可能感兴趣的:(校招心得,浦发银行,系统开发,面试,c语言,刷题)