高频面试题总结(前二十一天):根据自己的面试经验的面题

1,多态的特征?

多态是某一个事物,在不同时刻表现出来的不同状态,多态性语言具有灵活,抽象,行为共享,代码共享的优势。

2,&和&&的区别?

&是位运算符,表示按位运算,&&是逻辑运算符,表示逻辑与(and)

3,构造器是否可被重写

构造器不能被继承,因此不能被重写,但可以被重载

4,String ,StringBuffer和StringBuilder的区别

String的长度是不可变的;

StringBuffer的长度是可变的,线程安全

SrtringBuilder,线程不安全,但效率高

5.重写和重载的区别

方法重写和重载是java多态的不同表现,

重写是父类与子类多态性的一种表现

重载是一个类中多态性的一种表现。

6.抽象类和接口的区别?

成员区别:

抽象类:可以有变量,常量,普通方法,抽象方法

接口:常量,抽象方法

  1. 设计理念区别
    • 抽象类 被继承体现的是:”is a”的关系。共性功能   是一个
    • 接口 被实现体现的是:”like a”的关系。扩展功能   像一个

7.java中一个类被声明为final类型,表示了什么意思

表示该类不能被继承,是顶级类

8.String类中有那些常见方法(最少能说处六个,必须掌握)

                int hashCode():返回此字符串的哈希码。

                boolean equals(Object anObject)将此字符串与指定的对象比较 

                                                                          比较的是重写后的串的具体内容

                String toString():返回此对象本身;

                int length():返回此字符串的长度;

                String toUpperCase()所有字符串都转换成大写

                String toLowerCase()所有字符串都转换成小写

                boolean startsWith(String s)测试此字符串是否以指定元素开头

                boolean endsWith(String s)测试此字符串是否以指定元素结束

                char charAt(int index)返回指定索引/下标处的char值

                int indexOf(int ch)返回指定字符在此字符串中第一次出现处的索引

                int lastIndexOf(int ch) 返回指定字符在此字符串中最后一次出现处的索引。

                String concat(String str) 将指定字符串连接/拼接到此字符串的结尾,注意:不会改变原串

                 String[] split(String regex) 根据给定元素来分隔此字符串 

                String trim() 返回去除首尾空格的字符串      

                byte[] getBytes() 把字符串存储到一个新的 byte 数组中    

                String substring(int beginIndex) 返回一个新子串,从指定下标处开始,包含指定下标  

                String substring(int beginIndex, int endIndex) 返回一个新子串,从执定下标开始,到 结束                                                                                         下标为止,但不包含结束下标

9.java八种基本数据类型(全部要会必须掌握)

类型                字节空间                      取值范围
byte                   1                           -2^7~2^7-1
short                  2                         -2^15~2^15-1 
int                      4                         -2^31~2^31-1  
long                   8                         -2^63~2^63-1
float                   4                                 单精度
doublie              8                                  双精度
char                   2                               0~65535
boolean             1                              true和false

10.说IO的流有哪些?

  字节输入流:InputStream--抽象父类-不能实例化

                           FileInputStream--文件字节输入流,构造函数的参数:File、String

                           BuffereInputStream--高效字节输入流

字节输出流:OutputStream--抽象父类,不能实例化    

                            FileOutputStream--文件字节输出流

                            BufferedOutputStream--高校字节输出流

字符输入流:Reader --抽象类--不能实例化

                           FileReader--文件字节输入流

                            BufferedRrader--高校字节输入流

  字符输出流:Writer

                字符输出流:Writer--抽象弗列不能实例化

                FileWriter

                BufferedWriter

11.Arraylist和linkedlist的区别?

Arraylist底层结构:数组,内存空间是连续的,增删操作比较慢,查询操作比较块(建立在数据量大时),元素有下标

linkedlist底层结构:链表,内存空间是不连续的,效率高,增删操作比较快,查询操作比较慢(数据量大时),元素有下标;

12,什么是进程?什么是程序?有什么区别

程序:数据与指令的集合,程序是静态的

进程:给程序加入了时间的概念,不同的时间进程有不同的状态

进程是动态的,就代表OS正在运行的程序

独立性,动态性,并发性

13,什么是并行?什么是并发?

CPU:电脑的核心处理器,类似于“大脑”

并行:相对于来说资源比较充足,多个CPU可以同时处理不同的进程

并发:相对于来说资源比较紧缺,多个进程同时抢占公共资源,比如CPU

14,方案二实现Runnable的好处

耦合性不强,没有继承,后续仍可以继承

15.单例设计模式之懒汉式--面试重点,要求重点掌握

懒汉式:先不给你创建这个类,二十等你需要的时候再帮你创建--利用了延迟加载的思想

16.要求熟练掌握SQL命令,见第十五天,记得每天敲一遍

17.事物的4个特性及隔离的级别(重点是它的四个隔离级别)

原子性:多个操作是绑定到一起的,要么全成功,要么全失败
一致性:在多个系统中保证数据是一致的
隔离性:在保证了性能的同时隔离用户的操作
持久性:事务处理结束后,对数据的修改就是永久的,即便系统故障也不会丢失。

隔离级别

        读未提交:效率高,安全性差

        读以提交:牺牲了效率,提高了安全-Oracle数据的默认隔离级别

        可重复读:MySQL默认的隔离级别,安全性高,性能一般

        串行化:表级锁,读写都加锁,效率低下,安全性高,不能并发

18.索引中如何观察SQL的性能/执行计划

explain select * from dept  emp where depton=‘java’;

熟练掌握对索引的操作

19.Sql优化(重点)(至少掌握六个)

1,查询SQL尽量不要使用select*,而是具体的字段
2,避免在where子句中使用or来连接条件 
3,使用varchar代替char
4,尽量使用数值替代字符串类型
5,查询尽量返回大量数据

6,索引不宜太多,一般5个以内
7,避免在where中对字段进行表达式操作
8,避免在where字句中使用!=或<>操作符
9,去重distinct过滤字段要少

20.什么是SQL攻击及解决方案(面试常问)

SQL攻击:出现了特殊的字符#,改变SQL语义,本质上是因为用了Statement传输器         

解决方案:利用全新的传输方式PreparedStatement,把SQL骨架和SQL的参数分开执行,遇到#只是当作普通的文本而不是注释         优点:省去了拼接SQL语句的麻烦,防止了SQL攻击,高效;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员慕慕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值