这场笔试来的很突如其来,本来只是去参加一场宣讲会,宣讲会结束直接就发笔试题目开始做了,当时什么也没带,还好从同学那里借来笔,虽说当时自己感觉做的挺不错的,但是过了好久也没收到面试邀约。不过,面试这东西吗,要随缘。
整张卷子并不是太难,只说一些稍微难一点的题目吧!
1.Callable和Future
- Callable是类似于Runnable的接口
- Callable定义的方法是call,而Runnable定义的方法是run
- Callable定义的方法可以有返回值,而Runnable的run方法不能有返回值
- Callable的call可抛出异常,而Runnable的run不能抛出异常
- Future
- Future表示异步计算的结果,它提供了检查计算是否完成的方法,以等待计算的完成,并检索计算的结果。
- Future的cancel方法可以取消任务的执行,它有一布尔参数,参数为 true 表示立即中断任务的执行,参数为 false 表示允许正在运行的任务运行完成。
- Future的 get 方法等待计算完成,获取计算结果
这里简单叙述一下区别,以及笔试怎么写,内部原理及其使用,请点击传送门:传送门
2.CyclicBarrier以及和CountDownLatch的区别
- CyclicBarrier
- CyclibcBarrier的线程运行到某个位置后即停止运行,直到所有的线程都到达这个点,所有线程才开始运行
- CyclibcBarrier是run方法不运行
- CyclibcBarrier只能唤起一个任务
- Future
- Future表示异步计算的结果,它提供了检查计算是否完成的方法,以等待计算的完成,并检索计算的结果。
- Future的cancel方法可以取消任务的执行,它有一布尔参数,参数为 true 表示立即中断任务的执行,参数为 false 表示允许正在运行的任务运行完成。
- Future的 get 方法等待计算完成,获取计算结果
这里简单叙述一下区别,以及笔试怎么写,内部原理及其使用,请点击传送门:传送门
3.快排
对于快排来说,应该现在处于校招的人,就算被也要背的滚瓜烂熟,当然还是希望大家可以理解其中的含义。市面上每种的快排算法都不一样,大家选择一种自己容易理解的就可以。
详细讲解及其源代码,请点击传送门:传送门
4.文件操作
给一个文件名和字符串,求文件中有多少个字样的字符串?
自己之前对于文件操作并不是非常的熟悉,主要还是区分InputStream和OutputStream和InputStreamReader和OutputStreamWriter。
详细讲解及其源代码,请点击传送门:传送门
文章为DavidHan原创,如果文章有错的地方欢迎指正,大家互相交流。