博主前天做了三七互娱的web后端工程师方向的笔试,下面的链接为笔试后的总结:
https://blog.csdn.net/applying/article/details/80587129
然后第二天就被通知参加今晚的java服务端程序的笔试,目测第一个笔试是跪了,所以才被通知写第二个,em,还是太菜了
Java服务器程序的笔试,与web后端工程师方向的笔试都是一小时,题量都不多,java的只有21个题,14个单选,以及7个不定项选择,没有编程,内容涵盖java的各个方法,继承、多态、多线程、集合类、装箱,以及像数据结构,概率,操作系统的死锁判断等。总结其中的几个问题:
1.判断一个数为2的n次方
- 有刷过算法题的朋友都知道,如果一个数为2的 n 次方,它的二进制表示中,只有一个数位为1,所以将问题转换为是否一个数的二进制只有一个1
- 而判断方法很简单,利用 n & (n - 1),如果 n 的二进制只有一位1,则(n - 1)与 n 的二进制表达中没有一位是相同的,两者&运算的结果为0
2.求复杂度,有4个选项,n,n 的 n 次方,2 的 n 次方
public int Fibonacci(int n) {
if (n <= 0) {
return 0;
}
if (n == 1) {
return 1;
}
return f(n - 1) + f(n - 2)
}