6.5日截止投递实习生简历
6.14在线笔试 笔试内容可以看一下其他人的帖子,我记不太清了。
选择题时间太紧,得有舍弃,做的感觉不怎么样;编程题3个都AC;性格测试看不懂。。。。
7.8号在线测评
本以为是又一次性格测试,结果是编程,1个小时3个题目,都AC了。
1.找出数组中出现次数超过n/2次的数;
2.跳台阶,一次最多跳两阶那道;
3.给定整数 N ,按任何顺序(包括原始顺序)将数字重新排序,导数字不能为零。判断是不是2的整数次幂。0<=N<=10^9。例如:46,重排成64,是2^6。
前两个题目都做过,最后一个没见过。
说一下第三个题目吧,第一感觉应该是通过位来做,但是实在想不到解决方案,就换了一个笨一点的方法。
伪代码
for(i = 0;i < 30;++i)
求2^i;
计算2^i中0~9每个数字的个数,存入map;
map放进一个vector;
for(j = 0;j <vector.size();++j)
计算N中0~9每个数字的个数,和map去比,一一对应就返回1;
返回0;
N和map比应该可以优化的,但是时间来不及了,就没去想。
7.9号在线面试
1 v 3,三个面试官。
总体来说面试体验不好,感觉全程尬聊。也可能是自己给自己挖的坑。看之前的面经都是匿名,就是面试官不知道你是谁,只能报自己的编号,不能说名字。所以我默认面试官手里没有我的简历。结果,这次不是。。。。。
首先是自我介绍,我介绍了一下自己的技术栈,还有项目(后悔说这个了)。因为项目是JAVA的,面试官第一个问题就是Spring。我说了一下我不会,对JAVA了解的不多(我内心想的是别问JAVA,问C++吧,或者数据库,或者其他的专业知识。后来发现我太想当然了。)基本全程就是围绕项目来问。C++相关的一个都没问题。。。
总结一下问题吧,有的问题记不清了
1.Spring。答:没用过
2.项目是什么?解决了什么问题?
3.项目用到的数据库?
4.看过什么开源项目代码?答:看过redis源码。。。。。没继续问。可能是因为redis是C语言写的吧。
5.看你简历,本硕都是科班,问几个专业问题的吧。操作系统了解吗?答:了解一些。
说一下什么是死锁?答:两个事物都等待对方释放自己需要的资源而产生阻塞。
怎么解决死锁?答:忘了。。。。
说一下你有印象的吧?答:生产者消费者。
银行家算法了解吗?答:一堆人围着桌子吃饭那个。(我也不知道怎么会说出这么一句话,直接说不好意思,不会。不香吗?)
6.聚簇索引和非聚簇索引?答:聚簇索引节点存放键和行数据,非聚簇索引存放键和行地址。聚簇索引省去/IO时间,可以提高性能。
7.项目中非结构化数据向结构化数据的转化?答:(说了一下项目中数据的存储)
8.有多人在用你们的平台?你用轻型数据库,数据量大了怎么办?答:用的人少,不会产生大量的数据。
9.项目中最有成就感的工作。
10.我们这边C++用的少,更多的还是JAVA。在实习中,如果分配的任务不会怎么办?(意思就是不让你用C++,用JAVA开发,你不会,怎么办)答:分析任务需要用到的技术,根据技术难度分配合理的时间去分别学习。其实在实验室的项目刚来时就不会,一边看项目本身的代码,一遍学习任务用到的知识。(读代码真的是快速学习的好办法)
11.学校对实习的安排是怎么样的?
一共20分钟左右。
PS:简历技术那栏其实我就写了一句话。 熟悉C++,了解linux,了解MySql、Redis。
面试官手里有简历,不知道为什么没按简历问,可能是因为简历写得太简单了,不知道从哪入手问。其实我准备了很多数据库方面的东西,都没问到,除了聚簇索引。
总结
1.基础知识掌握好,特别是数据库,笔试选择题选择性放弃。
2.感觉农行挺注重编程能力的,多刷leetcode。
3.面试的话有项目就要准备好,数据库、操作系统和网络知识准备好。
嗯,就这样。不说了,该上班了。
全部评论
(8) 回帖