发布新日志

  • 面试有感

    2008-06-03 00:22:21

        上上周的时候去参加了平生第一次面试,一直想找个时间把当时的所见所感记录下来,磨啊磨啊,碍于自己文笔实在太差。汗!!

        第一次面试去的就是闵行的紫竹科技园,事先关是研究路线,已经是满头黑线了,一号线坐到底,五号线坐六站,MY,又转江川三路。。无语了 结果提早到了四处晃悠了N圈 不过到了地方,感觉确实很不一样,环境很好,气氛也很好 ,最重要的是很多NB IT公司啊 ,o(∩_∩)o...稍稍激动了一下,能在这个地方工作很不错呢

        本来是2点半的面试,结果提早到了,在一楼的大厅晃了一圈就直接上了四楼的海辉上海,进去之后前台MM直接领我进了一间会议室,里面已经有个GG正在奋笔疾书了 呵呵 感觉他很紧张呢  貌视看到他紧张,我就不紧张了  就开始做笔试题,,什么写自动售货机,三角形的测试用例,一个网络题,找出GUI界面的BUG,中译英,英译中,还有专业英文术语,,貌视还有两个编程题,一个是C,一个是C++,都是和指针有关的,判断运行结果,汗。做完之后 和那个GG聊了一会,貌视人家是开发。。怪不得一直奋笔疾书呢,,程序啊程序

          接着就是HR面试了,拿着我的简历问了一些相关的问题,什么对软件测试行业前景的看法啊,自己的缺点和优点啊,在项目中的任务啊 ,然后直接拿旁边的电话机让我说测试用例。。。就开始扯啊扯啊,不过貌视没扯出几条,平时积累太少了。语言组织能力菜一个字,英语口语不太行。。完了就直接让我去微软那边面,偶就按HR指出的路线一路搜寻过去,果真是大公司,安全警惕性高,一进去就保安登记。。然后就等着把我领进去,,HOHO,进去之后就等着面试官过来,偶观察了一下,微软里帅哥美女还真不少,接下来就开始了我最难以启齿的面试经过,整个面试过程,其实气氛是非常轻松,面试官也是非常和善,可是。偶全部过程不知道哪个筋错了 一直脑子一片空白,问我怎么测键盘,IE自动Crash可能是什么原因。。。期间进行了一段英文交流,,,面试官一直在提示。。汗。。面了大概有一个小时,出来的时候我只感觉没戏了,,哎,回去总结经验,第一次面试自己的表现比自己想象中菜了非常多。总归原因就是太紧张了。紧张到自己都感觉不到紧张的程度。。。结果 第二天竟然通知说通过了,,汗。。。然后就开始了漫长的等待三面的过程。

  • (转)什么是NAT

    2008-03-30 16:39:39

    利用NAT保护您的内部网络

    什么是NAT

    NAT——网络地址转换,是通过将专用网络地址(如企业内部网Intranet)转换为公用地址(如互联网Internet),从而对外隐藏了内部管理的 IP 地址。这样,通过在内部使用非注册的 IP 地址,并将它们转换为一小部分外部注册的 IP 地址,从而减少了IP 地址注册的费用以及节省了目前越来越缺乏的地址空间(即IPV4)。同时,这也隐藏了内部网络结构,从而降低了内部网络受到攻击的风险。

    NAT功能通常被集成到路由器、防火墙、单独的NAT设备中,当然,现在比较流行的操作系统或其他软件(主要是代理软件,如WINROUTE),大多也有着NAT的功能。NAT设备(或软件)维护一个状态表,用来把内部网络的私有IP地址映射到外部网络的合法IP地址上去。每个包在NAT设备(或软件)中都被翻译成正确的IP地址发往下一级。与普通路由器不同的是,NAT设备实际上对包头进行修改,将内部网络的源地址变为NAT设备自己的外部网络地址,而普通路由器仅在将数据包转发到目的地前读取源地址和目的地址。

    NAT分为三种类型:静态NAT(staticNAT)、NAT池(pooledNAT)和端口NAT(PAT)。其中静态NAT将内部网络中的每个主机都被永久映射成外部网络中的某个合法的地址,而NAT池则是在外部网络中定义了一系列的合法地址,采用动态分配的方法映射到内部网络,端口NAT则是把内部地址映射到外部网络的一个IP地址的不同端口上。

      废话说了不少,让我们转入正题,看一下如何利用NAT保护内部网络。

    使用网络地址转换NAT,使得外部网络对内部网络的不可视,从而降低了外部网络对内部网络攻击的风险性。

    在我们将内部网络的服务使用端口映射到NAT设备(或是软件)上时,NAT设备看起来就像一样对外提供服务器一台服务器一样(如图一)。这样对于攻击者来讲,具有一定的难度,首先他要攻破NAT设备,再根据NAT设备连接到内部网络进行破坏。

    图一

    由图一我们可以看出,内部网络中的A、B和C提供相应的MAIL、FTP和HTTP服务。我们利用NAT将所提供服务机器的对应的服务端口25、110、20、21和80映射到NAT服务器上(IP:88.88.88.88,域名:5imax.net上,其中端口及服务对应如下:

    SMTP<->25

    POP3<->110

    FTP<->20,21

    HTTP<->80

    说到20,我来加一个小插曲。我们都知道FTP对应的端口应该是21,为什么又冒出来一个20呢?其实,我们们进行FTP文件传输中,客户端首先连接到FTP服务器的21端口,进行用户的认证,认证成功后,当我们要传输文件时,服务器会开一个端口为20来进行传输数据文件,也就是说,端口20才是真正传输所用到的端口,端口21只用于FTP的登陆认证。我们平常下载文件时,会遇到下载到99%时,文件不完成,不能成功的下载。其实是因为文件下载完毕后,还要在21端口再行进行用户认证,而我们下载文件的时间如果过长,客户机与服务器的21端口的连接会被服务器认为是超时连接而中断掉,就是这个原因。解决方法就是设置21端口的响应时间。

    话题扯远了(别拿柿子、鸡蛋……扔我啊),我们继续我们的NAT吧。由图一为例,当外部访问者访问http://www.5imax.net时,NAT会自动把请求提交到内部的192.168.0.102的80端口上,反之也一样,我们所收到的信息也是内部的192.168.0.102通过NAT来传输给外部访问者的。同样FTP及MAIL的服务也是如此。

    其中的NAT既可以用操作系统和代理软件,又可以用路由器及NAT设备。下面我们用软件的方法来具体实现具体的NAT设置。

    使用WINDOWS 2000 SERVER进行NAT的设置

    WINDOWS 20000 SERVER FAMILY强大的网络功能,说起来真是VERY GOOD。她集成很多网络功能,比如说DHCP、DNS、SNMP、路由……,进行NAT的设置,我们只需要一个WINDOWS 2000 SERVER就足够了,不必借助于其他的软件。

    说干就干,我们以中文版的WINDOWS 2000 SERVER为例,在NAT服务器上加两块网卡,一块是与内部网络相连(如IP:192.168.0.35),另一块则是与外部网络相连(如IP:88.88.88.88),在配置之前,要保证NAT服务器与内部私有网络及外部公用网络的数据传输没有故障。具体配置如下:

    打开“开始——>程序——>管理工具——>路由和远程访问”,出现一个对话框,左侧有一个“服务器状态”,一个“BDWSER(本地)”(不一定是BDWSER,其实就应该是你的机器名),点“BDWSER(本地)”,然后点“操作——>配置并启用路由和远程访问”,会弹出一个的对话框,下一步,会出现如图二的对话框,选择“Internet连接服务器”,下一步,

    图二

    如图三,选择“设置有网络地址转换(NAT)路由协议的路由器”,下一步

    图三

    如图四,选择“使用选择的Internet连接——>本地连接2”,这里要注意一点,“本地连接2”即为服务器的外部连接,如本例中域名为5imax.net地址为88.88.88.88;而“本地连接”而是服务器与内部网络的连接。然后“下一步——>完成”,此时“路由和远程访问”会自动启动,我们稍侯等待“路由和远程访问”的启动。

    图四

    通过以上的配置,我们就可以利用NAT将内部地址转发到外部地址,也就相当于本机(WINDOWS 2000 SERVER)可以通过NAT代理内部的机器共享上网了。如果NAT服务器使用了DHCP,那么客户机只要自动获取IP即可;如果没有设置,客户机要指定IP:192.168.0.*,子网掩码:255.255.255.0,网关:192.168.0.35,DNS:202.97.224.68(使用本地ISP提供DNS服务器地址即可)。接下来,我们应该来配置外部端口到内部端口的映射(如图一中的88.88.88.88:80——>192.168.0.102:80),使得外部访问者访问http://www.5imax.net相应的HTTP服务时,NAT主机会将服务的请求自动转换到内部网络所提供相应服务的主机上,反之,内部主机服务的反馈信息经由NAT主机转换发送到外部访问者。

    在“路由和远程访问”对话框的左侧,打开“BDWSER(本地)——>IP路由选择——>网络地址转换(NAT)”,这时在“路由和远程访问”对话框的右侧窗口应该有二个接口,外部网络和内部网络(如图五)。

    图五

    在详细信息窗格中,右键单击要配置的接口,然后单击属性 特殊端口选项卡上,在协议中,单击“TCP”“UDP”(根据不同的服务选择不同的协议,如HTTP服务为TCPTFTP服务为UDP,但此例中并未涉及到UDP协议),然后单击添加 传入端口中,键入传入公用通信的端口号(如图六中的“传入端口80)。在传出端口中,键入专用网络资源的端口号(如图六中的“传出端口80”)。在专用地址中,键入专用网络资源的专用地址(如图六中的“专用地址192.168.0.102”,即图一所示主机C192.168.0.102)。单击“确定”,添加完毕。同样,FTPMAIL的服务添加的端口为202125110

    图六

    以上的例子是仅使用单个公用IP进行NAT的转换,如果是使用多个公用IP,那么我们在配置映射端口之前,要进行NAT地址池的设置。在详细信息窗格中,右键单击要配置的接口(即外部网络接口,本地连接2),然后单击属性。在地址池选项卡上,单击添加,并执行下列操作之一:

    如果正在使用以 IP 地址和子网掩码表示的 IP 地址范围,则在“起始地址”中键入起始 IP 地址,然后在“掩码”中键入子网掩码。

    如果正在使用不能以 IP 地址和子网掩码表示的 IP 地址范围,在“起始地址”中键入起始 IP 地址,然后在“结束地址”中键入结束 IP 地址。

    在设置端口映射时(即特殊端口),请单击在此地址池项上,然后键入传入公用通信的公用 IP 地址,其他的设置与上述的设置方法相访。

    到了这里,我们的全部工作——利用NAT主机代理内部网络共享Interent和内部网络到NAT主机的端口映射——就完成了。为了安全起见,我们最好在NAT主机的接入处加一个防火墙或设置NAT主机的“IP安全机制(IPSEC)”和“TCP/IP筛选”。“IP安全机制”和“TCP/IP筛选”的设置就在外部网络的TCP/IP协议中的安全选项中,参考WINDOWS 2000的帮助文件进行设置就可以,我们在这里就不再赘述了。

    NAT的小结

    当然,使用NAT进行端口映射,用NAT代理软件同样可以做到(比如说WINROUTE),而且相应的设置比较简单,一般只要默认安装上后,在软件中进行简单设置就可以了。手都写累了,有机会我们以后再谈。

    利用NAT保护内部网络,特别是软件的NAT,适用于小、中型的网络,而大型的网络一般要使用硬件(如路由),因为NAT服务也要消耗NAT服务器的资源的。在大型的网络中,使用路由来做NAT,要做相应的安全设置,一般参考路由手册及CISCO ISO安全模型即可。

    NAT的使用,使内部网络相应于外部网络不可见化,入侵者要先侵入NAT服务器(或NAT设备),然后利用NAT做跳板,进一步侵入内部网络。这样,对于入侵者就有一定的难度,如果NAT服务器与内部服务器使用不同的操作系统,那么入侵者需要对这两个操作系统都要熟悉才可以做到的,这对于一般的入侵者来说,入侵行为无疑是提高了一个台阶。文章到此结束,本文的意图不仅仅只是一个步骤,而是希望大家以此为一个基点,利用现有的技术,组建出更安全的网络。

    由于写作上的失误及本人水平有限,本文难免会出现纰漏,希望大家指正。

  • (转)测试工程师如何规划自己的职业生涯?

    2008-03-29 22:27:47

    前几天在51的论坛里看到了这篇帖子,贴过来给大家共享一下,顺便明确下自己以后的发展方向,呵呵。

    观点一:

    具体的流程图见下图所示。(好经典,,,值得收藏)

    观点二:

    step1:校园阶段 (毕业前1年~1.5年)
    很多人的职业规划是到了工作以后才开始进行的,其实,这样做,有很大的局限性。凡是工作过的人,都有一个体会,就是自己的第一份工作,会影响到5~10年的发展轨迹,甚至会对一生产生影响。因此,选择一份合适的工作作为起点,是必须要在校园内思考清楚的问题。
    由于中国的教育基本是理论教育,大家在工作前的实践能力大多比较弱,固然有其不足,但也有好的一面,那就是可塑性比较好。可塑性好代表了选择的余地可以很大,因此,大家在选择第一份工的时候,要充分结合自己的教育背景、个人能力、兴趣爱好、长期目标等等,作出理性的决策。
    软件测试,特别是黑盒软件测试是一种入门起点较低、上手迅速、且发展空间比较大的职业,因此,对于很多学生而言,作为进入IT就业的初级岗位,是非常合适的。
    校园阶段的规划,主要是选择大的入门方向,当然,此时也可以给自己一个长期的目标,但是不必规划过细,因为,在没有入行前,一切都还未知,把握好路线即可。

    下文假设大家选择的是软件测试~~


    step2:入门阶段 (入行后3个月~1年)
    对于刚刚入行的新人,这个时期是一个全面熟悉期,最能够学习到新的知识,也最有拼搏的热情和动力。建议大家可以借着这股冲劲,尽可能了解所在领域的全貌,了解各个主要分支的内容、特性、优势、局限性等等,并考察自己当前的工作环境,结合个人匹配程度和兴趣爱好,根据前述内容调整自己的规划。
    对于测试行当而言,技术方面一般有几类:黑盒测试、白盒测试、自动化测试、测试工具、专用业务技能等;相关的管理方面一般有:测试管理、质量管理、项目管理等。
    面对上述形形色色的方向,建议大家可以都稍稍了解下内涵,然后确定1~2个,作为中长期的主攻方向,达此标准,基本已经实现了入门,至于能否进得厅堂,就要看后期的努力了。


    step3:提高阶段(入门后3年~5年)
    对于入门后选择管理还是选择技术,其实这种问题,是无可无不可的,关键是看对自己的长期的定位了。不过,我个人建议当前阶段还是技术为重吧。毕竟,在一个技术环境中,要做好管理,没有扎实的基础,也难服众嘛。
    本阶段是人最容易懈怠的阶段。毕竟,刚刚入行的热忱早已被日复一日的繁复工作给冷却,有了一定的工作经验,胜任本职,对于大多数人而言,绝不是问题。家庭、娱乐方面开始占据了业余生活的主流。可是,毕竟大家还很年轻,大多数人此时也不过20多岁,就此懈怠也是非常可怕的。因此,有规划的提高自身核心竞争力,在这个时候尤为关键。
    提高是要提高的,但是对于大多数人而言,也没有必要很拼搏,此时处在一个比较稳定的职位上的你,可以考虑进行细化自己的中期规划了。根据选定的方向,制定一个自我提升的计划,并定义好自我检查的里程碑(譬如:每个季度或半年算一个阶段),每天或者每周,有规律的学习一点即可。抱定一个目标——“每天进步一点点”,几年一大成不是问题。
    我个人是反对急功近利的,倾向于稳打稳扎,这个阶段忌做“万金油”,而应努力成为有一技之长的“专家”。
    对于选择做技术的人而言,这个阶段的达成标准,一般至少要能够熟悉你所选技术方向的大多数技术细节,“细节决定成败”嘛,虽然把握全局的能力是必要的,但是作技术而言,倘若不能钻的很细很深,恐怕也很难以高手自居吧。
    对于选择做管理的人而言,我个人倾向是:此阶段接触管理的理念,并可以介入管理,但是此阶段不宜全面进入管理(除非你有更深层次的考虑,可以不去稳打稳扎)。学习管理的理念是非常重要的,其实管理更多一种思维和做事的方式,这门学问很深入,也不像技术,会不会是那么的显著,因此,建议多看多学,取长补短,并努力形成自己的做事风格。高级测试工程师,测试组长等,都是不错的含有技术特征的管理职位,此时的你应该能够胜任于此。

    这个阶段的达成后,你也可以跻身老手行列,不必为求职犯愁,你应该可以很容易跳槽或时不时被猎头骚扰下,达成此阶段,你要做更深入的规划。


    step4:升华阶段(老手后5年~10年)
    此时的你,即将步入中年,不论是曾经专注技术还是偏爱管理的,都面临着家庭和社会的双重压力,你不可能像年轻人一样整天拼搏了,你需要稳定,因此,不能频繁的跳槽,建议考虑比较正规且有潜力的企业,要考虑给自己一个长远的发展规划。
    正因为有前期的细节的背景的支撑,此时,你需要努力提升自己的宏观把握能力。哪怕做技术的,也要考虑适当的转型管理(中国特色是:工程师很难超过35岁的,一般人到了30岁不是转管理就是转商务了)。当然,一般人是技术做得越好,管理的时候,越容易切中项目要害。但是,对于从技术上来的人,关键是要开始培养和人打交道的能力。此阶段的关键是,需要逐步形成自己的管理风格,具备协调并行事务的能力。
    当然,纯管理和技术型管理还是有所区别的。对于纯管理的人,熟练应用管理的科学理念,形成自己的风格尤为重要。纯管理的测试经理人,不仅仅可以做好测试方面的管理,其实也可以做好项目甚至其他的管理。其实,不管管理的对象是什么,它们的管理理念还是相通的。从测试管理中摸索出来的很多经验,可以很好的推广于其他的管理领域。而对于技术型管理的人,主要是带好技术团队,同时,不断补充新的技术知识,跟紧技术潮流。此时的你,有强大的技术背景支撑,不需要过分钻研细节,只需洞察核心,合理安排好你的团队成员即可。
    这个阶段,也可能少数的人会选择离开具体的企业,而开始从事测试咨询,那是一个充满挑战的崭新开始,也必须有前期的积累方能胜任。
    对于大多数人而言,此阶段中一个需要重点考虑的问题是,是否将测试作为自己的终生职位,如果是,基本上达到上述的目标,保持状态,基本可以做到退休的。如果不是,那就比较可怕了。其实我不建议此阶段的人转型,除非有充分的理由和很好的机遇。毕竟,达到此阶段,你已经付出了至少5年的努力,而且还是人生的黄金时段,时光一去不复返啊。当前状态下转行,请务必慎重。

    观点三:

    初级测试工程师:刚走出大学校门或者刚从些培训机构出来的学员,之前没有或具备很少的测试经验,这个阶段主要是掌握最基本的测试方法、测试计划、测试用例、测试报告、环境搭建等。北京上海地区,该职位薪水一般在2000-5000之间。

    中级测试工程师:从事过2-3年实际工作的测试工程师,能够独立制定测试计划,编写测试用例,对初级测试工程师进行指导等。北京上海地区,该职位薪水一般在4000-6000之间。
    达到中级测试工程师水准后,以后的发展可以存在多种方向:
    管理方向:
    测试组长:一般5人以下团队,能够同时承担2-3个较小项目(程序代码在5000行以下)或者1个中、大型项目(程序代码在5000行-25000行左右)。北京上海地区,该职位薪水一般在5000以上,好的过万。
    测试经理:可以管理多个小型测试团队,能够承担多个中型及较大型项目的测试,及具备至少1个大型项目(程序代码在25000行以上)的测试管理能力。该职位薪水一般过万,年薪二三十万正常。
    质量经理/项目管理:跳出测试的执行转而关注过程。SQA待遇差别比较大,但有2年以上测试或开发经验的人5000以上应该没问题,好的也过万。

    技术方向:
    白盒测试:这个由开发人员转过来的比较多,一般技术上要至少达到技术经理的水准。待遇比较好,一般7k以上,好的年薪二三十万。
    自动化测试方向:熟练使用一种以上自动化测试工具,做的好的待遇与白盒测试有的一拼,一般6k以上,不过最近学的人多了,待遇贬值可能比较快。
    测试分析师/技术总监:主要职责是对系统的测试结果进行综合的分析,例如缺陷分析、性能分析等。不但测试技术能力较强,还要具备数据库、操作系统等多方面的技术知识。这个待遇一般过万了吧.
    行业测试专家:物以稀为贵,过万一般问题不大。

    经历了以上一些阶段,大概在35岁左右,职业发展上基本达到瓶颈,此时只要混的不是很差收入一般可以算的上中产阶级,日子可能依然过的比较郁闷,之后的方向可能有做培训,咨询,自己开公司创业等。

数据统计

  • 访问量: 3138
  • 日志数: 4
  • 建立时间: 2008-03-29
  • 更新时间: 2008-08-22

RSS订阅

Open Toolbar