并发面试专题

(面试题+答案领取方式见侧边栏)

  1. 现在有 T1、T2、T3 三个线程,你怎样保证 T2 在 T1 执行完后执行,T3 在 T2 执行完后执行?
  2. 在 Java 中 Lock 接口比 synchronized 块的优势是什么?你需要实现一个高效的缓存,它允许多个用户读,但只允许一个用户写,以此来保持它的完整性,你会怎样去实现它?
  3. 在 java 中 wait 和 sleep 方法的不同?
  4. 用 Java 实现阻塞队列。
  5. 用 Java 写代码来解决生产者——消费者问题。
  6. 用 Java 编程一个会导致死锁的程序,你将怎么解决?
  7. 什么是原子操作,Java 中的原子操作是什么?
  8. Java 中的 volatile 关键是什么作用?怎样使用它?在 Java 中它跟 synchronized 方法有什么不同?
  9. 什么是竞争条件?你怎样发现和解决竞争?
  10. 你将如何使用 threaddump?你将如何分析 Thread dump?
  11. 为什么我们调用 start()方法时会执行 run()方法,为什么我们不能直接调用 run()方法?
  12. Java 中你怎样唤醒一个阻塞的线程?
  13. 在 Java 中 CycliBarriar 和 CountdownLatch 有什么区别?
  14. 什么是不可变对象,它对写并发应用有什么帮助?
  15. 你在多线程环境中遇到的常见的问题是什么?你是怎么解决它的?

Netty面试专题

  1. BIO、NIO 和 AIO 的区别?
  2. NIO 的组成?
  3. .Netty 的特点?
  4. Netty 的线程模型?
  5. TCP 粘包/拆包的原因及解决方法?
  6. 了解哪几种序列化协议?
  7. 如何选择序列化协议?
  8. Netty 的零拷贝实现?
  9. Netty 的高性能表现在哪些方面?
  10. NIOEventLoopGroup 源码?

JVM面试专题

  1. 内存模型以及分区,需要详细到每个区放什么?
  2. 堆里面的分区:Eden,survival (from+ to),老年代,各自的特点。
  3. 对象创建方法,对象的内存分配,对象的访问定位。
  4. GC 的两种判定方法
  5. SafePoint 是什么
  6. GC 的三种收集方法:标记清除、标记整理、复制算法的原理与特点,分别用在什么地方,如果让你优化收集方法,有什么思路?
  7. GC 收集器有哪些?CMS 收集器与 G1 收集器的特点。
  8. Minor GC 与 Full GC 分别在什么时候发生?
  9. 几种常用的内存调试工具
  10. 类加载的几个过程
  11. JVM 内存分哪几个区,每个区的作用是什么?
  12. 如和判断一个对象是否存活?(或者 GC 对象的判定方法)
  13. 简述 java 垃圾回收机制?
  14. java 中垃圾收集的方法有哪些?
  15. java 内存模型
  16. java 类加载过程?
  17. 简述 java 类加载机制?
  18. 类加载器双亲委派模型机制?
  19. 什么是类加载器,类加载器有哪些?
    20.简述 java 内存分配与回收策率以及 Minor GC 和Major GC

Linux面试专题

    1. Linux 中主要有哪几种内核锁?
    2. Linux 中的用户模式和内核模式是什么含意?
    3. 怎样申请大块内核内存?
    4. 用户进程间通信主要哪几种方式?
    5. 通过伙伴系统申请内核内存的函数有哪些?
    6. Linux 虚拟文件系统的关键数据结构有哪些?(至少写出四个)
    7. 对文件或设备的操作函数保存在那个数据结构中?
    8. Linux 中的文件包括哪些?
    9. 创建进程的系统调用有那些?
    10. 调用 schedule()进行进程切换的方式有几种?
    11. Linux 调度程序是根据进程的动态优先级还是静态优先级来调度进程的?
    12. 进程调度的核心数据结构是哪个?
    13. 如何加载、卸载一个模块?
    14. 模块和应用程序分别运行在什么空间?
    15. Linux 中的浮点运算由应用程序实现还是内核实现?
    16. 模块程序能否使用可链接的库函数?
    17. TLB 中缓存的是什么内容?
    18. Linux 中有哪几种设备?
    19. 字符设备驱动程序的关键数据结构是哪个?
    20. 设备驱动程序包括哪些功能函数?
    21. 如何唯一标识一个设备?
    22. Linux 通过什么方式实现系统调用?
    23. Linux 软中断和工作队列的作用是什么?

手撕面试官系列(六):并发+Netty+JVM+Linux面试专题的更多相关文章

  1. 手撕面试官系列(九):分布式限流面试专题 Nginx+zookeeper

    Nginx专题 (面试题+答案领取方式见侧边栏) 1.请解释一下什么是 Nginx?2.请列举 Nginx 的一些特性.3.请列举 Nginx 和 Apache 之间的不同点4.请解释 Nginx 如 ...

  2. 面试官:你说你熟悉jvm?那你讲一下并发的可达性分析

    这是why技术的第35篇原创文章 上面这张图是我还是北漂的时候,在鼓楼附近的胡同里面拍的. 那天刚刚下完雨,路过这个地方的时候,一瞬间就被这五颜六色的门板和自行车给吸引了,于是拍下了这张图片.看到这张 ...

  3. 跟面试官聊.NET垃圾收集,直刺面试官G点

    装逼的面试官和装逼的程序员 我面试别人的时候,经常是按这种路子来面试: 看简历和面试题,从简历和面试题上找到一些技术点,然后跟应聘者聊. 聊某个技术点的时候,应聘者的回答会牵涉到其他的技术点,然后我会 ...

  4. 【转】跟面试官聊.NET垃圾收集,直刺面试官G点

    装逼的面试官和装逼的程序员 我面试别人的时候,经常是按这种路子来面试: 看简历和面试题,从简历和面试题上找到一些技术点,然后跟应聘者聊. 聊某个技术点的时候,应聘者的回答会牵涉到其他的技术点,然后我会 ...

  5. 手撕面试官系列(一):spring108道面试题合集

    前言 想必各位程序员已经开始准备金九银十的秋招了,创建这个这个系列文章的目的就是为了帮助大家解决面试的问题,系列文章将会一直更新,大家如果觉得不错可以关注我并转发,让更多程序兄弟看到~接下来我们进入正 ...

  6. 手撕面试官系列(十一):BAT面试必备之常问85题

    JVM专题 (面试题+答案领取方式见侧边栏)  Java 类加载过程? 描述一下 JVM 加载 Class 文件的原理机制? Java 内存分配. GC 是什么? 为什么要有 GC? 简述 Java ...

  7. 手撕面试官系列(二):开源框架面试题Spring+SpringMVC+MyBatis

    文章首发于今日头条:https://www.toutiao.com/i6712324863006081549/ 前言 跳槽时时刻刻都在发生,但是我建议大家跳槽之前,先想清楚为什么要跳槽.切不可跟风,看 ...

  8. 手撕面试官系列(十):面试必备之常问Dubbo29题+MySQL55题

    Dubbo专题 (面试题+答案领取方式见侧边栏) 1.Dubbo 支持哪些协议,每种协议的应用场景,优缺点?2.Dubbo 超时时间怎样设置?3.Dubbo 有些哪些注册中心?4.Dubbo 集群的负 ...

  9. 手撕面试官系列(八):分布式通讯ActiveMQ+RabbitMQ+Kafka面试专题

    ActiveMQ专题 (面试题+答案领取方式见主页) 什么是 ActiveMQ? ActiveMQ 服务器宕机怎么办? 丢消息怎么办? 持久化消息非常慢. 消息的不均匀消费. 死信队列. Active ...

随机推荐

  1. 11.06水题Test

    11.06水题比赛 题目 描述 做法 \(BSOJ5150\) 求\(n\)个数两两之差的中位数 二分中位数,双指针判定\(\le x\)差值对数 \(BSOJ5151\) 求树的最大匹配和其个数 来 ...

  2. There is insufficient memory for the Java Runtime Environment to continue.

    There is insufficient memory for the Java Runtime Environment to continue.

  3. trutle库的使用基础

    turtle库的使用: 概括: turtle绘图体系:1969年诞生,主要用于程序设计入门 Python语言的标准库之一 入门级的图形绘制函数库 原理: turtle的原(wan)理(fa) (tur ...

  4. mac 以多tab的方式打开

    让mac 始终以多tab的方式打开程序 背景: 开发中始终需要多个 项目 的方式进行处理, 但一直使用 `command + `` 的方式总是比较烦人, 有没有一个比较好的视图方式呢; 即我想在一个窗 ...

  5. cloneable以及深拷贝和浅拷贝

    Objec类有11个方法,有两个protected的方法,其中一个为clone方法(另一个为finalize). 该方法的签名是: protected native Object clone() th ...

  6. MySQL百万级数据分页查询及优化

    方法1: 直接使用数据库提供的SQL语句 语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N 适应场景: 适用于数据量较少的情况(元组百/千级) 原因/缺 ...

  7. C-Store: A Column-oriented DBMS Mike

    这篇paper比较老,是列存比较基础的论文 几乎所有列存,或olap的论文都会引用这篇 行存面向写,支持OLTP 列存面向读,支持OLAP 基于磁盘的DBMS,瓶颈基本在磁盘IO,所有做的工作都是用多 ...

  8. C++ 函数模板print

    简述 在知乎看到文章leetcode 的奇怪 println vector 工具,于是手痒自己也写了一个print函数. 因为工作中没有需要写这种代码的情况,所以好久没有写这种代码了,还是挺怀念以前学 ...

  9. paddlepaddle如何预加载embedding向量

    使用小批量数据时,模型容易过拟合,所以需要对全量数据进行处理,我是用的是word2vec训练的词向量. 那么训练好对词向量如何加载呢? #!/usr/bin/env python # -*- codi ...

  10. curl 参数配置详解

    第一类:对于下面的这些option的可选参数,value应该被设置一个bool类型的值: CURLOPT_AUTOREFERER当根据Location:重定向时,自动设置header中的Referer ...