2008-10-07 90 views
22

请任何人都可以告诉我的疑问,可在接受记者采访时被要求提供以下几方面面试问题

  • socket编程
  • 多线程

提前感谢送给大家谁提供他们的时间

回答

27

socket编程UDP和TCP之间

  • 差异。
  • 异步和同步套接字之间的区别。
  • 什么是数据包。
  • 如何判断数据包是否未到达格式错误?
  • 你是怎么判断其中一个分组结束,其中一个又一个开始。
  • 什么是港口。

多线程

  • 什么同步原语,你知道,告诉他们之间的区别。
  • 什么是死锁,什么是活锁。
  • 什么是竞赛条件。
  • 术语'无锁'意味着什么。
  • 什么是终止线程的最佳方式。
  • 为什么不应该使用TerminateThread-esque函数。
5
  • 为什么一个典型的套接字程序需要多线程
  • 你怎么跟一堆不同的网络连接的同时,从相同的进程/线程?提示:异步套接字
  • 说明Internet数据传输如何工作?或者解释一个web服务器的工作原理?回答是基于Socket的编程概念,提示TCP的Http等。
+2

“解释互联网是如何工作的?”除非你雇用Vint Cerf,否则这对我来说似乎过于宽泛。 – 2008-10-13 19:59:17

+0

Innternnet是如何工作的? internnet如何工作?数据如何被破坏? – 2008-10-13 20:11:16

+0

典型的套接字程序需要多线程的想法是无稽之谈。多线程I/O和/或多程序在多线程变得普遍很久以前就非常成功地使用了。 – 2013-02-10 19:48:03

8

一对夫妇的例子问题:

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

作为人事经理,我最喜欢的网络问题要问的是:

想象一下,一个用户坐在一个 以太网连接的PC。他有一个浏览器 开放。他在地址栏中输入“www.google.com” ,然后点击输入。

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

可能的答案(的变化的正确性)包括:

  • 我不知道。
  • HTTP请求 数据包。
  • TCP syn包。
  • DNS 请求包。
  • ARP数据包。
  • 这取决于。

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

+6

聪明的问题。 – 2009-01-27 16:29:34

6

你问,因为你被拖入采访谁将会在你的团队?提出基于您在日常运营中不得不面对的现实问题的问题。想想你与套接字编程有关的最后一个错误,并将它变成面试问题。

理论是好的,但你要知道,加入这个团队的人在战壕经验。

0

插座问题

  • 什么是socket?
  • 什么是acceptconnect之间的区别是什么?
  • 什么是closeshutdown之间的区别是什么?
  • 你将如何connectwww.google.com异步?

多线程问题

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