关于套接字编程和多线程的访谈问题

Interview Questions on Socket Programming and Multi-Threading

本文关键字:访谈 问题 多线程 套接字 编程      更新时间:2023-10-16

请任何人都能告诉我以下主题的问题

  • 套接字编程
  • 多线程

提前感谢所有提供时间的人

作为一名招聘经理,我最喜欢问的网络问题是:

想象一个用户坐在以太网连接的电脑。他有一个浏览器打开他键入"www.google.com"在地址栏中,然后点击回车键。

现在告诉我第一包是什么出现在以太网上的是。

可能的答案(正确性不同)包括:

  • 我不知道
  • HTTP请求数据包
  • TCP同步数据包
  • DNS请求数据包
  • ARP数据包
  • 这取决于情况

每一个答案都揭示了人们对网络的理解,尤其是IP和TCP。随后的讨论可以揭示他们的理解。(当然,假设提问者在这方面有一定的专业知识)。

套接字编程

  • UDP和TCP之间的区别
  • 异步套接字和同步套接字之间的区别
  • 什么是包
  • 您是如何确定数据包到达时是否格式错误的
  • 你是如何确定一个包在哪里结束,另一个包从哪里开始的
  • 什么是港口

多线程

  • 你们知道哪些同步基元,它们之间的区别
  • 什么是僵局,什么是活络
  • 什么是比赛条件
  • 术语"无锁"是什么意思
  • 终止线程的最佳方式是什么
  • 为什么不应该使用TerminateThread式函数

几个示例问题:

  • 异步I/O,一种方法是问一个问题,如果通过多个线程实现(例如缓存结果),不同的客户端可能会在哪里查询服务器,并可能导致竞争条件。如果受访者选择多个线程,请提出竞争条件,看看他们是否提到异步I/O作为一种选择
  • 死锁和活锁有什么区别
  • web服务器原型
  • web客户端原型
  • 什么是短暂的港口;可替换地描述负载压力应用程序,该应用程序每秒以1000个请求命中服务器,但在几秒钟后停止向服务器发出请求;2-4分钟后,应用程序再次开始向服务器发送1000个请求
  • 编写一个线程安全的生产者/消费者缓冲区,一个或多个生产者/消费者可以访问该缓冲区
  • 客户端/服务器和p2p之间有什么区别
  • 这是更多的联网,但了解套接字调用下面发生了什么是有帮助的:描述TCP 3向握手
  • nagle的算法是什么?什么时候是可取的?你怎么关掉它
  • Linux变体:在编写守护进程时,基本构建块是什么(即派生子进程并杀死父进程、关闭stdin/stdout/stderr等)
  • Windows变体:在编写Windows服务时,基本的构建块是什么
  • 设计一个协议,用于在客户端和服务器之间进行通信,以发送音频/视频。如何为下一个最新/最棒的功能扩展它
  • TCP窗口是如何工作的?对于一个跨大陆执行大量大型读取的应用程序,我可以做些什么来优化性能

什么是死锁,如何避免它?

一些套接字编程问题。

你问这个问题是因为你被拉去面试你团队中的某个人吗?根据你在日常运营中不得不面对的现实问题提出问题。想想你遇到的最后一个与套接字编程有关的bug,把它变成一个面试问题。

理论很好,但你想知道加入团队的人有战壕经验。

  • 为什么一个典型的套接字程序需要多线程
  • 如何同时与来自同一进程/线程的不同网络连接进行对话?提示:异步套接字
  • 解释互联网数据传输是如何工作的?或者解释Web服务器是如何工作的?基于套接字编程概念、提示TCP Http等进行回答

套接字问题

  • 什么是插座
  • acceptconnect之间有什么区别
  • closeshutdown之间有什么区别
  • 您将如何异步地从connectwww.google.com

多线程问题

  • 什么是线程,它与进程有何不同
  • 您什么时候可以选择在单个CPU系统上使用线程
  • 您将如何衡量线程之间的上下文切换开销
  • 如何制作MT安全的哈希表,同时允许最大并发性
  • 说出Java套接字的一些优点和缺点
  • URL实例和URLConnection实例之间的区别是什么
  • 如何连接到URL
  • Java网络和RMI中的套接字是什么
  • 创建TCP套接字需要什么信息
  • 两个重要的TCP套接字类是什么
  • MalformedURLException和UnknownHostException何时引发
  • RMI代表什么
  • 什么是RMI
  • File和RandomAccessFile类之间的区别是什么
  • 在将对象作为对象写入流之前,对象必须实现什么接口
  • 解释查找本地端口
  • 两个重要的TCP套接字类是什么