记苏宁Java开发一面 2020.03.10

首先是自我介绍,面试前是做了什么(考研)

1. C/Java的区别

   首先C面向过程,Java面向对象。Java有虚拟机,C没有虚拟机。Java不能直接对内存操作,C可以。Java可以跨平台,C不行,需要重新编译。C需要手动回收内存,Java有GC。
2. Java的集合类有哪些

List、Set、Map
3. HashMap的线程安全问题

这个本来应该是我答得最好的题,但是好像面试官的反应是我方向答得不对(我回答主要围绕HashMap在Resize方法中出现了循环链表导致下一次读操作出现了死循环),面试官好像想问的是HashMap为什么明知线程不安全还不加锁,我应该是答非所问了

总结的答案:HashMap是适用于单线程下的数据结构,如果想在多线程下使用,尽量使用CurrentHashMap/HashTable这样线程安全的数据结构。
4. 线程之间如何进行通信

我的答案:两种,一种是直接发送消息的显示通信,一种是通过共享内存的隐式通信(java就采取的这种)。但是面试官想考察我前者是如何实现的,我试探性的提到了信号量操作,好像是面试官想要的答案,他问我是管道还是信号量,我说是信号量。
5. 线程池

没用过,凭印象说了一个线程池类还说错了。
6. 锁的命令

我的答案:synchronized、ReentrantLock和他们的区别

正确答案https://blog.csdn.net/u010648018/article/details/79750608
7. 异常类型有哪几种

分为Throwable下的Error和Exception

Exception下分为IOException和RunTimeException(常见的有NullPointerException和数组越界异常)。大概能答上这些就好
8. String s1 = “I”和String s2 = new String(“I”)在equals方法和HashCode方法判断是否相等

答案:两个方法的判断结果都是true
9. Java方法返回值是值传递还是地址传递

我的回答:根据修饰方法的关键字来确定,如果是基本类型,那么返回值就是值传递,如果是引用类型,那么就是地址传递。
10. Java内存模型

我提到了线程私有部分和线程共享部分。线程私有部分主要有程序计数器、虚拟机栈,本地方法栈。共享部分:堆和方法区(方法区中有常量池)
11. Java从哪个版本开始用G1的GC回收方法

jdk1.7 默认垃圾收集器Parallel Scavenge(新生代)+Parallel Old(老年代)

jdk1.8 默认垃圾收集器Parallel Scavenge(新生代)+Parallel Old(老年代)

jdk1.9 默认垃圾收集器G1
12. 拉姆达表达式

没用过..
13. Spring中的bean属于什么设计模式,Spring的Filter用过吗?属于什么设计模式?filter工作场景

工厂模式。 用过。责任链设计模式(这里我答成了观察者模式,面试官没指出来,问的我为什么用这种模式,我没答出来),Filter我曾经用来做登录验证这样子。
14. @Service和@Component有什么区别

@Component最普通的组件,可以被注入到spring容器进行管理
@Repository作用于持久层
@Service作用于业务逻辑层
@Controller作用于表现层(spring-mvc的注解)

15. Spring的两个特性(AOP和IOC/DI)

答一答概念和大概的作用就过去了。
16. MySQL有哪几种索引

物理层面:聚集索引和非聚集索引

其他层面:主键索引、唯一索引、其他索引等等(本来想答b树索引的时候面试官直接问下一个问题了。。)
17. 主键索引和唯一索引的区别

普通索引:最基本的索引,没有任何限制
唯一索引:与"普通索引"类似,不同的就是:索引列的值必须唯一,但允许有空值。
主键索引:它 是一种特殊的唯一索引,不允许有空值。 
全文索引:仅可用于 MyISAM 表,针对较大的数据,生成全文索引很耗时好空间。
组合索引:为了更多的提高mysql效率可建立组合索引,遵循”最左前缀“原则。
18. MySQL如何实现分页

主要是考察limit(但是当时头脑懵了,没反应过来,就回答的不了解。。)
19. Linux下的几个命令(如何查询java的端口,chmod命令)

简单答了答一带而过,面试结束。

总结下来,面试官人还是很好的,没有特意刁难我,主要是面试前的准备一定要做足,基础要打牢,主要还是不要紧张,成功是失败多了的经验积累起来的,主要多总结吸收,下次能表现的更好就足够了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值