面经(2) 2020/3/19 软件开发实习生

这次面试问的比较基础,但是我还是有很多答不上来的,时刻提醒自己要多复习基础知识!!如有错漏请指出,多谢!

1、为什么要用StringBuffer和StringBuilder?他们和String有什么区别?

String是字符串常量,StringBuffer和StringBuilder是均为字符串变量,即String在创建之后是不能改变的,而后两者创建后是可以更改的。而StringBuffer和StringBuilder的区别是,StringBuffer是线程安全的,StringBuilder是线程不安全的。如果一个StringBuffer对象在字符串缓冲区被多个线程使用时,StringBuffer中有很多方法带有synchronized关键字,因此可以保证线程安全。但在单线程的情况下,一般使用StringBuilder,因为它的速度相对来说比较快。

2、String类的常用方法

参考此篇文章吧:String类的常用方法

3、for循环的种类

两种,分别是普通for循环和for-each循环。

//普通for循环
for(int i=0;i<19;i++){
	System.out.println(i);
}
//for-each循环
for(Object obj:objects){
	System.out.println(obj);
}
4、List和Map的常见实现类

List常见的实现类有Vector、ArrayList和LinkedList,Map的常见实现类有Hashtable、HashMap和TreeMap

5、HashMap和TreeMap的区别
  • HashMap中的元素没有顺序而TreeMap中的元素是有顺序的。
  • HashMap是基于hash表实现的,为了优化HashMap的空间使用,可以调优初始容量和负载因子。TreeMap是基于红黑树实现的,TreeMap没有调优选项,因为红黑树总是处于平衡的状态。
  • HashMap适用于Map插入、删除、定位元素;TreeMap适用于按自然顺序自定义顺序遍历键(key)
6、数据库左外连接和右外连接的区别

左外连接是以左边所有数据为参照,显示左边表中所有数据,右边表只显示与左边表对应的数据,少了补null,多了删除。右外连接则以右表为主,和左外连接同理。

7、事务是什么?

事务(Transaction)是并发控制的单位,是用户定义的一个操作序列,这些操作要么全都都做,要么都不做,是一个不可分割的工作单位。事务的4个特性,分别是原子性、一致性、隔离性持久性

8、JDBC连接数据库的步骤
  1. 加载驱动
  2. 获取数据库连接对象 Connection
  3. 定义SQL
  4. 获取执行SQL语句的对象Statement
  5. 执行SQL,接收返回结果
  6. 释放资源

详细可阅读此文章:十分钟教你用Java操作数据库

9、Object类常用方法

构造方法、clone()、equals(Object)、getClass()、hashcode()、notify()、toString()、wait()、notifyAll()

其中尤其要注意equals的内部实现和它与==的区别

10、多线程常用方法

Thread类中的setName(),getName()用于设置线程名字,获取线程名字;sleep()方法暂停当前正在执行的线程对象,并执行其它线程;notify()唤醒一个线程。

12、Linux如何查看进程占用内存信息?

ps -aux

13、Shell编程如何对json进行处理?

Shell命令行处理JSON

14、spring和springMVC常用注解

@Component、@Service、@Repository、@Controller、@Autowired、@RequestMapping、@ResponseBody

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值