当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《关于套接字编程和多线程的访谈问题》经验,为你挑选了6个好方法。

请任何人都可以告诉我这些问题,可以在面试中询问以下主题

套接字编程

多线程

感谢所有提供时间的人



1> Robᵩ..:

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

想象一下,用户坐在以太网连接的PC上.他打开了一个浏览器.他在地址栏中输入"www.google.com"并点击进入.

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

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

我不知道.

HTTP请求数据包.

TCP syn包.

DNS请求包.

ARP数据包.

这取决于.

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


聪明的问题.

2> arul..:

套接字编程

UDP和TCP之间的区别.

异步和同步套接字之间的区别.

什么是数据包.

你如何确定数据包是否未到达格式错误.

你如何确定一个数据包的结束位置和另一个数据包的开始位置.

什么是港口.

多线程

你知道什么同步原语,告诉它们之间的区别.

什么是死锁,什么是活锁.

什么是比赛条件.

"锁定"一词的含义是什么?

终止线程的最佳方法是什么.

为什么不应该使用TerminateThread-esque函数.



3> terson..:

几个示例问题:

异步I/O,一种方法是询问一个问题,不同的客户端可能在哪里查询服务器,如果通过多个线程实现(例如缓存结果),可能会导致竞争条件.如果受访者使用多个线程,请调出竞争条件,看看他们是否提到异步I/O作为选项.

死锁和活锁有什么区别

原型Web服务器

原型Web客户端

什么是短暂的港口; 或者描述一个负载压力应用程序,该应用程序每秒有1000次请求命中服务器,但在几秒钟后停止向服务器发出请求; 2-4分钟后,应用程序再次开始使用1000个请求命中服务器.

编写一个可由一个或多个生产者/消费者访问的线程安全的生产者/消费者缓冲区

客户端/服务器和p2p之间有什么区别

这是更多网络,但了解套接字调用下发生的事情很有帮助:描述TCP 3次握手

什么是nagle的算法?什么时候可取?你怎么能把它关掉?

Linux变种:在编写守护进程时,基本构建块是什么(即分叉子进程并终止父进程,关闭stdin/stdout/stderr等)

Windows变体:在编写Windows服务时,什么是基本构建块.

设计用于在客户端和服务器之间进行通信以发送音频/视频的协议.你如何扩展它为下一个最新/最伟大的功能.

TCP窗口如何工作,我该怎么做才能优化跨大洲执行大量读取的应用程序的性能.



4> Eclipse..:

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

一些套接字编程问题.



5> Andy Lester..:

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

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



6> Jobi Joy..:

为什么典型的套接字程序需要多线程

你如何从同一个进程/线程一次与多个不同的网络连接进行通信?提示:异步套接字

解释Internet数据传输的工作原理?或解释网络服务器的工作原理?基于套接字编程概念,提示TCP Http等回答它.


"解释互联网如何运作?" 除非你雇用Vint Cerf,否则那个人似乎对我来说过于宽泛.
推荐阅读
mobiledu2402851377
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有