一般情况下,主要有以下知识点很容易被问到。(PS:以下所列举的,都是一些Java相对而言比较高级一点的知识点,因为这里谈的是社招,而不是校招)

1)Java的数据结构相关的类实现原理,比如LinkedList,ArrayList,HashMap,TreeMap这一类的。以下简单模拟一个数据结构的连环炮。

比如,面试官先问你HashMap是不是有序的?

你肯定回答说,不是有序的。那面试官就会继续问你,有没有有顺序的Map实现类?

你如果这个时候说不知道的话,那这个问题就到此结束了。如果你说有TreeMap和LinkedHashMap。

那么面试官接下来就可能会问你,TreeMap和LinkedHashMap是如何保证它的顺序的?

如果你回答不上来,那么到此为止。如果你依然回答上来了,那么面试官还会继续问你,你觉得它们两个哪个的有序实现比较好?

如果你依然可以回答的话,那么面试官会继续问你,你觉得还有没有比它更好或者更高效的实现方式?

如果你还能说出来的话,那么就你所说的实现方式肯定依然可以问你很多问题。

以上就是一个面试官一步一步提问的例子。所以,如果你了解的不多,千万不要敷衍,因为可能下一个问题你就暴露了,还不如直接说不会,把这个问题结束掉,赶紧切换到你熟悉的领域。

2)Java并发包当中的类,它们都有哪些作用,以及它们的实现原理,这些类就是java.concurrent包下面的。与上面一样,咱们也简单的模拟一个并发包的连环炮。

比如面试官可能会先问你,如果想实现所有的线程一起等待某个事件的发生,当某个事件发生时,所有线程一起开始往下执行的话,有什么好的办法吗?

这个时候你可能会说可以用栅栏(Java的并发包中的CyclicBarrier),那么面试官就会继续问你,你知道它的实现原理吗?

如果你继续回答的话,面试官可能会继续问你,你还知道其它的实现方式吗?

如果你还能说出很多种实现方式的话,那么继续问你,你觉得这些方式里哪个方式更好?

如果你说出来某一个方式比较好的话,面试官依然可以继续问你,那如果让你来写的话,你觉得还有比它更好的实现方式吗?

如果你这个时候依然可以说出来你自己更好的实现方式,那么面试官肯定还会揪着这个继续问你。

为什么说面试的时候要引导面试官,原因就在这了。

因为面试官的提问很多时候都是有迹可循的,你如果抓住了他的轨迹,能够猜到他下面很可能会问什么,那你在回答的时候就可以往你想要谈的方向去说。这样面试时就会显得更加从容,更加的游刃有余。

3)IO包和NIO包中的内容。这部分里面NIO会是重点,IO包大部分都会比较熟悉,因此可能会直接略过,直接问你NIO的内容。

IO包和NIO包的内容相对来说不是很多,首先NIO模型要熟悉,特别是其中的selector一定要非常清楚它的职责和实现原理。其实NIO的核心是IO线程池,一定要记住这个关键点。有的时候,面试官可能也会问你IO包的设计模式(装饰器模式),为什么要这样设计?

有的面试官还会问你有没有更好的设计,这个时候如果你不知道请果断说自己现在的水平有限,想不出来更好的设计,千万不要信口开河,随意YY。

4)Java的虚拟机的内容。这部分主要包括三部分,GC、类加载机制,以及内存。一个GC部分简单的连环炮。

面试官可以先问你什么时候一个对象会被GC?

接着继续问你为什么要在这种时候对象才会被GC?

接着继续问你GC策略都有哪些分类?

你如果说出来了,继续问你这些策略分别都有什么优劣势?都适用于什么场景?

你继续说出来了以后,给你举个实际的场景,让你选择一个GC策略?

你如果选出来了,继续问你,为什么要选择这个策略?

下面是关于类加载机制的简单连环炮。

首先肯定是先问你Java的类加载器都有哪些?

回答了这些以后,可能会问你每个类加载器都加载哪些类?

说完以后,可能会问你这些类加载之间的父子关系是怎样的?

你在回答的时候可能会提到双亲委派模型,那么可以继续问你什么是双亲委派模型?

你解释完了以后,可能会继续问你,为什么Java的类加载器要使用双亲委派模型?

你回答完以后,可能会继续问你如何自定义自己的类加载器,自己的类加载器和Java自带的类加载器关系如何处理?

再来一个关于内存的连环炮。

首先肯定就是问你内存分为哪几部分,这些部分分别都存储哪些数据?

然后继续问你一个对象从创建到销毁都是怎么在这些部分里存活和转移的?

接着可能会问你,内存的哪些部分会参与GC的回收?

完事以后,可能还会问你Java的内存模型是怎么设计的?

你回答了以后,还会继续问你为什么要这么设计?

问完以后,还可能会让你结合内存模型的设计谈谈volatile关键字的作用?

你在谈的时候,肯定会提到可见性,那么接着可见性这三个字,还可以继续问你并发的内容。

基本上Java语言本身以及语言稍微高级点的内容就是以上部分,如果你能把以上四部分了解的非常透彻,那基本上Java这部分就没啥问题了,因为光以上的内容就够你跟面试官聊很久了。你聊这些聊得久了,自然问你其它问题的时间就会短点。

你从我写的这些问题的过程也应该能感受出来,很多时候,面试官都是顺着一条线一路问下去的,如果你觉得这条线你不熟悉的话,就要及时拐弯,引导面试官去问其它方面的问题。千万不要一直往下深入,直到自己跳不出来为止,那就尴了个尬了。

讲述自己的项目,并在中间穿插着问题

这一部分是面试过程中必问,也是聊得最久的一个阶段。除非你前面的语言部分非常扎实,扎实到面试官问了一两个小时,依旧没有探出你对语言本身的了解到底有多深。否则的话,你一定逃不过自己的项目这一关,而且一般情况下聊得时间不会太短。

这一部分内容,一般的模式就是你自己去讲你做过的项目,然后面试官会冷不丁的让你去解释其中某一部分,比如让你解释当时为什么要这么做,或者问你现在觉得有没有更好的办法。

而这些穿插的问题,大部分与你的项目所用到的技术有关。而你需要做的,就是充分、再充分的去总结自己做过的项目(尤其是最近的一两个项目),挖掘出一个甚至N个亮点,以备于到时候可以让面试官产生眼前一亮的感觉。如果你能达到这种效果的话,基本上离你成功就不远了。

额外的加分项

上面两个阶段基本上是必问的,还有一些加分项。

这些加分项中,有些内容面试官也会问你(比如TCP/IP协议、算法),但更多的是会先问你了解不了解,你了解的话再继续聊,不了解的话就直接略过了,不至于因为这种问题而直接把你打入地狱。

列举一下这些加分项,如果可以的话,这些加分项还是要争取一下的。

1、计算机系统原理。

2、网络通信协议(TCP/IP,HTTP等)。

3、数据结构与算法。

4、著名开源项目的源码。

5、你自己有很棒的开源项目。

6、你的个人博客。

END

java社招是什么_java社招怎么准备相关推荐

  1. Github获星99k的Java面试八股文,最全秋招面试攻略

    Github获星99k的Java面试八股文,最全秋招面试攻略 2020年我凭借一份<Java面试核心知识点>成功拿下了阿里.字节.小米等大厂的offer,两年的时间,为了完成我给自己立的f ...

  2. 计算机社团宣传招新活动方案,社团招新策划书范本及活动方案

    社团招新策划书范本及活动方案 新的学期,新的开始,在社团招新活动开始前,如何写策划书呢?以下是小编为大家提供的社团招新策划书范本,供大家参考借鉴! 社团招新策划书范本(一):青年志愿者协会 一.招新目 ...

  3. 计算机专业银行春招,哪些银行有春招

    银行春招是秋招的补录,一般因为考生素质.人员变动以及考虑到春季还有不少考研考公等失败的应届生,多数银行除了秋招还会有春招.一般大型银行在春季都会有招聘,如农行.建行.浦发银行等,部分城市银行和农信社可 ...

  4. 招银科技2018春招线上笔试题

    招银科技2018春招线上笔试题 文章目录 招银科技2018春招线上笔试题 专业知识 1.选择题(30道) 2.简答题 (1道) 3.数据库题(4道) 4.算法题(2道) 心理测试(100道) 总结 专 ...

  5. 单招考试计算机专业大概分数线是多少,单招分数线一般多少 单招分数怎样算...

    单招分数线一般多少 单招分数怎样算2018-10-06 08:11:03文/丁雪竹 有很多的同学是非常想知道,单招分数线一般多少,单招分数怎样算,小编整理了相关信息,希望会对大家有所帮助! 单招一般多 ...

  6. java调节音量代码_用Java调用VC音量控制程序_java

    前言 本文通过java的Runtime接口来实现调用其他语言实现的应用程序,进而来实现对计算机硬件信息的监控和控制.本文是多媒体信息系统的一个部分,就是调整计算机音量. 使用VC编写音量控制程序 本控 ...

  7. 技校考大专单招计算机考试,高职单招题简单吗 单招一般考什么科目

    想要参加高职单招的同学目前正在积极备考,那么,考生们可以做什么准备呢?高职单招的题目简单吗?下面和小编一起来看看吧! 高职单招题目难吗 一.单招相对于普通高考来说:单招考试题比较简单,单招文化考试主要 ...

  8. 西南交通大学计算机学院,西南交通大学2021年招生计划:四川招1830人、重庆招426人...

    西南交通大学创办于1896年,1964年唐山铁道学院迁至四川峨眉,1972年更名为西南交通大学,1989年总校迁移至成都,峨眉后来成为校区,目前西南交形成了"一校.两地.三校区"的 ...

  9. 兆骑科创创客大赛,招商引资,招才引智,招企引税

    兆骑科创创客大赛,招商引资,招才引智,招企引税 兆骑科创平台采用大数据.智慧智能等新兴技术理念和互联互享等先进产业模式,有效整合优质创投资源,为创新企业和活动主办方提供创投.品宣.政讯.资源等全产业链 ...

最新文章

  1. android在线切图工具,9Cut切图工具
  2. linux sudo漏洞 可导致用户以 root 权限运行命令
  3. Excel 2010单元格中设置表头
  4. Java操作控制台的命令
  5. Css 特殊或不常用属性
  6. ClickHouse留存、路径、漏斗、session实战
  7. 01_ExtJS_HelloWorld
  8. java怎么模拟rfid_如何使用RFID阅读器获取RFID标签上印刷的序列号?
  9. js获取浏览器的宽度和高度
  10. java.lang.NoClassDefFoundError: org/jaxen/JaxenException
  11. Java零基础学习-API每日单词(日更)
  12. android自动秒杀脚本,京东自动秒杀脚本手机版-京东自动秒杀脚本安卓版下载v7.0.4 - 7230手游网...
  13. 理解ARC在Objective-C中的应用
  14. 2022细胞生物学实验原理复习资料汇总
  15. 获取post请求的几种常见方式
  16. 孙源面试题试解(更新完毕)
  17. 从寻找谷神星的过程,谈最小二乘法实现多项式拟合
  18. 网络设备构成及管理方式
  19. 全栈之路-前端篇 | 第三讲.基础前置知识【前端标准与研发工具】学习笔记
  20. musicbee歌词_MusicBee是快速而强大的音乐管理器

热门文章

  1. EXTJS系列笔记—实现 grid.ColumnModel 中每行后面的操作按钮
  2. Flutter耳返和双声道功能的实现
  3. 数字万用表在自动测试系统中的广泛应用
  4. json转为tfrecord格式文件怎么转_mkv转avi需要用到什么软件?-装修攻略
  5. Matlab R2018b 安装时提示【弹出DVD1 并插入DVD2】 解决办法汇总
  6. Sublime Text3使用指南
  7. 移动硬盘启动的PE系统的制作教程
  8. 杰里之带数码管显示屏,写 VM 导致屏闪的问题解决方法【篇】
  9. my sql 触发器_在表中创建触发器 (SQL)
  10. ABAP 固定资产报废的BAPI