手撕面试官系列(六):并发+Netty+JVM+Linux面试专题

并发面试专题

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

  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 软中断和工作队列的作用是什么?

原文地址:https://www.cnblogs.com/chengxuwang/p/11202724.html

时间: 2024-10-15 10:12:21

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

Java面试-吊打面试官系列 Redis基础

你知道的越多,你不知道的越多 点赞再看,养成习惯 前言 Redis在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在Redis的使用和原理方面对小伙伴们进行360°的刁难.作为一个在互联网公司面一次拿一次offer的面霸(请允许我使用一下夸张的修辞手法),打败了无数竞争对手,每次都只能看到无数落寞的身影失望的离开,略感愧疚,在一个寂寞难耐的夜晚,我痛定思痛,决定开始写吊打面试官系列,希望能帮助各位读者以后面试势如破竹,对面试官进行360°的反击,吊打问你的面试官,吊打一同面试的同僚

阿里Java面试官分享初级Java程序员通过面试的技巧

本来想分享毕业生和初级程序员如何进大公司的经验,但后来一想,人各有志,有程序员或许想进成长型或创业型公司或其它类型的公司,所以就干脆来分享些提升技能和通过面试的技巧,技巧我讲,公司你选,两厢便利. 毕业生和初级程序员(一般是工作经验3年以下)大多处于事业的青黄不接的阶段,在找工作时往往会遇到缺乏实际项目经验的瓶颈,作为技术面试官,我也经常在面试过程中感受到这些候选人缺乏实际经验的缺陷.不过本人之前做过java兼职培训老师,也总结了些这批人群提升实际技能和面试技能的技巧,最近也老有人来问我这个,所

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

装逼的面试官和装逼的程序员 我面试别人的时候,经常是按这种路子来面试: 看简历和面试题,从简历和面试题上找到一些技术点,然后跟应聘者聊. 聊某个技术点的时候,应聘者的回答会牵涉到其他的技术点,然后我会一一记下来,再挑一些我感兴趣的技术点继续和他聊 有时候应聘者为了装逼会牵涉出很多技术点,他自己可能只是知道个名字就说出来了. 这样的话,能很轻易的发现应聘者的水平,也能知道他提供的面试信息的水分有多少. --------------------- 然而,有的时候会碰到一些我自己都不熟悉的技术点(比如

20道BAT面试官最喜欢问的JVM+MySQL面试题(含答案解析)

1. 内存模型以及分区,需要详细到每个区放什么.JVM 分为堆区和栈区,还有方法区,初始化的对象放在堆里面,引用放在栈里面,class 类信息常量池(static 常量和 static 变量)等放在方法区new:方法区:主要是存储类信息,常量池(static 常量和 static 变量),编译后的代码(字节码)等数据堆:初始化的对象,成员变量 (那种非 static 的变量),所有的对象实例和数组都要在堆上分配栈:栈的结构是栈帧组成的,调用一个方法就压入一帧,帧上面存储局部变量表,操作数栈,方法

《吊打面试官》系列-Redis终章_凛冬将至、FPX_新王登基

前言 Redis在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在Redis的使用和原理方面对小伙伴们进行360°的刁难.作为一个在互联网公司面一次拿一次offer的面霸(请允许我使用一下夸张的修辞手法),打败了无数竞争对手,每次都只能看到无数落寞的身影失望的离开,略感愧疚,在一个寂寞难耐的夜晚,我痛定思痛,决定开始写<吊打面试官>系列,希望能帮助各位读者以后面试势如破竹,对面试官进行360°的反击,吊打问你的面试官,让一同面试的同僚瞠目结舌,疯狂收割大厂offer! 絮叨 男儿

面试必看|如何避免减分项雷区,看面试官筛选简历八大关键点

金三银四跳槽季已经结束了,铜五铁六的情况也不容乐观.我和同事们看了很多简历,也邀请了很多人参加面试,最终通过的寥寥无几. 想必很多面试者都很郁闷,为什么投了这么多简历,最后都杳无音讯.是简历的问题吗? 今天就来聊点扎心的事儿,面试官是怎么在短时间内筛选简历的.哪些是明显的减分项.请大家扬长避短,把简历尽量写得漂亮一些. 本文观点仅代表参与讨论的几位 BAT 同学. 教育背景不够好 首先,大公司筛选简历确实是"英雄不问出处"的. 不管你来自高大上的常春藤还是国内不显眼的二本院校,不管你是

面试官,Java8 JVM内存结构变了,永久代到元空间

在文章<JVM之内存结构详解>中我们描述了Java7以前的JVM内存结构,但在Java8和以后版本中JVM的内存结构慢慢发生了变化.作为面试官如果你还不知道,那么面试过程中是不是有些露怯?作为面试者,如果知晓这些变化,又将成为面试中的亮点. 如果在网络上搜索JVM内存结构,90%的可能会搜到Java7及以前的内存图,本篇文章将会对JVM内存结构再次细化,深入理解Java8之后的内部变化.现在意识到关注公众号"程序新视界"的好处了吧.在这里可以不断的刷新你的知识和认知. JV

阿里面试官:字符串在JVM中如何存放?90%的人就真的只回答在哪里存放

目录: 一道面试题的引出 案例分析 intern 源码分析 总结 1. 一道面试题的引出 在面试BAT这种一线大厂时,如果面试官问道:字符串在 JVM 中如何存放?大多数人能顺利的给出如下答案: 字符串对象在JVM中可能有两个存放的位置:字符串常量池或堆内存. 使用常量字符串初始化的字符串对象,它的值存放在字符串常量池中: 使用字符串构造方法创建的字符串对象,它的值存放在堆内存中: 但是如果能针对上述回答,做进一步扩展,会给你的面试表现加分不少,让你从一大波候选人中脱颖而出.下面就一起来分析一下

# 面试官: 既然已经有数组了,为什么还要链表

面试官: 既然已经有数组了,为什么还要链表 本文发布于微信平台: 程序员面试官 超过20w字的「前端面试与进阶指南」可以移步github 对于不少开发者而言,链表(linked list)这种数据结构既熟悉又陌生,熟悉是因为它确实是非常基础的数据结构,陌生的原因是我们在业务开发中用到它的几率的确不大. 在很多情况下,我们用数组就能很好的完成工作,而且不会产生太多的差异,那么链表存在的意义是什么?链表相比于数组有什么优势或者不足吗? 什么是链表 链表是一种常见的基础数据结构,是一种线性表,但是并不