端点实习面试(一面)

1、Java集合类:List,Set,Hash

2、ArrayList和LinkList的底层区别

3、ArrayList扩容1.5倍,LinkList没有扩容机制,直接往后添加就好。

4、List迭代的方式有哪些?for循环,foreach(底层还是迭代器),迭代器。

5、List遍历的时候删除,会引发ConcurrentModifictionException。使用iterator.remove()方法删除。

6、多线程遍历List,使用synchronized保证线程安全性。

7、synchronized的底层:指令monitorenter和minitorexit。

8、除了synchronized还有lock进行同步操作。Reentrantlock可重入锁

9、Lock锁未拿到锁的线程进入阻塞队列。为什么是双向队列?非公平策略如何实现?

10、多线程使用的场景。

11、分布式锁:没接触过。

12、Mysql的存储引擎:MyISAM和InnoDB。两者的区别。

13、能否用性别作为索引?不行,区分度不高。

14、为什么用B+树?树更加矮胖,减小磁盘IO次数。数据存储在同一行的叶子结点,遍历,范围查询都十分方便。

15、InnoDB的存储方式:聚簇索引。聚簇索引的特点。非主键查询会引发回表操作。避免回表:覆盖索引。

16、MySQL慢查询:不了解。

面试下来总体难度并不大,可能自己第一次面试稍微有点兴奋,类似多线程高并发的地方,虽然自己知道,但是感觉并没有说清楚。还是要多面几家,提高自己的表达能力,有时候并不是答的越快越好,反而等面试官提出问题后,自己思考一段时间,理清思路,准备好要讲的内容,慢条斯理的说起来,会更有逻辑,别人会更能理解自己说的内容,不然听起来会很乱。还是要加油呀~

#端点网络科技##Java工程师##实习##面经#
全部评论
过了吗
点赞 回复 分享
发布于 2021-03-03 17:27

相关推荐

牛客279957775号:铁暗恋
点赞 评论 收藏
分享
评论
8
48
分享
牛客网
牛客企业服务