java面试总结
一家政府外包
线上面试直接A4纸上手写代码。
①集合相关API。
List list = new ArrayList();
{
add:添加单个元素
remove:删除指定元素
list.remove(0);删除第一个元素 l
ist.remove(true);//指定删除某个元素
contains:查找元素是否存在
size:获取元素个数
isEmpty:判断是否为空
clear:清空
addAll:添加多个元素
removeAll:删除多个元素
containsAll:查找多个元素是否都存在
void add(int index, Object ele):在 index 位置插入 ele 元素
Object get(int index):获取指定 index 位置的元素
int lastIndexOf(Object obj):返回 obj 在当前集合中末次出现的位置
}
集合类都可以用迭代器或者增强For循环遍历
②List集合如何去重
Stream流的Distinct().collect(Collects.toList);
LinkedHashSet 在new的时候构造器直接传入个LIST集合
然后再重新new一个ArrayList在构造器中把上面那个LinkedHashSet放进去。
这样就完成了去重。

==========================================================
项目中如何有一天端口突然被占用,如何处理?
这个我不会.....
============================================================
还有就是mysql基础语句。。我select写多了 其他忘记写了
============================================================
还有就是Map的Api。
无语了,不知道多久没用过了。
Map map = new HashMap();
map.put("1", "星期一");//k-v
map.put("1", "张三丰");//当有相同的 k , 就等价于替换
通过 get 方法,传入 key ,会返回对应的 value
map.get("1");
remove:根据键删除映射关系
map.remove("1");
size:获取元素个
isEmpty:判断个数是否为0
containsKey:查找键是否存在
Map的遍历
//所有键的set集合,然后增强For根据每个key,取出value
Set keyset = map.keySet();
//把所有的 values 取出 Collection values
map.values();
//第三组: 通过 EntrySet 来获取 k-v
Set entrySet = map.entrySet();// EntrySet<map.entry<k,v>>
===============================================
还问了后端传入参数校检
JSR-303
传入参数的时候 对需要检查的Bean的前面加个注解

还要添加个@ControllerAdvice
真是失败的一天!QAQ
浙公网安备 33010602011771号