由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 最近一道面试题分享
相关主题
设计web services API最需要注意的是什么?Materials Science 里面偏金属 找工作前景怎么样啊
MS面试题我们最近招JAVA+Web Service的QA,有兴趣的短信给我
心情低落,需要一些blessT家 :: 面筋
小弟正在在线考试,3道问题完全不会,请各位帮帮忙,还有40分钟就要交卷了T_T招聘:Engineer @E la carte
google面试有问protocol buffer嘛做restful API,有前途么?
Lab/IT support engineer (contract)刚刚amazon 2nd phone interview
bloomberg online assessement (JAVA)google 面试题
周三晚的免费找工电话会议录音网上听grep + perl regular expr (转载)
相关话题的讨论汇总
话题: 机器话题: localhost话题: 端口话题: washtenaw
进入JobHunting版参与讨论
1 (共1页)
f*****u
发帖数: 308
1
—|1 3|——|1 3|— ...
—|2 4|——|2 4|— ...
如上图所示(这个bbs的编辑器竟然所见非所得,这个图太难画了。),有若干台机器
以上图所示的已知方式链接,但是不知道总共有多少台机器这样连起来了,每台机器4
个连接端口,每个端口两种可能:跟其他机器的某个端口连接,不跟任何其他机器连接
。现在提供三个API:
1. boolean isConnected(port portID)
2. void sendMsg(port portID, Msg msg)
3. Msg receiveMsg(port portID)
要求写一个程序,在这个网络里面的每台机器上都放一个copy,每个copy单独在自己的
机器上运行,每个程序运行结束都要最终返回网络里面连接的总机器数目。
w***g
发帖数: 5958
2
我靠,不会是以面试之名找人解决难题吧。
如果是Linux机器的话用命令netstat -tp, 可以显示类似如下内容。
本地哪个端口连了远程哪个端口都有了。都不用手工每台机器上放一个程序。
直接pdsh netstat -tp, 然后分析输出的数据就行了。
牛人用几行脚本搞定的事情外行往往需要花一个星期写很多行程序才能勉强弄出来。
再不济的自己搞不定还要以面试之名找人来搞,并且给出一个暴露自己水平的面试题。
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
PID/Program name
tcp 1 0 localhost:41180 localhost:37383 CLOSE_
WAIT -
tcp 0 0 washtenaw:19000 localhost:60272
ESTABLISHED 7588/java
tcp 0 0 washtenaw:58086 111.221.74.12:40030
ESTABLISHED 10260/skype
tcp 0 0 washtenaw:55899 157.56.53.40:12350
ESTABLISHED 10260/skype
tcp 0 0 washtenaw:47280 64.4.44.48:https
ESTABLISHED 10260/skype
tcp 0 0 washtenaw:50827 ord30s22-in-f0.1e:https
ESTABLISHED 413/firefox
tcp 0 0 localhost:60272 washtenaw:19000
ESTABLISHED 7748/java
注意第四列如果是不同机器的连接则不可能是localhost,直接用grep -v localhost都
过滤掉就行。第七列是program name。所以上面pdsh的输出用grep 程序名| grep -v
localhost过滤,或者你知道端口的话再用端口过滤,剩下的就是你关心的那些链接了
。所有数据都合起来以后,第四列和第五列的数据其实就是一样的,因为每台连接的机
器都会在第四列出现一次再在第五列出现一次。所以再选一列统计下数就行。
最后命令写出来是
pdsh netstat -tp | grep ESTABLISHED | grep -v localhost | grep 端口号或者命
令名 | awk '{print $5}' | cut -f 1 -d : | sort | uniq
就打印出所有有连接的机器了。注意pdsh会在输出前加一列,所以awk里面是$5而不是$
4。根本用不着什么API。

4

【在 f*****u 的大作中提到】
: —|1 3|——|1 3|— ...
: —|2 4|——|2 4|— ...
: 如上图所示(这个bbs的编辑器竟然所见非所得,这个图太难画了。),有若干台机器
: 以上图所示的已知方式链接,但是不知道总共有多少台机器这样连起来了,每台机器4
: 个连接端口,每个端口两种可能:跟其他机器的某个端口连接,不跟任何其他机器连接
: 。现在提供三个API:
: 1. boolean isConnected(port portID)
: 2. void sendMsg(port portID, Msg msg)
: 3. Msg receiveMsg(port portID)
: 要求写一个程序,在这个网络里面的每台机器上都放一个copy,每个copy单独在自己的

f*****u
发帖数: 308
3
多谢大牛的脚本解法,收藏了。这是几周前去Oracle onsite时被问的。



【在 w***g 的大作中提到】
: 我靠,不会是以面试之名找人解决难题吧。
: 如果是Linux机器的话用命令netstat -tp, 可以显示类似如下内容。
: 本地哪个端口连了远程哪个端口都有了。都不用手工每台机器上放一个程序。
: 直接pdsh netstat -tp, 然后分析输出的数据就行了。
: 牛人用几行脚本搞定的事情外行往往需要花一个星期写很多行程序才能勉强弄出来。
: 再不济的自己搞不定还要以面试之名找人来搞,并且给出一个暴露自己水平的面试题。
: (Not all processes could be identified, non-owned process info
: will not be shown, you would have to be root to see it all.)
: Active Internet connections (w/o servers)
: Proto Recv-Q Send-Q Local Address Foreign Address State

1 (共1页)
进入JobHunting版参与讨论
相关主题
grep + perl regular expr (转载)google面试有问protocol buffer嘛
刚完的amazon电话面试Lab/IT support engineer (contract)
amazon 电面bloomberg online assessement (JAVA)
amazon phone interview questions周三晚的免费找工电话会议录音网上听
设计web services API最需要注意的是什么?Materials Science 里面偏金属 找工作前景怎么样啊
MS面试题我们最近招JAVA+Web Service的QA,有兴趣的短信给我
心情低落,需要一些blessT家 :: 面筋
小弟正在在线考试,3道问题完全不会,请各位帮帮忙,还有40分钟就要交卷了T_T招聘:Engineer @E la carte
相关话题的讨论汇总
话题: 机器话题: localhost话题: 端口话题: washtenaw