本人是二本非科班应届生,自学的java,菜鸟一只,还请各位大佬多多指正。
笔试题全部是手写。个人手撸代码能力十分辣鸡。所以有思路但是可能并没有答对。
笔试的时候我看见好几个人拿着手机在百度,我表示一脸懵逼,然而我还是很自觉的写完交了。
ps:我问了hr什么时候出结果,她说当天出,所以我已经凉凉了。
1、接口抽象类的区别(比较简单,我就不写了)
2、补全二分法查找(同上题)
3、有n个service服务器,url={url1,url2…urln}请你设计一个调度算法,实现负载均衡
本人的思路是将这些url写在配置文件中,使用一个数组(list)来存放。通过原子类整型来定位url的位置,然后返回。
不知是否可行,大佬多多指教。
4、某电商需求,设计一个订单表,要求有处理优先级,在分布式高并发下,只允许有一个线程对某一个订单进行操作,并且优先级高的先被处理。使用数据库或者Redis实现该需求,如何实现,使用什么数据类型,怎么设计表结构,谈谈你的看法。
此题还请大佬指导
5、sql查询 table(id,name,age,amount,date),对应(id,姓名,年龄,使用流量,日期),要求查询出年龄在18-25岁之间,且使用总流量超过5000G的用户信息。
select id,name,age,sum(amount) sum_amount
from table
where age between 18 and 25
group by id
having sum_amount > 5000
6、抽象类A有一个方法public void talk(),普通类B有一个方法public void say(),写一个类C即要有A类的属性特征有可以调用B类的say()方法。
//这是我写的答案,不知道符不符合
class C extends A{
B b = new B();
public void say(){
b.say();
}
}
7、日志信息统计,用户访问信息日志格式为"user123||2019-06-18 12:13:14",统计一天中每个小时访问的用户数,日志文件(usr/log.txt)。
package com.junjie.quickstart.testLog;
import org.junit.Test;
import java.io.*;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
public class TestLog {
@Test
public void testLog() throws Exception{
File file = null;
BufferedReader reader = null;
//使用map来存储数据,key为时间段,Set来存放用户名的hashCode,set的大小即为该时间段的访问人数。
//使用set的原因是可以去重
Map> map = new HashMap>();
try {
file = new File("D:/log.txt");
reader = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
String s;
while (reader.ready()) {
s = reader.readLine();
System.out.println(s);
//这里需要将"||"进行转义,不然得不到理想的结果
//我做题的时候也不知道要转义,回来之后写的代码。
String[] split = s.split("\\|\\|");
String key = split[1].substring(0, 13);
Set set = map.get(key);
if( set == null){
HashSet newSet = new HashSet();
newSet.add(split[0].hashCode());
map.put(key,newSet);
}else{
set.add(split[0].hashCode());
}
}
//遍历打印结果,这里应为使用的是map打印出来时无序的,也可以使用list的到有序的结果,
// 或者对hashMap进行排序
for(Map.Entry> e : map.entrySet()){
System.out.println(e.getKey() + "时的访问人数是" + e.getValue().size());
}
}finally {
if(reader != null ){
reader.close();
}
}
}
}
1、和java中的覆盖有点相似的选择题。
2、隐藏document中name="test"的所有元素
function f() {
var elements = document.getElementsByName("test");
for (var i = 0; i < elements.length; i++) {
elements[i].hidden = true;
}
}
3、数组去重[1,2,3,4,2,4]–>[1,2,3,4]
var arr = [1,2,3,4,2,4,5];
var result = [];
for (var i = 0; i < arr.length ; i++) {
if(result.indexOf(arr[i]) < 0){
result.push(arr[i]);
}
}
console.log(result);