java map多线程_跳槽高峰期,一些你需要的Java面试知识(一)

又到了每年码友们换工作的高峰期,如何掌握面试技巧、以及面试会问哪些内容,是每个程序员都应该具备的技能。小编从网上搜寻了一些Java服务端开发面试可能会问到的题目加以汇总,希望对大家有所帮助。

e64bddca023280cbc5a8ae7a8a40a252.png

面试季

自我介绍

面试的第一个环节都是自我介绍,言简意赅,搞技术的人不需要花里胡哨,不重要的地方不需要花费太多时间,以免产生不好的映像。

feb6a91880bb0d3c4e94d95e4784405e.png

自我介绍

数据库

所有技术面试都会问到数据库内容,让你介绍Mysql、Oracle等特性,对于不同数据库之间的特点,这些都是老生常谈,从百度百科上背一些即可。

往下会问题到SQL的内容,比如左连接和右连接的区别,这种书本上的问题用一句话来回答即可:数据检索时,以左/右表为基础表,当左/右表有数据时才会检索出数据。

接下来可能还会问到数据库的索引,索引的概念,索引如何工作的,以及索引的利与弊。

数据库的视图也是一个知识点,为什么要用视图,视图的利与弊。现在大部分IT企业为何不用视图,为何视图难以维护等,这些问题都需要了解。

接着考官可能会问一些数据库的函数,如取最大值的max函数、按组连接的group_concat、时间格式化date_format等,一些常用的函数要牢记于心,起码面试前要记在自己的小本本上。

最后一个点是必问的,数据库的优化。当一个sql执行效果不佳,如何来优化?explain函数产生的结果如何分析?这些面试前一定要准备好,起码百度上看一下。

f962d20b6186372fdd9c5fbc3b9b930f.png

数据库

Java核心

这块内容就海了去了,也没必要记太多,知道一些常用的知识点其实就够了。

面试倍问题目最多的可能要数这个:数组、List、map的区别?这个问题即使是有五年工作经验的人,不提前准备下也很难回答的好。数组是固定长度的,list不固定,map是基于key-values进行映射的。访问元素数组可以通过下标访问,list需要遍历,map可以通过Key值获取map的values。在往深层次的说,就涉及到源码了,作为一个没仔细看过源码的人,就不在此BB了。

线程,这也是面试必问知识点。线程的含义,百度百科了解下。线程的实现方式:继承Thread类;实现Runnable,然后重写run方法;通过Callable和Future创建线程。第三种实现方式比较少见,但这是加分点。同时不同创建方法的区别:一个类只能继承一个父类,如果已经继承了Thread,就无法继承其他的了,所以一般用Runnable;使用Runnable可以避免点继承的局限,一个类可以继承多个接口。

Callable和Runnable比较相似,但运行Callable任务可以拿到一个Future对象,表示异步计算的结果。它提供了检查计算是否完成的方法,以等待计算的完成,并检索计算的结果。通过Future对象可以了解任务执行情况,可取消任务的执行,还可获取执行结果。这三者各有优缺点,真的要聊清楚,可能要写一本书。

既然谈到了线程,就不得不说多线程。多线程的实现方式,每种实现方式的利与弊,如何根据业务来使用不同的实现方法,如何根据虚拟机的性能来优化Tomca使得更好的使用多线程,多线程能说的内容会更多。

21e51bd487f35a39b2ddadcf882f5a27.png

JavaCore

由于篇幅有限,剩下的内容下次再说吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值