面试日志二

  1. 介绍一下信号量。

    信号量的本质是数据操作锁,他本质不具有数据交换功能。
    同时它是操作系统用来解决并发中的互斥和同步问题的一种方法。
    
  2. 说说Linux如何管理内存。

    段页式内存管理:
    优点:高效提高内存利用率,
    
    而分段存储管理能反映程序的逻辑结构并有利于段的共享。
    
    将这两种存储管理方式结合起来,就形成了段页式存储管理。
    
  3. 介绍一下Java中的IO流。

    四个基类:InputStream、OutputStream、Reader、Writer
    由左至右分别代表:
    字节输入流
    字节输出流
    字符输入流
    字符输出流
    
  4. OSI七层模型。

    1.物理层
    2.数据链路层
    3.网络层
    4.传输层
    5.会话层
    6.表示层
    7.应用层
    
  5. TCP协议三次握手和四次挥手的过程。

    三次握手:
    1.第一次握手,客户端发送请求给服务端,然后客户端等待服务器的确认。
    2.第二次握手,服务端发送回应给客户端,然后服务端等待客户端确认。
    3.第三次握手,客户端接收到后发送数据包给服务端,确认服务端发送正常,然后客户端和服务端都进入就绪状态,即接收和发送都正常。至此,三次握手成功。
    
  6. 说说你对布隆过滤器的理解。

    Bloom filter
    bloom算法类似hash set,用来判断某个元素是否在某个集合中。
    可以插入元素,但是不可以删除已经有的元素。
    
    
  7. 谈谈InnoDB引擎的锁。

    InnoDB是MySQL最流行的存储引擎,在大数据量高并发量的业务场景下有非常好的性能表现。
    七种锁:
    1.自增锁
    2.共享锁,或者叫做排它锁
    3.意向锁
    4.插入意向锁
    5.记录锁
    6.间隙锁
    7.临建锁
    
  8. 简述一下GDB常见的调试命令。

    break:在源代码指定的某一行设置断点,
    run : 执行被调试的程序
    continue:当程序在某一断点处停止后,用该指令可以继续执行,直到遇到断点或者程序结束
    next:令程序一行一行代码执行
    step:如果有调用函数,就进入被调用的函数内部
    print:打印指定变量的值。
    list:显示源程序代码的内容,包括各行各代码所在的行号
    finish:结束当前正在执行的函数。
    return: 结束当前调用函数并返回指定值。
    quit:终止调试。
    
  9. 编程题:实现有重复数字的升序数组的二分查找

    给定一个 元素有序的(升序)长度为n的整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的第一个出现的target,如果目标值存在返回下标,否则返回 -1

    
    
  10. Char和VarChar的区别。

    存储和检索不同
    
  11. 介绍一下几种IO模型。

    阻塞IO(blocking I/O)
    非阻塞IO(noblocking I/O)
    信号驱动IO(signal blocking I/O)
    IO多路转接(I/O umltiplexing)
    异步IO(asynchronous I/O)
    
  12. 微服务架构有哪些优势。

    独立开发,所有的服务都可以根据各自的功能轻松开发
    独立部署,基于服务,可以单开。
    故障隔离,在应用程序中,即使某一个服务失效了,系统依然可以继续运行
    混合技术堆栈,可以使用不同的语言构建同一个应用。
    
  13. 内存溢出问题该如何解决。

    修改JVM启动参数,直接增加内存,然后检查错误日志,查看“OutOfMemory”错误前是否有其它异常或错误。然后对代码进行走查和分析,找出可能发生内存溢出的位置。
    
  14. Java中守护线程和本地线程的区别。

    唯一的区别是,判断虚拟机(JVM)什么时候离开,守护线程是为了其它线程提供服务的,如果全部的User Thread已经撤离,守护线程没有可以用的服务线程,虚拟机就会撤离,这么理解:用户线程是程序创建的线程,而JVM的垃圾回收线程就是一个守护线程,当所有线程不再产生垃圾,守护线程就没有存在的必要,所以垃圾回收线程会是Java虚拟机上最后的线程。
    
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值