记一次美团点评校招java面试经历

一面:

  1. 首先自我介绍,说了一些学校啊,专业啥的
  2. 问了正在实习中的岗位主要负责什么
  3. 手写一个单例模式,就双重检查加同步synchronized,volatile(然后就开始问synchronized和volatile的实现原理)
  4. String,StringBuffer,StringBuilder的区别,以及为什么String是不可变的,还有String类的内部属性应该怎么设计保证不可变(回答内部属性可能是一个char类型的数组,使用final来修饰,这个我猜的。。。)
  5. 说到final又接着问final修饰属性,方法,类的区别,还有final修饰属性不可变,那为啥可以修改属性的值(回答final修饰的引用是不可变的,但是引用的对象是可以改变的,面试官也没有深入问,这个问题就算过了)
  6. 手写一个算法吧:使用两个栈来实现一个队列,还好之前在牛客网刷到这种类型的题目,原理很简单,但是要注意处理边界的条件
  7. 说到redis,让我说一种熟悉的数据类型以及怎么实现的,这个时候当然要提hash了,因为和java中的hashMap很相似,所以接下来就问了HashMap(实现的原理,hashcode计算,hash冲突的解决办法,这个我是真的很熟练,看样子面试官也很满意),ConcurrentHashMap(分段锁以及怎么确定这个段多大合适)
  8. 怎么解决sql注入问题,JDBC自己怎么实现,怎么使用连接池来操作(连接池的实现原理)
  9. 一面基本就是这些吧,有些真的想不起来,然后没多大会我就开始二面

二面

  1. 上来就让写一个算法,将数组中的所有数组合成一个最大的整数(回答不太好,感觉自己算法太差,把想法具体手写代码表达出来的能力太欠缺)
  2. git常用命令
  3. 数据库引擎有哪些,InnoDB和MyISAM的区别(说了从事务的支持方面,锁的粒度,查询的速度,索引的类型,问我就只有这些吗?。。。。。)
  4. 数据库的隔离级别
  5. 写了一堆数据,让写个sql,
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值