最近有小伙伴问我面试的时候,经常会问些什么问题,其实面试的时候,面试官无非就是面试一些基础,怎么问呢,就是会根据你简历上所写的技术点进行询问,由浅到深。你可能会说,那这样我面试的时候少写一些,那问你的知识点少了,就会感觉你的知识存储量不多。如果写的多了,有很多不会的,那面试官问到你的时候,你不知道,就是一个大型的社死现场。

那怎么选择呢?可以选择自己很熟悉的,理解的以及了解的,不会的东西就不要写了。如果发现会的很少,那就再研究一下自己了解一点的,把它转成理解的。

可能你写了很多了,但是面试官只问了一两个,这一两个可能就是会往深了挖。

我在这里准备了一些高频面试的知识点,可能会有遗漏啥的,大家可以自行扩充。有的公司可能会问到,java基础知识,集合容器,spring全家桶,mysql数据库,mybatis,ssm框架,redis缓存,MongoDB数据库,linux系统的操作(常用的语法命令,目录结构)以及rocketmq消息队列,还有可能问一些elasticsearch等。大家可以根据这些知识点,去找自己会的技术。

当然我所整理的题目只是一个白话的问题,面试官肯定会委婉一下,你只要听懂了要问的是什么就好了

面试题1:你了解StringBuffer StringBuilder String 吗?他们三者的区别是什么?

1.StringBuilder执行效率高于StringBuffer高于String.
        2. String 是-一个常量,是不可变的,所以对于每一次+=赋值 都会创建一一个新的对象,StringBuffer 和StringBui lder都是可变的,当进行字符串拼接时采用append方法,在原来的基础上进行追加,所以性能比String要高,又因为StringBuffer是线程安全的而StringBuilder是线程非安全的,所以StringBuilder的效率高于StringBuffer。
        3.对于大数据量的字符串的拼接,采用StringBuffer, StringBuilder。

你了解他们的原理吗:

String:String 类不可变,内部维护的char[]数组长度不可变,为final修饰,String 类也是final修饰,不存在扩容。字符串拼接,截取,都会生成一个新的对象。频繁操作字符串效率低下,因为每次都会生成新的对象。
        StringBuilder:StringBuilder类内部维护可变长度char[],初始化数组容量为16,存在扩容,其 append拼接字符串方法内部调用System的native方法,进行数组的拷贝,不会重新生成新的StringBuilder对象。非线程安全的字符串操作类,其每次调用toString 方法而重新生成的String对象,不会共享StringBuilder对象内部的char[],会进行一次char[]的copy操作。

面试题2:你来说一下= =和equals区别?

1.==:在比较基本数据类型的时候,比较的是数据的值:比较引用数据类型时,比较的是地址值。
2.equals方法在重写之前,比较的是俩个对象的地址值;在重写之后.比较的是属性值

面试题3:那重写 equals需要重写hashCode吗?

这肯定是需要的。好比咱们有两个相同值的User对象,假如只重写equals而不重写hashcode,那么User类的hashcode方法就是Object默认的hashcode方法,由于默认的hashcode方法是根据对象的内存地址经哈希算法得来的,那么两者的hashcode不一定相等。

面试题4:你能说出java 的基本数据类型

数据类型        位       大小
byte (字节)       l        (8位)
shot (短整型)     2       (16 位)
int (整型)        4       (32位)
long(长整型)     8       (32 位)
float(浮点型)     4       (32 位)
double (双精度)   8       (64位)
char (字符型)     2       (16 位)
boolean (布尔型)   |

附加:
        String是基本数据类型吗? (String不是基本数据类型)
        String的长度是多少,有限制? (长度受内存大小的影响)

我就是针对于基础的面试题稍微整理了一下,具体的怎么实现啊底层代码是什么,我就不去拔了。我就整理一下概念。

面试(2)——StringBuffer StringBuilder String /==与equals相关推荐

  1. StringBuffer/StringBuilder/String的区别

    1.在执行速度上:Stringbuilder->Stringbuffer->String 2.String是字符串常量 Stringbuffer是字符串变量 Stringbuilder是字 ...

  2. 四、StringBuffer StringBuilder String 区别

    String 字符串常量 不可变 使用字符串拼接时是不同的2个空间 StringBuffer 字符串变量 可变 线程安全 字符串拼接直接在字符串后追加 StringBuilder 字符串变量 可变 非 ...

  3. `java`学习笔记(十二)`Java`--`String``StringBuffer``StringBuilder`

    Java–String&&StringBuffer&&StringBuilder 文章目录 `Java`--`String`&&`StringBuffe ...

  4. String StringBuffer StringBuilder区别与联系

    String     StringBuffer     StringBuilder String的值是不可变的,这就导致每次对String的操作都会生成新的String对象,不仅效率低下,而且浪费大量 ...

  5. String StringBuffer StringBuilder的区别

    简单的事情做到极致也是一种能力. 首先,说一下目前我还没进行整理的情况下,我的理解: String 不可修改 修改后相当于又新创建创建一个字符串 比如: String a = "abc&qu ...

  6. 【翻译】Java中String, StringBuffer, StringBuilder的区别

    2019独角兽企业重金招聘Python工程师标准>>> String 是  Java 中最重要的类之一,并且任何刚开始做Java编程的人,都会 用String定义一些内容,然后通过著 ...

  7. 浅谈 Java 字符串(String, StringBuffer, StringBuilder)

    我们先要记住三者的特征: String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全) 一.定义 查看 API 会发现,String ...

  8. 3.4 java基础总结①常用类String②Stringbuffer③Stringbuilder

    ①常用类String②正则表达式③Stringbuffer④Stringbuilder 一.String ①String内存分析 String str0 = "hello";预先放 ...

  9. String, StringBuffer,StringBuilder

    String, StringBuffer,StringBuilder的区别 java中String.StringBuffer.StringBuilder是编程中经常使用的字符串类,都实现了CharSe ...

最新文章

  1. 如何获取URL中的参数
  2. 借助网盘搭建SVN服务器
  3. C语言 什么时候用取地址什么时候不用取地址,符号讲解
  4. 解决无法将java项目部署到tomcat中去
  5. C++描述杭电OJ 2017.字符串统计||
  6. linux下vi编辑器常用命令
  7. html h1 字母,html----h1-6标签
  8. ViewBag ViewData
  9. StringBuilder和String有哪些区别?
  10. 最难的几道Java面试题,看看你跪在第几个?
  11. 用于交通流预测的时间多图卷积网络
  12. scala怎么取绝对值
  13. 对注册表项“HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run”的访问被拒绝。
  14. 关于华为应用市场的上架流程
  15. 出现这些情况,裸辞不是找虐,是解脱!
  16. 关于atmel芯片security bit的取消
  17. H264码流的 ps封装
  18. ARM S5PV210 X210 刷机教程总结
  19. 信息时代的生活到底给我们带来了什么?
  20. 教资付款了显示内部服务器错误,教师资格证笔试报名时,网站问题如何解决?...

热门文章

  1. RT-Thread移植
  2. 手游复古传奇服务器维护,复古传奇手游:服务器中那些极品装备,属性也是逆天!...
  3. 模拟——玩具谜题(洛谷 P1563)
  4. dbforge studio for oracle 注册,dbForge Studio for Oracle
  5. mybaitis快速生成_关于Mybatis-Plus代码生成器快速使用心得
  6. 实战课堂:一则CPU 100%的故障分析处理知识和警示
  7. 4个优化方法,让你能了解join计算过程更透彻
  8. 为何我中断执行的线程不起作用,Why
  9. 云小课 | 区块链关键技术之一:共识算法
  10. ubuntu16.04 安装cuda9.0+cudnn7.0.5+tensorflow+nvidia-docker配置GPU服务