java最新面试知识点
java最新面试题
1.什么是值传递,什么是引用传递?为什么说java只有值传递
https://blog.csdn.net/Marlboro8023/article/details/84833685

2.Spring的基于注解与基于xml,自定义注解
https://blog.csdn.net/Marlboro8023/article/details/84940456

3.Spring IOC与AOP
https://blog.csdn.net/Marlboro8023/article/details/84944168

4.Mysql建库建表注意点
https://blog.csdn.net/Marlboro8023/article/details/84944472

5.mysql默认的规则分不分大小写?比如存储明文密码分大小写吗?
MySql默认查询是不区分大小写的,如果需要区分,必须在建表的时候,Binary标示敏感的属性.
CREATE TABLE NAME(
name VARCHAR(10) BINARY
);

6.Mysql外键相关问题
https://blog.csdn.net/Marlboro8023/article/details/84952581

7.mysql三个字段的联合索引a、b、c,只传ab或者bc会用得到吗?
mysql建立多列索引(联合索引)有最左前缀的原则,即最左优先,如:
如果有一个2列的索引(col1,col2),则已经对(col1)、(col1,col2)上建立了索引;(只有这两种情况用得到)
如果有一个3列索引(col1,col2,col3),则已经对(col1)、(col1,col2)、(col1,col2,col3)上建立了索引;
所以 对a、b、c建立联合索引的话,只有 传入a;a,b;a,b,c才用得到
总结:
1、b+树的数据项是复合的数据结构,比如(name,age,sex)的时候,b+树是按照从左到右的顺序来建立搜索树的,比如当(张三,20,F)这样的数据来检索的时候,b+树会优先比较name来确定下一步的所搜方向,如果name相同再依次比较age和sex,最后得到检索的数据;但当(20,F)这样的没有name的数据来的时候,b+树就不知道第一步该查哪个节点,因为建立搜索树的时候name就是第一个比较因子,必须要先根据name来搜索才能知道下一步去哪里查询。

2、比如当(张三,F)这样的数据来检索时,b+树可以用name来指定搜索方向,但下一个字段age的缺失,所以只能把名字等于张三的数据都找到,然后再匹配性别是F的数据了, 这个是非常重要的性质,即索引的最左匹配特性。(这种情况无法用到联合索引)

8.mysql的like语句注意事项?
%号不放最左边等 https://blog.csdn.net/UFO___/article/details/81164996
也可以使用locate函数或者position函数代替like查询:
如table.field like '%AAA%'可以改为locate(‘AAA’, table.field) > 0或POSITION(‘AAA’ IN table.field)>0

9.索引有哪几种?索引的数据结构是什么?
索引分类:https://www.cnblogs.com/luyucheng/p/6289714.html
附加说明:
①在索引全文本数据时,短词被忽略且从索引中删除(短词定义为3个或3个以下字符的词:如果需要可以更改);

②MySQL带有一个内建的非用词(stopword)列表,这些词在索引全文本搜索时总被忽略(如果需要,可以覆盖这个列表);

③MySQL50%规则:如果一个词出现在50%以上的行中,则将它作为一个非用词忽略;50%规则不用于in boolean mode;(上面博客例子关键词换成MYSQL一直没有结果…就是这个原因)

④如果表中的行数少于3行,则全文本搜索不返回结果;

⑤忽略词中的单引号,例如don’t索引为dont;

⑥不具有词分隔符的语言不能恰当的返回全文本搜索结果;

索引的数据结构:B-Tree 详解:https://www.cnblogs.com/tgycoder/p/5410057.html

10.mybatis 插入一批数据(比如一个list)在 xml怎么写?
可以用foreach标签https://blog.csdn.net/windy2014s/article/details/78738004

11.Redis缓存和Mysql数据库不一致问题
https://blog.csdn.net/thousa_ho/article/details/78900563
(好像是个很复杂的问题 可以多查些资料)

12.遍历数组(ArrayList)的时候删除一条记录怎么做?删除的时候有什么注意事项?
我们知道ArrayList的底层是用数组实现的,如果你删除了其中一个元素,那么后边的元素都会向前移动。所以在遍历时如果删除元素,就要小心了。

第一种方法,用数组下标进行遍历,如果需要删除元素,我们从后向前遍历,这样不论有没有元素删除,我们都不会遗漏未被遍历的元素。

第二种方法,我们使用迭代器。

Iterator itr = list.iterator();
while(itr.hasNext()) {
if(…) {
itr.remove();
}
}

如果你的删除操作比较多的话,建议使用LinkedList。
参考:https://blog.csdn.net/hnyzwtf/article/details/53022573
关于ArrayList删除讲的很好的一篇文章:http://www.cnblogs.com/huangjinyong/p/9455163.html
java最新面试题

相关文章:

  • 2021-12-10
  • 2021-05-04
  • 2022-02-20
  • 2021-10-18
  • 2021-11-24
  • 2021-10-14
  • 2021-07-16
  • 2021-09-30
猜你喜欢
  • 2021-06-17
  • 2021-11-23
  • 2021-05-23
  • 2021-12-06
  • 2022-12-23
  • 2022-02-09
  • 2021-05-17
相关资源
相似解决方案