如来 • 卷二 : 数据结构与算法基础

1.说一下几种常见的排序算法和分别的复杂度

2.什么是跳表?

3.如何确认一个链表有环? 进一步,确认环的位置

4.如何遍历一颗二叉树?

5.倒排一个LinkedList

6.HashSet 的实现方式 ### 多线程/并发

7.Java 中常见的锁,互斥锁,读写锁,信号量

自旋锁

阻塞锁

8.原子 Atomic类,如何保证原子性, CAS 硬件指令

通过cpu 的指令  cas  保证操作的原子性

9.volatile,可见性问题的原因,硬件架构, L3 Cache,QPI,乐观锁

10.如何实现一个线程安全的数据结构

11.如何避免死锁

12.如何解决 ABA 问题

什么是ABA问题?

如何解决ABA问题?

13.Synchronized 关键字的作用?

14.Volatile 关键字的作用?

15.Java 内存模型是怎样的?

16.HashMap 在多线程环境下使用需要注意什么? 为什么?

17.Java 程序中启动一个线程是用 run() 还是 starte()?

18.什么是守护进程? 有什么用?

19.什么是死锁? 如何避免

20.线程和进程的差别是什么?

21.Java 里面的 ThreadLocal 是怎样实现的?

22.ConcurrentHashMap 的实现原理是?

23.sleep 和 wait 区别

24.notify 和 nitifyAll 区别

25.volatile 关键字的作用

26.ThreadLocal 的作用与实现

27.两个线程如何串行执行

28.上下文切换时什么含义

29.可以运行时 kill 掉一个线程吗?

30.什么是条件锁、读写锁、自旋锁、可重入锁?

31.什么是协程(用户态线程,减少数据拷贝,降低 CPU 开销,无callback)

32.线程池 ThreadPoolExecutor 的实现原理?

33.J.U.C 下的常用类的使用. lock, synchronized, ThreadLocal 的深入考察; BlockingQueue 的使用.(take,poll 的区别,put,offer的区别);原子类的实现

34.各种常见锁使用如果上面这些掌握很好,还可以看看更深一点的False Sharing,Cache Line,可见性与原子性等

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Java8张图 11、字符串不变性 12、equals()方法、hashCode()方法的区别 13、...
    Miley_MOJIE阅读 3,961评论 0 11
  • 一、多线程 说明下线程的状态 java中的线程一共有 5 种状态。 NEW:这种情况指的是,通过 New 关键字创...
    Java旅行者阅读 4,905评论 0 44
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 43,003评论 11 349
  • Java SE 基础: 封装、继承、多态 封装: 概念:就是把对象的属性和操作(或服务)结合为一个独立的整体,并尽...
    Jayden_Cao阅读 2,289评论 0 8
  • 渠道成功背后的原因 除了电视广告,在中国一到四线城市、甚至更底层的县级手机市场,OV的蓝绿组合几乎占据了80%的户...
    哼哈and嘿哈阅读 232评论 0 0

友情链接更多精彩内容