底层的小开发遇到的面试问题(

http://blog.csdn.net/a296777513/article/details/73610719  仰望这位大神,以后学习完知识点都好好总结下)

先简单记住,然后在整理。

1、集合

1.1 ArrayList怎么转set:

List<String> result = new ArrayList<>(staffsSet);

Set result = new HashSet(staffsList);

数组、list、set都可以直接互转。

1.2 arraylist和linkedlist的区别:

ArrayList是实现了基于动态数组的数据结构,线性结构存储,获取很快,但是增删很慢。

LinkedList基于链表的数据结构,是使用双链表实现的。链式结构有指针,不是线性存储。获取慢,但增删很快。

1.3 hashtable与hashmap的区别?

链接:  http://blog.csdn.net/fujiakai/article/details/51585767

HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长。

HashMap是非线程安全的,只是用于单线程环境下,多线程环境下可以采用concurrent并发包下的concurrentHashMap。

HashMap 实现了Serializable接口,因此它支持序列化,实现了Cloneable接口,能被克隆。

1.4 hashMap实现原理

链接: http://blog.csdn.net/qq_27093465/article/details/52209814

链接:https://www.cnblogs.com/chengxiao/p/6059914.html

上面两位大神写的不错,简单易懂。

2、spring

2.1 spring的AOP与IOC

IOC依赖注入和AOP面向切面编程,这两个是Spring的灵魂。

IOC:所有的类的创建、销毁都由spring来控制,也就是说控制对象生存周期的不再是引用它的对象,而是spring。对于某个具体的对象而言,以前是它控制其他对象,现在是所有对象都被spring控制,所以这叫控制反转。

BeanFactory factory = new XmlBeanFactory(new ClassPathResource("root.xml"));

TestBean bean = factory.getBean("testBean");

上面这样的简单代码其实在spring中执行了太多太多的逻辑。推荐《Spring源码深度解析》。

AOP(Aspect Orient Programming),我们一般称为面向方面(切面)编程。一般用在事务管理、日志、缓存等等。AOP实现的关键在于AOP框架自动创建的AOP代理,AOP代理主要分为静态代理和动态代理,静态代理的代表为AspectJ;而动态代理则以Spring AOP为代表。

JDK动态代理和CGLIB动态代理。JDK动态代理通过反射来接收被代理的类,并且要求被代理的类必须实现一个接口。JDK动态代理的核心是InvocationHandler接口和Proxy类。

如果目标类没有实现接口,那么Spring AOP会选择使用CGLIB来动态代理目标类。CGLIB(Code Generation Library),是一个代码生成的类库,可以在运行时动态的生成某个类的子类,注意,CGLIB是通过继承的方式做的动态代理,因此如果某个类被标记为final,那么它是无法使用CGLIB做动态代理的。

链接:http://www.importnew.com/24305.html

3、mybatis中#和$的区别

 #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111", 如果传入的值是id,则解析成的sql为order by "id".
#方式能够很大程度防止sql注入
$方式一般用于传入数据库对象,例如传入表名。
MyBatis排序时使用order by 动态参数时需要注意,用$而不是#。
$方式无法防止Sql注入
一般能用#的就别用$

4、sleep与wait的区别

5、线程池的概念

6、Oracle存储过程与函数的区别

7、JVM

8、MySQL的数据引擎

Java底层小开发的面试经历相关推荐

  1. Java开发实习生面试经历与总结

    Java开发实习生面试经历与总结 更新日期:2020年1月1日 一.引言--初生牛犊不怕虎 2019年 我是从大二暑假开始,正式进入Java的学习.大二上学期的时候,学校开设了只有11周的Java程序 ...

  2. think in java interview-高级开发人员面试宝典(二)

    think in java interview-高级开发人员面试宝典(二) 分类: 面经2013-08-05 00:4318634人阅读评论(58)收藏举报 目录(?)[+] 从现在开始,以样题的方式 ...

  3. java开发工程师面试经历

    实习生面试公司 小肚皮App(失败) 面试步骤 : 笔试和技术面试 面试经历 : 首先是上机测试, 总共有三个编程题, 都是和二维数组相关的, 随机取出二维数组总的数, 不可以重复. 我没有写出来,由 ...

  4. java开发面试复试_java开发实习生面试经历

    这是我第一次写博客,以前都是查看别人的博客分享学习技术,转眼间我也成为其中一员.从一位初学者到现在的开发实习生,不断前进着,跟随时代的脚步在程序的海洋里漂泊,也意识到自己的各种不足,但我还年轻,头还没 ...

  5. think in java interview-高级开发人员面试宝典(一)

    "生死六重门" 无论你是在职,非在职,高级工程师,工程师,架构师,如果你正在面试阶段,请看完此文! 相信这篇文章对你的职业生涯和阶值观会造成重大的改变! 如果你是一名PM或者是管理 ...

  6. JAVA培训班出来之后的面试经历

    周末就不分享技术了,分享一位同学从培训班出来之后的面试经历. 下面是正文. 个人情况 本人化工专业毕业,专科学历.经过某培新机构转行做 java.刚培训出来,经过培训机构的推荐到一家公司就职三个月(转 ...

  7. CVTE 2018年暑期 嵌入式应用开发实习生 面试经历

    错过了CVTE 2018年 暑期实习生的招聘,参加的是在这之后的内推,还是蛮幸运的,从4月中旬投简历到5月中旬也是顺利的通过了所有的面试,现在把面试的经验分享给大家,希望对大家有帮助. 简历筛选 自己 ...

  8. 7年老Java一次坑爹的面试经历,鸟哥的linux私房菜

    前言 高并发,几乎是每个程序员都想拥有的经验.原因很简单:随着流量变大,会遇到各种各样的技术问题,比如接口响应超时.CPU load升高.GC频繁.死锁.大数据量存储等等,这些问题能推动我们在技术深度 ...

  9. 网易测试开发岗面试经历

    貌似是部门直招,可能是小组负责人直接来面的我吧. 1. 自我介绍 2. 介绍项目 3. Java会不会 4. 手写一个返回链表中点的算法(我当时愚蠢了...没想起来用快慢指针,而是蠢蠢的遍历了两遍) ...

最新文章

  1. ubuntu16.04安装opencv3.4.1教程
  2. Spring4-@Configuration的使用
  3. Google工程师:如何看待程序员普遍缺乏数据结构和算法知识?
  4. 在 Go 语言中 Patch 非导出函数
  5. JDBC登录功能实现
  6. 1-1docker加速器
  7. 三星Galaxy S21 FE即将量产:8月登场 小屏满血旗舰!
  8. 梯度投影算法 matlab,梯度投影法及其Matlab实现
  9. python自动化办公模块有哪些-Python 自动化办公|Word文档
  10. 【Python】使用Labelme标注自己的数据集并由json生成Ground Truth
  11. FastStone Capture——轻量级长截屏软件
  12. python几次方_Python中表示某个数几次方的方法
  13. CNN英文垃圾邮件分类(数据预处理)
  14. 修改html2canvas生成图片的dpi
  15. 计算机专业的创新方向和创业情况,计算机专业创新创业教育模式探究
  16. 百度网盘批量重命名文件免费脚本---2020.07
  17. 以哥德尔命名的哥德尔数——哥德尔拆解汉译之四
  18. 设备通过国标GB28181协议接入EasyCVR,报错“504 Gateway Time-out”是什么原因?
  19. 中创算力丨七夕抬头望碧霄,喜鹊双双拱鹊桥
  20. 斗鱼平均热度最高是正能量,想不到吧~~

热门文章

  1. “超人”为什么最后1秒拯救地球?
  2. 重装战姬服务器正在维护,《重装战姬》4月23日更新维护公告
  3. 失传万年的PS致富经典(一)
  4. 每天自学3~4小时java,一年后能到什么程度
  5. 『玩转Mybatis』Mybatis超强大的动态SQL大全
  6. Java版数据结构之单向链表 新增,有序新增的两种方式,修改和删除(CRUD)
  7. 工业界和学术界最大区别是什么?
  8. Redis命令:scan实现模糊查询
  9. 上海升级为欧莱雅集团北亚区总部;西门子与太古可口可乐将共同打造18座数字化工厂 | 美通企业日报...
  10. 计时函数clock()与数据类型clock_t