摩太科技有限公司 实习面经
一面
时长:30+ min。半小时候后通知复试。
设计模式:
1. 我们讲一下单例模式是什么? 饿汉式、懒汉式、枚举。
2. 策略模式。比如我们经常会有发短信对对的,或者微信推送对是的。还有一种我们手机像这种 web 端的一个站内推送,对吧?但如果用策略模式,是不是就可以避免这种if else?我要在实际应用下的场景下面,它是不是有一种它就可以应用到?比如我一个人我要推这几个消息,我要推其中某一种消息,我这样是不是就可以代替它的一个 if else?
3. 责任链模式?
Java八股:
1. 字符串:如果我们讲一下 Java 里面的字符串,字符串它里面比如我字符串等于 1 和 1 个字符串 new 一个1,它们俩之间有什么不同?
2. JDK 1.7、JDK 1.8区别。Lambada表达式、Stream流、Date-Time API之类的。
3. 哈希 map 1.7 和 1. 8 头插、尾插之类的。ConcurrentHashmap。
4. CAS乐观锁
5. 容器。List、Set、Queue
6. ArrayList和LInkedList差别。各个操作时间复杂度
7. ArrayList扩容
8.并发和并行
9.Sleep和Wait
10.Java的死锁怎么形成的
11.线程池的创建方式、线程池的实现原理
12. Run方法和Start方法
项目:
重点的几个。
1. 登录的整个流程,权限分配是怎么实现的
2. 如果在同一时间我同时访问过多,有想过怎么处理吗?
3. lua原子性
4.不重复、自增id怎么实现的。 UUID 其实会如果我把时间往前调在对会重复。
数据库:
1. 索引是什么,本质
2. 索引什么时候不会回表?
3. 有两个字段,一个是name,一个是age,名称和年龄。然后我名称有一个,给他有一个索引,但是我要查这两个字段,请问回表吗?
4. 索引里面有个最左原则,解释一下
5. update 什么情况下锁住整张表、什么情况下锁一行
6. MVCC
