1.项目背景、模块分工、自己的任务、干了什么
2.Java如何保证线程安全
-回答了1.synchronized关键字 2.Lock锁 3.ThreadLocal
3.你提到了synchronized关键字和Lock锁,讲一下区别
-Lock可以公平/非公平锁,等待可中断,是非重量级锁
4.你提到了公平锁和重量级锁,解释一下
-synchronized是1.6之前是重量级锁,1.6以后优化(讲了一下锁升级的过程)
-从AQS的内部结构谈起分析了一下如何实现公平锁和非公平锁
5.请你说说如何设计一个MySQL表
-这个我不太会回答,反正我先说了为什么选用innodb,然后说根据需求,UI建立字段,并且决定是否需要多表,多表是否需要连接,根据实际数据类型确定数据库字段的类型;最后建立索引(用在自增主键或者经常需要搜索的列或者经常需要排序的列)。
全部评论
(4) 回帖