自己觉得比较好的面试题

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

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

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

  4. 解释型语言和编译型语言的区别?
    这两种语言有什么优劣?
    性能,安全,编译和执行速度,内存占用?

  5. 并发的目的是什么,你知道哪些并发编程的手段(语言无关)
    线程同步问题和安全问题如何解决?
    多线程的缺点如何解决?

  6. 事务的特性和实现方式,要你来实现事务,你会怎么实现?

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

  8. 高性能和高并发分别指什么?
    Redis的缓存相比于普通的内存缓存在性能上有什么独到之处?
    Netty为什么高性能?同样是NIO,为什么Tomcat不行?

  9. .class文件的通过进制形式查看会出现cafe babe的字样,这两个单词在.class文件中一共占用了字节?

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

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

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

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

全部评论

相关推荐

头像
03-18 09:09
Java
点赞 评论 收藏
转发
点赞 1 评论
分享
牛客网
牛客企业服务