首页 > 8.10~端点一面面经
头像
helloRachel
编辑于 2021-08-18 23:30
+ 关注

8.10~端点一面面经

端点

base:杭州

笔试:

  1. TCP三次握手、四次挥手过程中客户端和服务端的状态 TCP

    三次握手:

    • client调用connect()发送请求,转为SYN_SEND状态,传送SYN seq=x报文给server;
    • server调用listen方法转为LISTEN状态,当server收到client的请求时,转入ESTABLISHED状态,并向client传送ACK=x+1和SYN seq=y的响应报文;
    • 当client收到server的响应时,转入ESTABLISHED状态,并向server传送ACK=y+1的响应报文。

    三次握手进行TCP客户端和服务器端之间的连接,第一次连接的作用是client端需要请求连接;第二次的作用是server端确认接收连接,并通知client自己有接受消息的能力;第三次连接是为了让服务端直到client有接收消息的能力。

    数据传输的过程:

    • client通过write()发送seq=x+1 ACK=y+1给server;
    • server通过read()读取信息,反馈给client ACK=x+2

    需要断开连接时:

    • client调用close()方法转为FIN_WAIT_1,向server传送FIN seq=x+2ACK=y+1的结束报文;
    • server接受到报文后转为CLOSE_WAIT状态,向client传送ACK=X+3的确认断开连接的报文,client接受之后转为FIN_WAIT_2;
    • 等待server端处理完毕,调用close()方法,转入LAST_ACK状态,传送FIN seq=y+1报文可以断开,client收到报文后转为TIME_WAIT状态等待关闭连接;
    • 经过一段时间,client向server发送ACK=y+2报文

2. Linux中输入命令ls -al anaconda-post.log,输出-rw-r-r- 1 root root 12123 Oct 1 2019 anaconda-post.log的含义解释:第一个符号-表示文件类型;rw-表示可读可写;接着两个r-分别表示所属组的权限和其他人的权限,都是可读;数字表示文件被调用次数;两个root分别表示所有者u,所属组g12123是文件大小,单位字节;接下来是文件最后一次修改时间;最后是文件名。

  1. 若多个进程共享同一个文件 F,则下列叙述中正确的是:来自408真题·操作系统
    A、各进程只能用“读”方式打开文件 F
    B、在系统打开文件表中仅有一个表项包含 F 的属性
    C、各进程的用户打开文件表中关于 F 的表项内容相同
    D、进程关闭 F 时系统删除 F 在系统打开文件表中的表项

    答案:B
    解析:多个进程可同时以“读”或“写”方式打开文件F,即A选项错误;
    整个系统只有一张系统打开文件表,即在系统打开文件表中仅有一个表项包含文件F的属性,即B选项正确;
    用户进程的打开文件表关于同一个共享文件的表项内容不一样相同,比如读写指针不一致,即C选项错误;
    进程关闭文件时,只会将文件的引用计数count减去1,当引用计数count变为0时,系统才会删除F在系统打开文件表中的表现,即D选项错误。

    【补充】每个进程都有它自己的文件表项(file对象),其中有它自己的文件位移量

  2. AB都正常工作,B未监听到任何端口,此时A向B的80端口发送SYN包,会收到什么类型的回包?RST包(reset)参考TCP中RST详解:RST表示复位,用来异常的关闭连接

一面 54min

1. 项目介绍;对于Java方向的偏向,职业规划

2. 项目中是否有稍微复杂一些的功能?是否有订购功能?假设给一个拼团的需求,如何设计?【提示:从业务逻辑角度设计一个闭环的拼团流程,也就是完成该功能的步骤,如下单的业务流程:打开页面、加购、支付、结算;退款、维保等】

3. Q: 很多人拼团,涉及到并发,如何设计?前提条件是分布式系统,单纯设置信号量的方式可能不行。可能需要用到分布式锁。

4. 没用过分布式相关知识,提到了spring boot框架:

Q: bean的生命周期?

A: 实例化ApplicationContext对象,扫描解析类,生成BeanDefination对象,将解析后的信息作为对象属性,放入map中,spring会遍历map,验证返回BeanName,推断构造方法,通过反射构建对象,将对象封装成BeanMapper对象,然后后置处理器通过AOP代理,将对象放入单例池中......

Q: bean初始化完成之后需要修改,需要通过什么接口对其进行修改?

A: spring本省就包含一些相应的触点,我说的是beanFactory中的

5. 浏览器输入一个网址,回车到达服务器的过程?springMVC的执行过程?handler是否用于处理对应的逻辑?

6. spring如何处理循环依赖?

7. 为什么要用三级缓存?二级缓存就可以解决这个问题呀~

8. 【Java基础】Java的四种引用;hashcode有什么用?如果两个对象值相等,其hashcode是否相等?hashmap1.8的底层原理;hashmap 2倍扩容有什么好处吗?

9. 【Java锁相关】

Q: 你知道Java中的相关锁吗?

A: 乐观锁、悲观锁;公平锁,非公平锁;独占锁;CAS,同步锁

Q: Java中的乐观锁有哪种?

A: CAS

Q: 一般来说我们会如何使用他,是否看过某个框架使用过乐观锁,可以详细聊聊。ConcurrentHashMap每个bucket的头节点插入用到了CAS,

A:

Q: 锁同步的几种,常用的synchronized和Lock(ReenTrantLock),说说二者的区别。他们两者的底层原理有什么不同

Q: AQS是否了解?

Q: 线程池的使用?Executor的四种区别,分别用在什么场景比较合适?是否了解过其同步队列?

10. 反射、泛型是否用过?泛型擦除

11. Java设计模式是否用过?单例模式如何定义?饱汉模式和饿汉模式分别怎么写?是否会存在线程安全问题?如何设计?

12. Q: 介绍一下MySQL的索引,建议从搜索引擎、对应的索引、对应的原理按顺序讲述。

A:

Q: 聚簇索引和非聚簇索引最大的区别是什么?

A: 

13. 其他技术栈像redis,ES等是否用过?

14. 反问:业务主要ToB端,云维护部署等服务,包括类似于阿里云的工***台和类似于Wiki百科的数据库平台,都是微服务类的项目;技术栈:spring boot、spring cloud、dubbo、redis、mysql、ES等

15. 有没有用过docker相关的东西?一周内通知

更多模拟面试

全部评论

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

相关热帖

近期热帖

近期精华帖

热门推荐