1. 请使用任意语言写一个占用尽可能多内存,消耗尽可能多CPU的程序,程序要持续运行很长时间并且不崩溃

    • 如果使用Java的话则考察的是JVM的内存分配
  2. 操作系统中的32bit和64bit是什么意思?

  3. 用过哪些语言,各个语言的优缺点,为什么要用它?

    • 解释型语言和编译型语言的区别?
    • 这两种语言有什么优劣?
    • 性能,安全,编译和执行速度,内存占用?
  4. 并发的目的是什么,你知道哪些并发编程的手段(语言无关)

    • 线程同步问题和安全问题如何解决?
    • 多线程的缺点如何解决?
  5. 事务的特性和实现方式,要你来实现事务,你会怎么实现?

  6. 对于业务无关的场景来说,如何构建一个高性能系统,会采用哪些普适性的措施,对应着OS的哪些原理?能抽象出来这些措施的共性和底层逻辑吗?

    • 高性能和高并发分别指什么?
    • Redis的缓存相比于普通的内存缓存在性能上有什么独到之处?
    • Netty为什么高性能?同样是NIO,为什么Tomcat不行?
  7. .class文件的通过进制形式查看会出现cafe babe的字样,这两个单词在.class文件中一共占用了字节?

  8. 如何多维度对系统进行分库分表?分库后事务的ACID如何保证?分库分表的路由规则和唯一标识如何设置?

  9. 面对需求时,如何提高开发效率?

  10. 使用多线程完成生产者消费者模型,和循环打印ABC

  11. 程序在调用IO时(如输入输出),此时OS发生了什么?当前线程会被阻塞吗?如果阻塞,CPU此时在做什么?