23

请任何人都可以告诉我问题,可以在以下主题的采访中提出

  • 套接字编程
  • 多线程

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

4

8 回答 8

38

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

想象一个用户坐在连接以太网的 PC 前。他打开了一个浏览器。他在地址栏中输入“www.google.com”并按回车键。

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

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

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

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

于 2008-10-13T20:04:34.603 回答
28

套接字编程

  • UDP和TCP的区别。
  • 异步和同步套接字之间的区别。
  • 什么是包。
  • 您如何确定数据包是否没有格式错误。
  • 您如何确定一个数据包的结束位置和另一个数据包的开始位置。
  • 什么是端口。

多线程

  • 您知道哪些同步原语,区分它们。
  • 什么是死锁,什么是活锁。
  • 什么是竞态条件。
  • “无锁”一词是什么意思。
  • 终止线程的最佳方法是什么。
  • 为什么你不应该使用 TerminateThread-esque 函数。
于 2008-10-07T04:11:58.927 回答
8

几个示例问题:

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

什么是死锁以及如何避免它?

一些套接字编程问题

于 2008-10-07T04:02:11.440 回答
7

你问是因为你被拉去面试将加入你团队的人吗?提出基于您在日常运营中必须面对的现实问题的问题。想想你遇到的与套接字编程有关的最后一个错误,并将其变成一个面试问题。

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

于 2008-10-13T20:10:39.553 回答
5
  • 为什么一个典型的socket程序需要多线程
  • 你如何从同一个进程/线程一次与一堆不同的网络连接交谈?提示:异步套接字
  • 解释互联网数据传输的工作原理?或解释网络服务器的工作原理?根据套接字编程概念、Hint TCP Http 等回答它。
于 2008-10-07T04:22:45.877 回答
0

套接字问题

  • 什么是插座?
  • accept和 和有什么区别connect
  • close和 和有什么区别shutdown
  • 你会如何connect异步www.google.com

多线程问题

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