Java基础:
1:八大基本数据类型,及所占字节数?


2:讲下对面向对象的理解?

特征:封装、继承、多态;  基础:抽象

面向对象,主要就是将现实中的对象抽象成一个类,这个对象具有一定的属性和行为,面向对象的主要目的,就是为了实现程序的可扩展性和可维护性。

面向对象的特征主要是封装、继承和多态

  1. 封装:就是将对象的属性和行为进行处理,隐藏需要隐藏的数据,只向外界提供最简单的接口;这样做可以使程序便于使用,以及提高代码的安全性;

  2. 继承: 所谓继承主要就是子类继承父类,并可以对子类进行二次加工,从而提高代码的可重用性;

  3. 多态: 简单说多态就是 相同的对象调用同样的方法但做了不同的事情。主要的目的是实现接口的可重用性。
    多态的实现主要有两种方式:    (1)方法重写,实现运行时的多态。子类继承父类重写父类的方法,父类引用指向子类对象;(2)方法重载,实现编译时的多态。主要通过参数的个数和类型进行方法重载。

3:讲下集合有哪些?


4:hashmap hashtable的区别?

HashMap 和 Hashtable 在哈希表中存储键和值对。当使用 Hashtable 或 HashMap 时,我们指定一个用作键的对象和要链接到该键的值。然后对键进行哈希处理,并使用生成的哈希代码作为索引,该值存储在表中。

  • HashMap 是非同步的。它不是线程安全的,如果没有适当的同步代码,就不能在多个线程之间共享,而 Hashtable 是同步的。它是线程安全的,可以与许多线程共享;
  • HashMap 允许一个空键和多个空值,而 Hashtable 不允许任何空键或值。
  • 如果不需要线程同步,HashMap 通常优于 HashTable

5:讲下throwable?

Java通过API中Throwable类的众多子类描述各种不同的异常。因而,Java异常都是对象,是Throwable子类的实例;

  • Throwable: 有两个重要的子类:Exception(异常)和 Error(错误),二者都是 Java 异常处理的重要子类,各自都包含大量子类。
  • Error(错误):是程序无法处理的错误,表示运行应用程序中较严重问题
    • 大多数错误与代码编写者执行的操作无关,而表示代码运行时 JVM(Java 虚拟机)出现的问题。例如,Java虚拟机运行错误(Virtual MachineError),当 JVM 不再有继续执行操作所需的内存资源时,将出现 OutOfMemoryError。

    • 这些异常发生时,Java虚拟机(JVM)一般会选择线程终止。这些错误表示故障发生于虚拟机自身、或者发生在虚拟机试图执行应用时,如Java虚拟机运行错误(Virtual MachineError)、类定义错误(NoClassDefFoundError)等。

    • 这些错误是不可查的,因为它们在应用程序的控制和处理能力之 外,而且绝大多数是程序运行时不允许出现的状况。对于设计合理的应用程序来说,即使确实发生了错误,本质上也不应该试图去处理它所引起的异常状况。在 Java中,错误通过Error的子类描

  • Exception(异常):是程序本身可以处理的异常。

    Exception 类有一个重要的子类 RuntimeException。RuntimeException 类及其子类表示“JVM 常用操作”引发的错误。例如,若试图使用空值对象引用、除数为零或数组越界,则分别引发运行时异常(NullPointerException、ArithmeticException)和 ArrayIndexOutOfBoundException。

    注意:异常和错误的区别:异常能被程序本身可以处理,错误是无法处理。

  • 深入可以参考:Java-异常Throwable,Exception,Error - 243573295 - 博客园


6:进程和线程的区别?wait 和sleep的区别?

  1. 进程是对运行时程序的封装,是系统进行资源调度和分配的的基本单位,实现了操作系统的并发; 线程进程的子任务,是CPU调度和分派的基本单位,用于保证程序的实时性,实现进程内部的并发;线程是操作系统可识别的最小执行和调度单位。 每个线程都独自占用一个虚拟处理器:独自的寄存器组,指令计数器和处理器状态。
  2. sleep、wait调用后都会暂停当前线程并让出CPU的执行时间,但不同的是sleep不会释放当前持有对象的锁资源,到时间后会继续执行,而wait会释放所有的锁并需要notify/notifyAll后重新获取到对象资源后才能继续执行

7:string stringbuild stringbuffer的区别,优缺点,何时使用?

  1. 实际上,StringBuilder 和StringBuffer 功能基本相似,方法也差不多。 不同的是,StringBuffer 是线程安全的,而StringBuilder 则没有实现线程安全功能,所以性能略高。 因此在通常情况下,如果需要创建一个内容可变的字符串对象,则应该优先考虑使用StringBuilder 类。

8:concurrenthashmap的实现原理?

Java集合篇:HashMap 与 ConcurrentHashMap 原理总结_张维鹏的博客-CSDN博客_hashmap swap


数据库:
9:sql优化?
10:数据量超级大的情况,如何处理?
11:b+树的作用是什么?
12:存储过程?读写分离?
13:sql执行顺序?
Mybatis:
14:一级二级缓存命中规则?
15:插入一条数据,如何返回id?
16:如何批量插入、更新、删除?
17:如何分页?
Spring:
18:讲下Ioc aop?
19:spring的生命周期?
20:过滤器拦截器的区别及使用场景?
21:springmvc的工作原理?
22:讲下joinpoint cutpoint?
23:讲下aop工作中的使用场景?
24:spring如何切换单例模式?
SpringCloud:
25:base理论?
26:你使用的是什么注册中心,cp与ap支持哪一种?
27:nacos的配置文件存在什么位置?
28:微服务升级相应的微服务模块是否会服务停止?
多线程:
29:volatile 和 sychornized的区别?
30:线程如何通信?
31:常用的线程池有哪些?讲下常用的参数?

其他:

32:常用的集合,以及它们底层原理
33:Cap 原则base 理论

【java】程序员基础能力测试33问,持续整理中相关推荐

  1. 好程序员Java培训分享20个Java程序员基础题

    好程序员Java培训分享20个Java程序员基础题1.谈谈final.finally.finalize的区别 final用于声明属性,方法和类,分别标识属性不可变,方法不可覆盖,类不可继承. fina ...

  2. java程序员面试题之32问

    原博客位置:http://blog.csdn.net/qq_35712465/article/details/78647425  作者:想念熊 翻译 感谢翻译! 这个应该才是初始版吧!之前看到其他人的 ...

  3. java程序员基础算法_java程序员必知的十种程序算法

    <java程序员必知的十种程序算法>由会员分享,可在线阅读,更多相关<java程序员必知的十种程序算法(11页珍藏版)>请在人人文库网上搜索. 1.java程序员必学的十种程序 ...

  4. java程序员面试时候经常会问的一些问题_面试JAVA程序员常遇到的一些问题了解一下...

    每当我们去面试的时候,面试官总会问我们一大堆问题,而回答问题都是有技巧,回答问题的时候不能过于老实,全盘脱出,稍微夸大或者隐瞒是没什么问题,但不能过度.因为最重要的还是靠自身的实力,作为JAVA程序员 ...

  5. Java程序员:内事不决问百度,外事不决问谷歌,一遇面试就变捞

    前言 我还记得大学毕业刚入职那会儿,进了一家不大不小的公司,拿着一份仅仅能养活自己的薪水,做着日复一日的基操. 聊天扯淡,优哉游哉!甚不快活! 尤还记得,进入公司之初,一位公司的"老&quo ...

  6. 程序员基础能力系列(1)——vim快捷键总结

    文章目录 Normal模式 Insert模式 vim的语法 可视化模式 文本对象 移动效率 搜索 数字和点 多文件间的跳转 处理包裹字符串 替换字符串 悬浮显示&大小写&注释 窗口管理 ...

  7. java程序员基础算法_java基础算法

    冒泡排序 图解 编码实现 public class Sort { public static void main(String[] args) { //通过冒泡排序给当前的数字进行排序(升序) int ...

  8. .2018年java还能学吗,2018年,Java程序员应该学习的 9 个建议

    先,祝大家新春快乐.初五已过,意味着新一年业已真正开始.制定计划,制定目标,狗年有个新发展. 做为一个Java开发者和社区参与者,我经常会收到来自各地的Java 程序员的咨询,他们问我如何改进自己. ...

  9. 2020年Java程序员的就业前景如何?

    不知道大家对Java就业前景了解多少.随着信息化的发展,IT培训受到了越来越多人的追捧. 在开发领域,JAVA培训成为了许多人的首选!JAVA应用广泛,JAVA培训就业前景良好, 目前,虽然JAVA人 ...

  10. Java程序员开发三年,去网易社招,竟被问到这些面试题

    本文转载自:Java程序员开发三年,去网易社招,竟被问到这些面试题 前言 前几天偶遇老同学,聊了聊工作:老同学和我分享了这次网易社招的面试题:文中篇幅有限,就和大家分享这么多:更多Java后端开发面试 ...

最新文章

  1. SQL Server的WAITFOR DELAY注入
  2. pdf转换成html python,在Python中将pdf转换为html
  3. thinkpad触控笔怎么用_电容笔怎么用,如何选择一支电容笔来提升生产力呢?
  4. auto-sklearn简介
  5. ABAP--Smart Forms多语言翻译
  6. 【操作系统】进程与线程
  7. 面试官系统精讲Java源码及大厂真题 - 13 差异对比:集合在 Java 7 和 8 有何不同和改进
  8. jquery 乱码 传参_jquery ajax传递中文参数乱码问题及解决方法说明
  9. 中内连和外联的去区别_外联请客丨第一百七十四期:鱼来了铁板烧请你吃铁板烤鱼和香辣牛蛙虾!...
  10. java键盘钩子_jna test【鼠标 键盘钩子】
  11. java 前后端分离
  12. 如何改手机b站html,教你如何手机提取B站视频内音频
  13. wps交叉引用更新域遇到错误!未找到(错误!未定义)
  14. iOS牛顿摆 小球撞击 物理学仿真模拟
  15. matlab图上输入希腊字母,Matlab中给图形添加【希腊字母】
  16. ALLOCATE语句分配FORTRAN动态数组方法
  17. python turtle隐藏画笔_Python turtle库的画笔控制说明
  18. ssh免密登录服务器
  19. java学习日记-进阶三
  20. 马年男宝宝取名怎么取

热门文章

  1. 6 款超好用的 MongoDB GUI 使用评测
  2. Mac系统安装G HUB卡在99%
  3. 【以2-SAT为主题的婚礼UVA11294】
  4. 0417-08-如何为Navigator集成Active Directory认证
  5. 黑夜路人 PHP 简书,PHP之剑走偏锋的DeepCopy
  6. 130个资源网站,总有一个你用得着!
  7. DAMA|数据治理作为基础,推动数字化转型
  8. 计算机教育的改革论文,实践职业院校论文,关于职业院校计算机教育改革相关参考文献资料-免费论文范文...
  9. 光纤跳线及光纤连接器知识汇总
  10. 每日计划放在电脑桌面上可定时弹出窗口提醒的软件推荐