某网络科技-2020-社招java在线笔试

某网络科技-2020-社招java在线笔试

技术题,时间2个小时,20道单选题,10道填空题
4道问答题

问答题1
给出一个排序的代码,补全其中的几行空缺代码

问答题2
分析String类的源码,编写它里面的equals方法

 /** The value is used for character storage. */
    private final char value[];

    public String(char value[]) {
        this.value = Arrays.copyOf(value, value.length);
    }
	
    public boolean equals(Object anObject) {
        if (this == anObject) {
            return true;
        }
        if (anObject instanceof String) {
            String anotherString = (String)anObject;
            int n = value.length;
            if (n == anotherString.value.length) {
                char v1[] = value;
                char v2[] = anotherString.value;
                int i = 0;
                while (n-- != 0) {
                    if (v1[i] != v2[i])
                        return false;
                    i++;
                }
                return true;
            }
        }
        return false;
    }
	
    public String(StringBuffer buffer) {
        synchronized(buffer) {
            this.value = Arrays.copyOf(buffer.getValue(), buffer.length());
        }
    }

    public String(StringBuilder builder) {
        this.value = Arrays.copyOf(builder.getValue(), builder.length());
    }

题3
分析synchronized和lock锁的区别

题4
题目描述了一个营销活动的系统,给出了其中
几张表的建表语句

问题1 分析一个建表语句中 有哪些字段的数据类型 定义得不合适
问题2 写一个查询SQL语句
问题3 该系统还应再增加哪些表?
问题4 应该设计哪些API供前端调用?(增删查改接口)

客观题部分,主要是一些概念性的题目,题目比较简短,考查的范围比较广

常见的对称加密算法 和非对称加密算法有哪些?
二分法查找
栈的入栈和出栈顺序
模板方法设计模式

对一个类原有的功能进行扩展,属于什么设计模式?
装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,
同时又不改变其结构。这种类型的设计模式属于结构型模式,
它是作为现有的类的一个包装。这种模式创建了一个装饰类,
用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。

在不修改原有类的基础上进行扩展功能,可代替继承。
特别适合对一些 jar 包或者不能修改源代码功能的扩展。
如果多装饰几次,就会变得无比的麻烦,可参考 Java IO 的实现方式。

链接:http://pipe.b3log.org/blogs/Pleuvoir/articles/2018/03/31/1522467650355

servlet、response
ajax
XMLHttpRequest

方法的重载 和覆写
虚拟机
事务

你可能感兴趣的:(笔试题,java,java,后端)