昨天去了浦发合肥信息总行科技部面试,总体来说,面试感觉还行,虽然也有几个问题没有回答出来,但机试考的不太理想,后来考完后听说比上几批机试难度要大一点,也有可能我太菜了。
考场考试跟平常还是不一样的,一是上机考试3道题50分钟,有时间紧迫感会让你的思维受阻,二是机试工具跟你跟你平时练习的不一样,敲代码不太习惯。所以平时还是注重多刷题,多总结!!!
考完出来后看见大多数人的表情不是很好,我同学也是下午面试,在我前一批上机,最巧合的是他考的题目跟我是一样的,上机前问了他一下题目,不过当时没太在意,就随便看了一下。(后悔的不行~~)所以可以推断出,浦发同一批的上午或者下午的机试题目是一样的。下面总结一下,记录自己从笔试到面试的整个过程吧。
2019.7.17 投的浦发提前批简历,简历填写还挺耗时的,填写的内容很详细(其中毕业时间一定要填正确,我是2020年毕业的,所以填2020.7)。可以投两个志愿。因为是系统研发招的人比较多,我当时投了两个岗,一个系统研发在合肥,一个创新方向在杭州。
2019.07.30,收到一份邮件通知,正式笔试前一天, 7月31参加在线模拟笔试。
2019.08.01 收到笔试通知。 笔试时间18:30~20:30 题量还是挺多的。不过说实话,历年笔试刷人真的很少,今年也是如此。
之前听宣讲会的时候还以为有金融题,提前没准备,还好正式考试时一题没有。反正笔试不用太担心,银行还是看重面试的。
2019.08.14 收到浦发面试通知。之前好多选择题都是蒙的,心里还是挺忐忑的。
2019.08.20 下午两点半去面试。首先先机试(好像机试跟面试不分先后,随机分配的)。听说上午机试的题目是字母转大小写,找出一个数中的偶数相加,用空瓶子换饮料。
1.几个回文数相加
例如: 给你一个整数2 ,输出回文数相加结果:1+121=?
输入整数3 ,输出回文数相加结果:1+121+12321=?
思路:1.先部分再整体:先算一个回文数,比如输入3,先计算12321
2.再加一个for循环,依次递减,相加。(时间复杂度有点高,有思路的同学欢迎提供更好的代码!)
public static Long addhuiwen2(int count){
String s="";
Long result =0L;
for(int a=1;a<=count;a++) {
int i = 1;
while (i < a) {
s = s + i;
i++;
}
for (int j = i; j > 0; j--) {
s = s + j;
}
result = Long.parseLong(s) + result;
s="";
}
return result;
}
2.输入两个整数M和N,输出两个数转化为二进制位不同的个数?
示例:输入:22 33 输出:5
思路1:每次都分别将这两个整型右移1位,然后取低位比较,计算不同的位数的个数.
思路2:先对这两个整型进行异或,然后利用小技巧计算1的位数.
/**每次都分别将这两个整型右移1位,然后取低位比较,计算不同的位数的个数:*/
public static int Bijiao(int m,int n){
int count = 0;
for(int i = 0;i<32;i++){
int a=m&1; // 位运算,取二进制的最低位
int b=n&1;
if(a!=b){
count++;
}
m>>=1;
n>>=1;
}
return count;
}
/**先对这两个整型进行异或,然后利用小技巧计算1的位数:*/
public static int Bijiao2(int m,int n){
int count=0;
int dif=m^n;//m和n进行异或操作得到dif结果,dif中1的位数就是m和n中不同的位数。
while(dif!=0){
dif&=(dif-1);// dif&=(dif-1)的作用是把dif中最右边的1变成0,
count++;
}
return count;
}
3.(这道题,其实是LeetCode上的,所以平时还得注重总结!! !)
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
示例 1:
输入: [“flower”,“flow”,“flight”]
输出: “fl”
示例 2:
输入: [“dog”,“racecar”,“car”]
输出: “”
思路:1.先找出字符创数组中,最短的字符串长度,以它为基准,这样其他比它长的字符创跟它之间肯定没有公共的部分
2.循环比较字符串的每一位,如果出现不同就输出。
public static String Chongfu(String[] as){
if(as.length==0||as==null){
return "";
}
if(as.length==1){
return as[0];
}
int len=as[0].length();
for(String s:as){
len=Math.min(len,s.length());
}
String str="";
for(int i=0;i
面试这个过程真的是很玄的一个东西。有时候你刚好准备的就是面试官所问的,那就是你的机遇。有时候你准备了很多,面试官却不问,那只能临场发挥了。
如果面试官对你所学的语言,或者项目不太熟悉时,他也不会问的太深,只能跟你划划水,这样导致面试官对你了解的不是太深,你也没有完全展现自己,感觉还是挺不利的。(所以投递岗位时,要选择好跟自己专业对口的最好)
我投的是研发岗,估计浦发内部研发岗也是用Java做的,所以问的还比较深。
面试流程:1.自我介绍 2.专业问题。针对简历和自我介绍提问 3.非专业问题 4.给你一道算法题。(我没有,看面试哪一组呢)
1.你除了投了这个岗位,有投过其他岗位吗?为什么投合肥的岗位?
好了,面试到这也结束了,至于结果,谁知道呢?人人处处是惊喜,当然还有惊吓。
过与不过都是一个经历,你只有不断经历,不断总结,才能越来越好!接下来的秋招,好好准备,好好刷题,记住,努力肯定会有收获的,一起好好加油吧!!!Fighting!!!