首页 > 字节提前批 8.4 番茄小说 后端一面凉经
头像
piwei
编辑于 2021-08-05 21:22
+ 关注

字节提前批 8.4 番茄小说 后端一面凉经

一、写在前面

  • 算法仍然是大厂考察的重点;
  • 希望各位牛友帮我分析一下面试失败的原因;

二、面试内容(40min)

1. 计算机网络

  • HTTP与HTTPS的区别

    HTTP基于TCP进行通信,HTTPS则是在于TCP通信之前,先与SSL通信;
  • SSL的作用

    防窃听、防篡改、完整性保护;
  • 一个URL输入浏览器之后,详细的解析过程;

    DNS解析域名的过程:迭代与递归两种方式,并且说明了请求流动分别经过了什么级别的服务器;
    
    获取IP地址之后,三次握手的TCP过程;详细到了每一个报文中的同步比特、确认比特等;以及解释了为什么要三次握手:确认彼此的接受/发送能力、防止打开过多的TCP链接;
    
    浏览器通过HTTP请求获取对应URL资源,渲染页面呈现给用户;
    
    TCP四次挥手,具体到了每一个报文的同步比特与确认比特,并解释了TIME WAIT(防止用户端最后的确认报文不能抵达服务端从而不能关闭连接)和CLOSE WAIT(等待响应进程结束数据的传输)

2. 操作系统

  • 进程与线程的区别

    进程:对运行程序的一种抽象,操作系统分配资源的最小单位;
    线程:比进程更加纤细的存在,实际运行在CPU上的;
    
    这里应该说:线程之间并不独立,极有可能互相影响;进程之间独立性强;
  • 进程间的通信方式

    7种方式:
    
    匿名管道:亲缘进程通信、半双工、一进一出、实质上是内存中一种较为特殊的文件;
    有名管道:与匿名类似、任意进程通信,是实际存在于文件系统的文件;
    信号:任意时刻发送给某一个进程的一种信号通信方式,例如在命令行通过ctrl^c结束一个进程;
    消息队列:存在于内核当中的消息队列;(遵循FIFO,但是支持随机访问,消息队列克服了信号承载信息量少,管道只能承载无格式字 节流以及缓冲区大小受限等缺)
    信号量:一种计数器,主要用于进程间的同步问题;
    共享内存:如今最常用的一种通信方式;多个进程访问同一块内存,需要注意对于临界资源的互斥访问;
    (套接字:实现网络中位于不同端的进程间通信)
  • 进程上下文切换,保存了什么资源?

    说的很模糊;我的回答是:保存了PC、局部变量等内容;

3. Java八股文

  • HashMap的底层实现?

    底层是Table数组,每个数组元素可以看作是一个桶,桶中存放的可能是链表或者红黑树;
    链表树化的条件:table>64 && 链表>8
  • HashMap何时扩容

    HashMap元素数量大于临界值的时候,触发扩容;
    临界值的大小是当前数组长度的0.75;
    0.75的计算,似乎是根据统计学中的泊松分布得来的(不确定);

4. 算法

  • 合并区间

    o(n+nlogn)的写法,即排序+合并,但是我忘记了二维数组的排序API,被说了;可以重写比较器;
  • 寻找峰值

    o(n)简单,但是你要学会o(logn)的算法;

三、总结

  • 需要提升算法,目前仍然不够熟练;
  • 回答要有自己的思路与规范,纯背书不好;有了基础知识的实力的人很多,你如何融汇贯通自己的实力?

希望得到大***贵的意见;

更多模拟面试

全部评论

(16) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

热门推荐