无论到哪,什么天气,记得带上自己和阳光。
笔试时间:2020年9月25日 下午3:00 - 5:00 (时间还算充足)
考试题型:选择题 20*2 不定项选择10*2 编程题2*20
一、填空题知识点
1. try - catch - finally
function foo(){
try{
return 0;
}catch(err){
return 1;
}finally{
return 2;
}
}
2. 解决死锁的算法 -- 银行家算法
3. OSPF的hello报文
4. 进程通信的方式(8种)
5. 改变原数组的操作
6. 哪些有prototype
7. 伪元素
8. 8个球最少称几次得到不同重量的球
9. 从(0,0)到(m,n)只能向右上走,一共几条路
10. TCP和UDP区别
11. 页面置换算法
12. input的type有哪些
13. 看程序说输出
var arr=[1,2,3,4,5];
var result=[];
for(var i=0;i<arr.length;i++){
result.push(arr[i]);
if(i===2){
arr.splice(i,1)
}
};
console.log(result);
// [1,2,3,5]
const arr=['a','b','c'];
delete arr[1];
console.log(arr)
// VM1069:1 Uncaught SyntaxError: Identifier 'arr' has already been declared
var test ="test";
function fn(){
console.log(test);
var test ="hello";
console.log(test);
}
fn();
// undefined hello
二、编程题收录
1. 青蛙跳台阶
一只青蛙一条腿,啊呸,错了错了。一只青蛙一次可以跳上一级台阶,两级台阶,...n级台阶,求该青蛙跳上一个n级台阶一共做少种跳法。
思路:递归,公式:f(n) = f(n-1) + f(n-2) +....+f(2) + f(1) +1 通过
import java.util.Scanner;
public class Frog {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int res=frog(a);
System.out.println(res);
}
public static int frog(int n){
int sum = 1;
if(n==1){
return 1;
}else if(n==2){
return 2;
}else {
for(int i= n-1;i>0;i--){
sum = sum + frog(n-i);
}
return sum;
}
}
}
2. 零件加工
一个车窗能加工10种零件,用0到9代表10种零件。现在用一数组表示需要加工的零件,加工顺序可以任意。每个零件都在一个单位时间完成。加工两个相同的零件需要间隔时间n,(0<n<20)。计算完成加工的最短时间。
如:输入:[1,1,1,2,3,3,3] n=2, 最优加工顺序为:1,2,3,1,3,(等),1,3 输出:8