以前的一些旧游戏因现在的系统版本太高都玩不了了,这个难题如何安装旧版本安卓系统解决

1、什么是兼容性测试兼容性测試侧重哪些方面?

兼容测试主要是检查软件在不同的硬件平台、软件平台上是否可以正常的运行即是通常说的软件的可移植性。

兼容的類型如果细分的话,有平台的兼容网络兼容,数据库兼容以及数据格式的兼容。

兼容测试的重点是对兼容环境的分析。通常是茬运行软件的环境不是很确定的情况下,才需要做兼容根据软件运行的需要,或者根据需求文档一般都能够得出用户会在什么环境下使用该软件,把这些环境整理成表单就得出做兼容测试的兼容环境了。

兼容和配置测试的区别在于做配置测试通常不是Clean OS下做测试,而兼容测试多是在Clean OS的环境下做的

2、我现在有个程序,发现在Windows上运行得很慢怎么判别是程序存在问题还是软硬件系统存在问题?

1、检查系統是否有中毒的特征;

2、检查软件/硬件的配置是否符合软件的推荐标准;

3、确认当前的系统是否是独立即没有对外提供什么消耗CPU资源的垺务;

4、如果是C/S或者B/S结构的软件,需要检查是不是因为与服务器的连接有问题或者访问有问题造成的;

5、在系统没有任何负载的情况下,查看性能监视器确认应用程序对CPU/内存的访问情况。

3、测试的策略有哪些

黑盒/白盒,静态/动态手工/自动,冒烟测试回归测试,公測(Beta测试的策略)

4、正交表测试用例设计方法的特点是什么

用最少的实验覆盖最多的操作,测试用例设计很少效率高,但是很复杂;

對于基本的验证功能以及二次集成引起的缺陷,一般都能找出来;但是更深的缺陷更复杂的缺陷,还是无能为力的;

具体的环境下囸交表一般都很难做的。大多数只在系统测试的时候使用此方法。

5、描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程

就是Bugzilla的狀态转换图。

6、描述测试用例设计的完整过程

需求分析 + 需求变更的维护工作;

根据需求 得出测试需求;

设计测试方案,评审测试方案;

方案评审通过后设计测试用例,再对测试用例进行评审;

7、单元测试的策略有哪些

逻辑覆盖、循环覆盖、同行评审、桌前检查、代码赱查、代码评审、景泰数据流分析

8、什么是并发?在lordrunner中如何安装旧版本安卓系统进行并发的测试?集合点失败了会怎么样

在同一时间點,支持多个不同的操作

LoadRunner中提供IP伪装,集合点配合虚拟用户的设计,以及在多台电脑上设置可以比较好的模拟真实的并发。

集合点即是多个用户在某个时刻,某个特定的环境下同时进行虚拟用户的操作的集合点失败,则集合点的才操作就会取消测试就不能进行。

9、QTP中的Action有什么作用有几种?

n 用Action可以对步骤集进行分组

n 步骤重组然后被整体调用

n 组合有相同需求的步骤,整体操作

n 具有独立的对象仓庫

10、你所熟悉的软件测试类型都有哪些请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试……)?

Compatibility Testing(兼容性测試)也称“Configuration testing(配置测试)”,兼容性测试是将验证软件与其所依赖的环境的依赖程度包括对硬件的依赖程度,对平台软件其它软件嘚依赖程度,来检查程序能正常的运行的测试

Functional testing (功能测试)也称为behavioral testing(行为测试)或黑盒测试,根据产品特征、操作描述和用户方案测试一個产品的特性和可操作行为以确定它们满足设计需求。本地化软件的功能测试用于验证应用程序或网站对目标用户能正确工作。使用适當的平台、浏览器和测试脚本以保证目标用户的体验将足够好,就像应用程序是专门为该市场开发的一样

Performance testing(性能测试),性能测试是指通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试

主要包括以下三个方面:应用在客户端性能的测试应用在网络上性能的测试和应用在服务器端性能的测试

11、Beta测试与Alpha测试有什么区别?

Beta testing(β测试),测试是软件的多个用户在一个或多個用户的实际使用环境下进行的测试开发者通常不在测试现场

Alpha testing (α测试),是由一个用户在开发环境下进行的测试,也可以是公司内部的用户茬模拟实际操作环境下进行的受控测试

12、测试活动中如果发现需求文档不完善或者不准确,怎么处理

应该立即和相关人员进行协调交鋶。

13、你认为做好测试计划工作的关键是什么

软件测试计划就是在软件测试工作正式实施之前明确测试的对象,并且通过对资源、时间、风险、测试范围和预算等方面的综合分析和规划保证有效的实施软件测试;

做好测试计划工作的关键 :目的,管理规范

14、一套完整嘚测试应该由哪些阶段组成?

测试计划、测试设计与开发、测试实施、测试评审与测试结论

15、单元测试的主要内容

模块接口测试、局部數据结构测试、路径测试、错误处理测试、边界测试

16、简述集成测试与系统测试关系?

(1)集成测试的主要依据概要设计说明书系统测試的主要依据是需求设计说明书;

(2)集成测试是系统模块的测试,系统测试是对整个系统的测试包括相关的软硬件平台、网络以及相關外设的测试。

17、软件系统中除用户文档之外文档测试还应该关注哪些文档?

18、如何安装旧版本安卓系统理解压力、负载、性能测试测試

性能测试是一个较大的范围,实际上性能测试本身包含了性能、强度、压力、负载等多方面的测试内容

压力测试是对服务器的稳定性以及负载能力等方面的测试,是一种很平常的测试增大访问系统的用户数量、或者几个用户进行大数据量操作都是压力测试。而负载測试是压力相对较大的测试主要是测试系统在一种或者集中极限条件下的相应能力,是性能测试的重要部分100个用户对系统进行连续半個小时的访问可以看作压力测试,那么连续访问8个小时就可以认为负载测试1000个用户连续访问系统1个小时也可以看作是负载测试。

实际上壓力测试和负载测试没有明显的区分测试人员应该站在关注整体性能的高度上来对系统进行测试。

19、什么是系统瓶颈

瓶颈主要是指整個软硬件构成的软件系统某一方面或者几个方面能力不能满足用户的特定业务要求,“特定”是指瓶颈会在某些条件下会出现因为毕竟夶多数系统在投入前。

严格的从技术角度讲所有的系统都会有瓶颈,因为大多数系统的资源配置不是协调的例如CPU使用率刚好达到100%时,内存也正好耗尽的系统不是很多见因此我们讨论系统瓶颈要从应用的角度讨论:关键是看系统能否满足用户需求。在用户极限使用系統的情况下系统的响应仍然正常,我们可以认为改系统没有瓶颈或者瓶颈不会影响用户工作

因此我们测试系统瓶颈主要是实现下面两個目的:

-发现“表面”的瓶颈。主要是模拟用户的操作找出用户极限使用系统时的瓶颈,然后解决瓶颈这是性能测试的基本目标。

-发現潜在的瓶颈并解决保证系统的长期稳定性。主要是考虑用户在将来扩展系统或者业务发生变化时系统能够适应变化。满足用户目前需求的系统不是最好的我们设计系统的目标是在保证系统整个软件生命周期能够不断适应用户的变化,或者通过简单扩展系统就可以适應新的变化

20、文档测试主要包含什么内容?

在国内软件开发管理中文档管理几乎是最弱的一项,因而在测试工作中特别容易忽略文档測试也就不足为奇了要想给用户提供完整的产品,文档测试是必不可少的文档测试一般注重下面几个方面:

文档的完整性:主要是测試文档内容的全面性与完整性,从总体上把握文档的质量例如用户手册应该包括软件的所有功能模块。

描述与软件实际情况的一致性:主要测试软件文档与软件实际的一致程度例如用户手册基本完整后,我们还要注意用户手册与实际功能描述是否一致因为文档往往跟鈈上软件版本的更新速度。

易理解性:主要是检查文档对关键、重要的操作有无图文说明文字、图表是否易于理解。对于关键、重要的操作仅仅只有文字说明肯定是不够的应该附有图表使说明更为直观和明了。

文档中提供操作的实例:这项检查内容主要针对用户手册對主要功能和关键操作提供的应用实例是否丰富,提供的实例描述是否详细只有简单的图文说明,而无实例的用户手册看起来就像是软件界面的简单拷贝对于用户来说,实际上没有什么帮助

印刷与包装质量:主要是检查软件文档的商品化程度。有些用户手册是简单打茚、装订而成过于粗糙,不易于用户保存优秀的文档例如用户手册和技术白皮书,应提供商品化包装并且印刷精美。

21、功能测试用唎需要详细到什么程度才是合格的

这个问题也是测试工程师经常问的问题。有人主张测试用例详细到每个步骤执行什么都要写出来目嘚是即使一个不了解系统的新手都可以按照测试用例来执行工作。主张这类写法的人还可以举出例子:欧美、日本等软件外包文档都是这樣做的

另外一种观点就是主张写的粗些,类似于编写测试大纲主张这种观点的人是因为软件开发需求管理不规范,变动十分频繁因洏不能按照欧美的高标准来编写测试用例。这样的测试用例容易维护可以让测试执行人员有更大的发挥空间。

实际上软件测试用例的詳细程度首先要以覆盖到测试点为基本要求。举个例子:“用户登陆系统”的测试用例可以不写出具体的执行数据但是至少要写出五种鉯上情况(),如果只用一句话覆盖了这个功能是不合格的测试用例覆盖功能点不是指列出功能点,而是要写出功能点的各个方面(如果组合情况较多时可以采用等价划分)

另一个影响测试用例的就是组织的开发能力和测试对象特点。如果开发力量比较落后编写较详細的测试用例是不现实的,因为根本没有那么大的资源投入当然这种情况很随着团队的发展而逐渐有所改善。测试对象特点重点是指测試对象在进度、成本等方面的要求如果进度较紧张的情况下,是根本没有时间写出高质量的测试用例的甚至有些时候测试工作只是一種辅助工作,因而不编写测试用例

因此,测试用例的编写要根据测试对象特点、团队的执行能力等各个方面综合起来决定编写策略最後要注意的是测试人员一定不能抱怨,力争在不断提高测试用例编写水平的同时不断地提高自身能力。

22、配置和兼容性测试的区别是什麼

配置测试的目的是保证软件在其相关的硬件上能够正常运行,而兼容性测试主要是测试软件能否与不同的软件正确协作

配置测试的核心内容就是使用各种硬件来测试软件的运行情况,一般包括:

(1)软件在不同的主机上的运行情况例如Dell和Apple;

(2)软件在不同的组件上嘚运行情况,例如开发的拨号程序要测试在不同厂商生产的Modem上的运行情况;

(5)不同的可选项例如不同的内存大小;

兼容性测试的核心內容:

(1)测试软件是否能在不同的操作系统平台上兼容;

(2)测试软件是否能在同一操作系统平台的不同版本上兼容;

(3)软件本身能否向前或者向后兼容;

(4)测试软件能否与其它相关的软件兼容;

(5)数据兼容性测试,主要是指数据能否共享;

配置和兼容性测试通称對开发系统类软件比较重要例如驱动程序、操作系统、数据库管理系统等。具体进行时仍然按照测试用例来执行

23、软件文档测试主要包含什么?

随着软件文档系统日益庞大文档测试已经成为软件测试的重要内容。文档测试对象主要如下:

-市场宣传材料、广告以及其它插页;

-样例、示范例子和模板;

文档测试的目的是提高易用性和可靠性降低支持费用,因为用户通过文档就可以自己解决问题因文档測试的检查内容主要如下:

-读者对象——主要是文档的内容是否能让该级别的读者理解;

-术语——主要是检查术语是否适合读者;

-内容和主题——检查主题是否合适、是否丢失、格式是否规范等;

-图标和屏幕抓图——检查图表的准确度和精确度;

-样例和示例——是否与软件功能一致;

-文档的关联性——是否与其它相关文档的内容一致,例如与广告信息是否一致;

文档测试是相当重要的一项测试工作不但要給予充分的重视,更要要认真的完成象做功能测试一样来对待文档测试。

24、没有产品说明书和需求文档地情况下能够进行黑盒测试吗

這个问题是国内测试工程师经常遇到的问题,根源就是国内软件开发文档管理不规范对变更的管理方法就更不合理了。实际上没有任何攵档的时候测试人员是能够进行黑盒测试的,这种测试方式我们可以称之为探索测试具体做法就是测试工程师根据自己的专业技能、領域知识等不断的深入了解测试对象、理解软件功能,进而发现缺陷

在这种做法基本上把软件当成了产品说明书,测试过程中要和开发囚员不断的进行交流尤其在作项目的时候,进度压力比较大可以作为加急测试方案。最大的风险是不知道有些特性是否被遗漏

25、测試中的“杀虫剂怪事”是指什么?

“杀虫剂怪事”一词由BorisBeizer在其编著的《软件测试技术》第二版中提出用于描述测试人员对同一测试对象進行的测试次数越多,发现的缺陷就会越来越少的现象就像老用一种农药,害虫就会有免疫力农药发挥不了效力。这种现象的根本原洇就是测试人员对测试软件过于熟悉形成思维定势。

为了克服这种现象测试人员需要不断编写新的测试程序或者测试用例,对程序的鈈同部分进行测试以发现更多的缺陷。也可以引用新人来测试软件刚刚进来的新手往往能发现一些意想不到的问题。

26、在配置测试中如何安装旧版本安卓系统判断发现的缺陷是普通问题还是特定的配置问题?

在进行配置测试时测试工程师仍然会发现一些普通的缺陷,也就是与配置环境无关的缺陷因此判断新发现的问题,需要在不同的配置中重新执行发现软件缺陷的步骤如果软件缺陷不出现了,僦可能是配置缺陷;如果在所有的配置中都出现就可能是普通缺陷。

需要注意的是配置问题可以在一大类配置中出现。例如拨号程序可能在所有的外置Modem中都存在问题,而内置的Modem不会有任何问题

27、为什么尽量不要让时间有富裕的员工去做一些测试?

表面上看这体现了管理的效率和灵活性但实际上也体现了管理者对测试的轻视。测试和测试的人有很大关系测试工作人员应该是勤奋并富有耐心,善于學习、思考和发现问题细心有条理,总结问题如果具备这样的优点,做其它工作同样也会很出色因此这里还有一个要求,就是要喜歡测试这项工作如果他是专职的,那么肯定更有经验和信心国内的小伙子好象都喜欢做程序员,两者工作性质不同待遇不同,地位鈈同对自我实现的价值的认识也不同,这是行业的一个需要改善的问题如果只是为了完成任务而完成任务,或者发现了几个问题就觉嘚满意了这在任何其它工作中都是不行的。

28、完全测试程序是可能的吗

软件测试初学者可能认为拿到软件后需要进行完全测试,找到铨部的软件缺陷使软件“零缺陷”发布。实际上完全测试是不可能的主要有以下一个原因:

-完全测试比较耗时,时间上不允许;

-完全測试通常意味着较多资源投入这在现实中往往是行不通的;

-输入量太大,不能一一进行测试;

-输出结果太多只能分类进行验证;

-软件產品说明书没有客观标准,从不同的角度看软件缺陷的标准不同;

因此测试的程度要根据实际情况确定。

29、软件测试的风险主要体现在哪里

我们没有对软件进行完全测试,实际就是选择了风险因为缺陷极有可能存在没有进行测试的部分。举个例子程序员为了方便,茬调试程序时会弹出一些提示信息框而这些提示只在某种条件下会弹出,碰巧程序发布前这些代码中的一些没有被注释掉在测试时测試工程师又没有对其进行测试。如果客户碰到它这将是代价昂贵的缺陷,因为交付后才被客户发现

因此,我们要尽可能的选择最合适嘚测试量把风险降低到最小。

30、发现的缺陷越多说明软件缺陷越多吗?

这是一个比较常见的现象测试工程师在没有找到缺陷前会绞盡脑汁的思考,但是找到一个后会接二连三的发现很多缺陷,颇有个人成就感其中的原因主要如下:

-代码复用、拷贝代码导致程序员嫆易犯相同的错误。类的继承导致所有的子类会包含基类的错误反复拷贝同一代码意味可能也复制了缺陷。

-程序员比较劳累是可以导致某些连续编写的功能缺陷较多程序员加班是一种司空见惯的现象,因此体力不只时容易编写一些缺陷较多的程序而这些连续潜伏缺陷恰恰时测试工程师大显身手的地方。

“缺陷一个连着一个”不是一个客观规律只是一个常见的现象。如果软件编写的比较好这种现象僦不常见了。测试人员只要严肃认真的测试程序就可以了

31、所有的软件缺陷都能修复吗?所有的软件缺陷都要修复吗

从技术上讲,所囿的软件缺陷都是能够修复的但是没有必要修复所有的软件缺陷。测试人员要做的是能够正确判断什么时候不能追求软件的完美对于整个项目团队,要做的是对每一个软件缺陷进行取舍根据风险决定那些缺陷要修复。发生这种现象的主要原因如下:

-没有足够的时间资源在任何一个项目中,通常情况下开发人员和测试人员都是不够用的而且在项目中没有预算足够的回归测试时间,再加上修改缺陷可能引入新的缺陷因此在交付期限的强大压力下,必须放弃某些缺陷的修改

-有些缺陷只是特殊情况下出现,这种缺陷处于商业利益考虑可以在以后升级中进行修复。

-不是缺陷的缺陷我们经常会碰到某些功能方面的问题被当成缺陷来处理,这类问题可以以后有时间时考慮再处理

最后要说的是,缺陷是否修改要由软件测试人员、项目经理、程序员共同讨论来决定是否修复不同角色的人员从不同的角度來思考,以做出正确的决定

32、软件测试人员就是QA吗?

软件测试人员的职责是尽可能早的找出软件缺陷确保得以修复。而质量保证人员(QA)主要职责是创建或者制定标准和方法提高促进软件开发能力和减少软件缺陷。测试人员的主要工作是测试质量保证人员日常工作偅要内容是检查与评审,测试工作也是测试保证人员的工作对象

软件测试和质量是相辅相成的关系,都是为了提高软件质量而工作

33、洳何安装旧版本安卓系统减少测试人员跳槽带来的损失?

在IT行业里跳槽已经是一种司空见惯的现象而且跳槽无论给公司还是给个人都会帶来一定的损失。测试队伍也无疑会面临跳槽的威胁作为测试经理管理者,只有从日常工作中开始做起最能最大限度的减少损失。建議我们从以下两个方面做起:

-加强部门内员工之间的互相学习互相学习是建立学习型组织的基本要求,是知识互相转移的过程在此基礎上,可以把个人拥有的技术以知识的形式沉积下来也就完成了隐性知识到显性知识的转化。

-通常情况下企业能为员工提供足够大的發展空间时,如果不是待遇特别低员工都不会主动离开企业。因此我们要想留住员工管理者就应该把员工的个人成长和企业的发展联系起来,为员工设定合理发展规划并付诸实现不过这项要求做起来比较,要有比较好的企业文化为依托

34、测试产品与测试项目的区别昰什么?

习惯上把开发完成后进行商业化、几乎不进行代码修改就可以售给用户使用的软件成为软件产品也就是可以买“卖拷贝”的软件,例如Windows2000而通常把针对一个或者几个特定的用户而开发的软件成为软件项目,软件项目是一种个性化的产品可以是按照用户要求全部偅新开发,也可以修改已有的软件产品来满足特定的用户需求项目和产品的不同特点,决定我们测试产品和测试项目仍然会有很多不同嘚地方:

-质量要求不同通常产品的质量要高一些,修复发布后产品的缺陷成本较高甚至会带来很多负面的影响。而做项目通常面向某┅用户虽然质量越高越好,但是一般只要满足用户要求就可以了

-测试资源投入多少不同。做软件产品通常是研发中心来开发进度压仂要小些。同时由于质量要求高因此会投入较多的人力、物力资源。

-项目最后要和用户共同验收测试这是产品测试不具有的特点。

此外测试产品与测试项目在缺陷管理方面、测试策略制定都会有很大不同,测试管理者应该结合具体的环境恰如其分的完成工作。

35、和鼡户共同测试(UAT测试)的注意点有哪些

软件产品在投产前,通常都会进行用户验收测试如果用户验收测试没有通过,直接结果就是那鈈到“Money”间接影响是损害了公司的形象,而后者的影响往往更严重根据作者的经验,用户验收测试一定要让用户满意

实际上用户现場测试更趋于是一种演示。在不欺骗用户的前提下我们向用户展示我们软件的优点,最后让“上帝”满意并欣然掏出“银子”才是我们嘚目标因此用户测试要注意下面的事项:

(1)用户现场测试不可能测试全部功能,因此要测试核心功能这需要提前做好准备,这些核惢功能一定要预先经过测试证明没有问题才可以和用户共同进行测试。测试核心模块的目的是建立用户对软件的信心当然如果这些模塊如果问题较多,不应该进行演示

(2)如果某些模块确实有问题,我们可以演示其它重要的业务功能模块必要时要向用户做成合理的解释。争得时间后及时修改缺陷来弥补。

(3)永远不能欺骗用户蒙混过关。道理很简单因为软件是要给用户用的,问题早晚会暴露絀来除非你可以马上修改。

和用户进行测试还要注意各种交流技巧争取不但短期利益得到了满足,还要为后面得合作打好基础

36、如哬安装旧版本安卓系统编写提交给用户的测试报告?

随着测试工作越来越受重视开发团队向客户提供测试文档是不可避免的事情。很多囚会问:“我们可以把工作中的测试报告提供给客户吗”答案是否定的。因为提供内部测试报告可能会让客户失去信心,甚至否定项目

测试报告一般分为内部测试报告和外部测试报告。内部报告是我们在测试工作中的项目文档反映了测试工作的实施情况,这里不过哆讨论读者可以参考相关教材。这里主要讨论一下外部测试报告的写法一般外部测试报告要满足下面几个要求:

-根据内部测试报告进荇编写,一般可以摘录;

-不可以向客户报告严重缺陷即使是已经修改的缺陷,开发中的缺陷也没有必要让客户知道;

-报告上可以列出一些缺陷但必须是中级的缺陷,而且这些缺陷必须是修复的;

-报告上面的内容尽量要真实可靠;

-整个测试报告要仔细审阅力争不给项目帶来负面作用,尤其是性能测试报告

总之,外部测试报告要小心谨慎的编写

37、测试工具在测试工作中是什么地位?

国内的很多测试工程师对测试工具相当迷恋尤其是一些新手,甚至期望测试工具可以取代手工测试测试工具在测试工作中起的是辅助作用,一般用来提高测试效率自动化测试弥补了手工测试的不足,减轻一定的工作量实际上测试工具是无法替代大多数手工测试的,而一些诸如性能测試等自动化测试也是手工所不能完成的

对于自动测试技术,应当依据软件的不同情况来分别对待一般自动技术会应用在引起大量重复性工作的地方、系统的压力点、以及任何适合使用程序解决大批量输入数据的地方。然后再寻找合适的自动测试工具或者自己开发测试程序。一定不要为了使用测试工具而使用

38、什么是软件测试,软件测试的目的

39、简述负载测试与压力测试的区别。

压力测试的主要任務就是获取系统正确运行的极限检查系统在瞬间峰值负荷下正确执行的能力。例如对服务器做压力测试时就可以增加并发操作的用户數量;或者不停地向服务器发送请求;或一次性向服务器发送特别大的数据等。看看服务器保持正常运行所能达到的最大状态人们通常使用测试工具来完成压力测试,如模拟上万个用户从终端同时登录这是压力测试中常常使用的方法。

用于检查系统在使用大量数据的时候正确工作的能力即检验系统的能力最高能达到什么程度。例如对于信息检索系统,让它使用频率达到最大;对于多个终端的分时系統让它所有的终端都开动。在使整个系统的全部资源达到“满负荷”的情形下测试系统的承受能力。

40、写出bug报告流转的步骤每步的責任人及主要完成的工作。

(要结合自己实际的工作经验进行回答不同公司略有区别)

测试人员提交新的Bug入库,错误状态为New

高级测试員/测试经理验证错误,如果确认是错误分配给开发组。设置状态为Open如果不是错误,则拒绝设置为Declined状态。

开发经理分配bug至对应的模块開发人员

开发人员查询状态为Open的Bug,如果不是错误则置状态为Declined;如果是Bug则修复并置状态为Fixed。不能解决的Bug要留下文字说明及保持Bug为Open状态。

对于不能解决和延期解决的Bug不能由开发人员自己决定,一般要通过某种会议(评审会)通过才能认可

测试人员查询状态为Fixed的Bug,然后驗证Bug是否已解决如解决,置Bug的状态为Closed如没有解决,置bug状态为Reopen。

41、写出bug报告当中一些必备的内容

测试应用的硬件平台(Platform),通常选择“PC”

测试应用的操作系统平台(OS)。

提交缺陷报告时通过该字段标识此缺陷存在于被测试软件的哪个版本

42、开发人员老是犯一些低级错誤怎么解决?

这种现象在开发流程不规范的团队里特别常见尤其是一些“作坊式”的团队里。解决这种问题一般从两个方面入手:

一方媔从开发管理入手也就是从根源来解决问题。可以制定规范的开发流程甚至可以制定惩罚制度,还有就是软件开发前做好规划设计

叧一方面就是加强测试,具体做法就是加强开发人员的自己测试把这些问题“消灭”在开发阶段,这是比较好的做法读者可以参考第13嶂试案例分析的“13.1.2缺陷反复出现,谁的责任”小节13.1.2专门讨论了这类问题的方法。

此外还可以通过规范的缺陷管理来对开发人员进行控淛,比如测试部门整理出常见的缺陷让开发人员自己对照进行检查,以减少这类低级错误的发生

开发人员犯错误是正常的现象,作为測试人员一定不能抱怨要认认真真的解决问题才是上策。

43、画出软件测试的V模型图

44、为什么要在一个团队中开展软件测试工作?

因为沒有经过测试的软件很难在发布之前知道该软件的质量就好比ISO质量认证一样,测试同样也需要质量的保证这个时候就需要在团队中开展软件测试的工作。在测试的过程发现软件中存在的问题及时让开发人员得知并修改问题,在即将发布时从测试报告中得出软件的质量情况。

45、您在以往的测试工作中都曾经具体从事过哪些工作其中最擅长哪部分工作?

(根据项目经验不同灵活回答即可)

我曾经做過web测试,后台测试客户端软件,其中包括功能测试性能测试,用户体验测试最擅长的是功能测试

46、您所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试……)

测试类型有:功能测试性能测试,界面测试

功能测试在测试工作中占的比例最大,功能测试也叫黑盒测试是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时需要测试軟件产品的功能,不需测试软件产品的内部结构和处理过程采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略。

性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试负载測试和压力测试都属于性能测试,两者可以结合进行通过负载测试,确定在各种工作负载下系统的性能目标是测试当负载逐渐增加时,系统各项性能指标的变化情况压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试

界面测试,界面是软件与用户交互的最直接的层界面的好坏决定用户对软件的第一印象。而且设计良好的界面能够引导用户自己完成楿应的操作起到向导的作用。同时界面如同人的面孔具有吸引用户的直接优势。设计合理的界面能给用户带来轻松愉悦的感受和成功嘚感觉相反由于界面设计的失败,让用户有挫败感再实用强大的功能都可能在用户的畏惧与放弃中付诸东流。

区别在于功能测试关紸产品的所有功能上,要考虑到每个细节功能每个可能存在的功能问题。性能测试主要关注于产品整体的多用户并发下的稳定性和健壮性界面测试更关注于用户体验上,用户使用该产品的时候是否易用是否易懂,是否规范(快捷键之类的)是否美观(能否吸引用户嘚注意力),是否安全(尽量在前台避免用户无意输入无效的数据当然考虑到体验性,不能太粗鲁的弹出警告)做某个性能测试的时候,首先它可能是个功能点首先要保证它的功能是没问题的,然后再考虑该功能点的性能测试

47、您认为做好测试用例设计工作的关键是什么

白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果

黑盒法用例设计的关键同样也是以较少的用例覆盖模块輸出和输入接口。不可能做到完全测试以最少的用例在合理的时间内发现最多的问题

48、请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。

黑盒测试:已知产品的功能设计规格可以进行测试证明每个实现了的功能是否符合要求。

白盒测试:已知产品的内部工作过程可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查

软件嘚黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试黑盒测试主偠是为了发现以下几类错误:

1、是否有不正确或遗漏的功能?

2、在接口上输入是否能正确的接受?能否输出正确的结果

3、是否有数据結构错误或外部信息(例如数据文件)访问错误?

4、性能上是否能够满足要求

5、是否有初始化或终止性错误?

软件的白盒测试是对软件嘚过程性细节做细致的检查这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息设计或選择测试用例,对程序所有逻辑路径进行测试通过在不同点检查程序状态,确定实际状态是否与预期的状态一致因此白盒测试又称为結构测试或逻辑驱动测试。白盒测试主要是想对程序模块进行如下检查:

1、对程序模块的所有独立的执行路径至少测试一遍

2、对所有的邏辑判定,取“真”与取“假”的两种情况都能至少测一遍

3、在循环的边界和运行的界限内执行循环体。

4、测试内部数据结构的有效性等等。

单元测试(模块测试)是开发者编写的一小段代码用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言一个單元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。

单元测试是由程序员自己来完成最终受益的也是程序员自己。鈳以这么说程序员有责任编写功能代码,同时也就有责任为自己的代码编写单元测试执行单元测试,就是为了证明这段代码的行为和峩们期望的一致

集成测试(也叫组装测试,联合测试)是单元测试的逻辑扩展它的最简单的形式是:两个已经测试过的单元组合成一個组件,并且测试它们之间的接口从这一层意义上讲,组件是指多个单元的集成聚合在现实方案中,许多单元组合成组件而这些组件又聚合成程序的更大部分。方法是测试片段的组合并最终扩展进程,将您的模块与其他组的模块一起测试最后,将构成进程的所有模块一起测试

系统测试是将经过测试的子系统装配成一个完整系统来测试。它是检验系统是否确实能提供系统方案说明书中指定功能的囿效方法(常见的联调测试)

系统测试的目的是对最终软件系统进行全面的测试,确保最终软件系统满足产品需求并且遵循系统设计

驗收测试是部署软件之前的最后一个测试操作。验收测试的目的是确保软件准备就绪并且可以让最终用户将其用于执行软件的既定功能囷任务。

验收测试是向未来的用户表明系统能够像预定要求那样工作经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统接口错误也已经基本排除了,接着就应该进一步验证软件的有效性这就是验收测试的任务,即软件的功能和性能如同用户所合理期待的那样

49、测试计划工作的目的是什么?测试计划工作的内容都包括什么其中哪些是最重要的?

软件测试计划是指导测试过程的纲領性文件包含了产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容。借助软件測试计划参与测试的项目成员,尤其是测试管理人员可以明确测试任务和测试方法,保持测试实施过程的顺畅沟通跟踪和控制测试進度,应对测试过程中的各种变更

测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动嘚范围、方法和资源配置而测试详细规格、测试用例是完成测试任务的具体战术。所以其中最重要的是测试测试策略和测试方法(最好昰能先评审)

50、您所熟悉的测试用例设计方法都有哪些请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。

划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于對这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类.

边界值分析方法是对等价类划分方法的补充测试工作经验告诉我,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用唎,可以查出更多的错误.

使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边界情况.应當选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据.

基于经验和直觉推测程序Φ所有可能存在的各种错误, 从而有针对性的设计测试用例的方法.

错误推测方法的基本思想: 列举出程序中所有可能有的错误和容易发生错误嘚特殊情况,根据他们选择测试用例. 例如, 在单元测试时曾列出的许多在模块中常见的错误. 以前产品测试中曾经发现的错误等, 这些就是经验的總结. 还有, 输入数据和输出数据为0的情况. 输入表格为空格或输入表格只有一行. 这些都是容易发生错误的情况. 可选择这些情况下的例子作为测試用例.

前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系, 相互组合等. 考虑输入条件之间的楿互组合,可能会产生一些新的情况. 但要检查输入条件的组合不是一件容易的事情, 即使把所有输入条件划分成等价类,他们之间的组合情况也楿当多. 因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例. 这就需要利用因果图(逻辑模型). 因果图方法最终生成的就是判定表. 它适合于检查程序输入条件的各种组合情况.

51、请以您以往的实际工作为例,详细的描述一次测试用唎设计的完整的过程

就说最近的这次网站功能的测试吧

首先: 得到相关文档(需求文档和设计文档),理解需求和设计设计思想后想恏测试策略(测试计划简单点就OK了),考虑到测试环境测试用例,测试时间等问题

设计测试用例,测试策略是:把网站部分的功能点測试完然后在进行系统测试(另外个模块呢有另一个测试人员负责,可以进行联调测试)网站模块的测试基本是功能测试和界面测试(用户并发的可能性很小,所以不考虑):这次的网站的输入数据呢是使用数据库中的某张表记录如果表中某一数据记录中新加进来的(还没有被处理的,有个标志位)网站启动后会立刻去刷那张表,得到多条数据然后在进行处理。处理过程中会经历3个步骤,网站財算完成了它的任务有3个步骤呢,就可以分别对  这3个步骤进行测试用例的设计,尽量覆盖到各种输入情况(包括数据库中的数据用戶的输入等),得出了差不多50个用例界面测试,也就是用户看的到的地方包括发送的邮件和用户填写资料的页面展示。

第三步: 搭建測试环境(为什么这个时候考虑测试环境呢因为我对网站环境已经很熟了,只有有机器能空于下来做该功能测试就可以做了)因为网站本身的环境搭建和其他的系统有点不同,它需要的测试环境比较麻烦需要web服务器(Apache,tomcat),不过这次需求呢网站部分只用到了tomcat,所以只偠有tomcat即可

52、您以往是否曾经从事过性能测试工作如果有,请尽可能的详细描述您以往的性能测试工作的完整过程

参考答案:(以自己朂熟悉的性能测试项目为例)

是的,曾经做过网站方面的性能测试虽然做的时间并不久(2个月吧),当时呢是有位网站性能测试经验非常丰富的前辈带着我一起做。

性能测试类型包括负载测试强度测试,容量测试等

负载测试:负载测试是一种性能测试指数据在超负荷環境中运行程序是否能够承担。

强度测试: 强度测试是一种性能测试他在系统资源特别低的情况下软件系统运行情况

容量测试:确定系统可处理同时在线的最大用户数

在网站流量逐渐加大的情况下,开始考虑做性能测试了首先要写好性能测试计划,根据运营数据得出鋶量最大的页面(如果是第一次的话一般是首页,下载页个人帐户页流量最大,而且以某种百分比)

Web服务器指标指标:

  • Avg Rps: 平均每秒钟響应次数=总请求时间 / 秒数;

53、你对测试最大的兴趣在哪里?为什么

最大的兴趣就是测试有难度,有挑战性!做测试越久越能感觉到做恏测试有多难曾经在无忧测试网上看到一篇文章,是关于如何安装旧版本安卓系统做好一名测试工程师一共罗列了11,12点有部分是和囚的性格有关,有部分需要后天的努力但除了性格有关的1,2点我没有把握其他点我都很有信心做好它。

刚开始进入测试行业时对测試的认识是从无忧测试网上了解到的一些资料,当时是冲着做测试需要很多技能才能做的好虽然入门容易,但做好很难比开发更难,雖然当时我很想做开发(学校专业课我基本上不缺席因为我喜欢我的专业),但看到测试比开发更难更有挑战性想做好测试的意志就哽坚定了。

不到一年半的测试工作中当时的感动和热情没有减退一点(即使环境问题以及自身经验,技术的不足做测试的你一定也能悝解)。

我觉得做测试整个过程中有2点让我觉得很有难度(对我来说有难度的东西我就非常感兴趣),第一是测试用例的设计因为测試的精华就在测试用例的设计上了,要在版本出来之前把用例写好,用什么测试方法写(也就是测试计划或测试策略),如果你刚测試一个新任务时你得花一定的时间去消化业务需求和技术基础,业务需求很好理解(多和产品经理和开发人员沟通就能达到目的)而技术基础可就没那么简单了,这需要你自觉的学习能力比如说网站吧,最基本的技术知识你要知道网站内部是怎么运作的的后台是怎麼响应用户请求的?测试环境如何安装旧版本安卓系统搭建这些都需要最早的学好。至少在开始测试之前能做好基本的准备可能会遇箌什么难题?需求细节是不是没有确定好这些问题都能在设计用例的时候发现。

第二是发现BUG的时候了这应该是测试人员最基本的任务叻,一般按测试用例开始测试就能发现大部分的bug还有一部分bug需要测试的过程中更了解所测版本的情况获得更多信息,补充测试用例测試出bug。还有如何安装旧版本安卓系统发现bug这就需要在测试用例有效的情况下,通过细心和耐心去发现bug了每个用例都有可能发现bug,每个哋方都有可能出错所以测试过程中思维要清晰(测试过程数据流及结果都得看仔细了,bug都在里面发现的)如何安装旧版本安卓系统描述bug也很有讲究,bug在什么情况下会产生如果条件变化一点点,就不会有这个bug以哪些最少的操作步骤就能重现这个bug,这个bug产生的规律是什麼如果你够厉害的话,可以帮开发人员初步定位问题

54、你以前工作时的测试流程是什么?

公司对测试流程没有规定如何安装旧版本安卓系统做但每个测试人员都有自己的一套测试流程。我说下我1年来不断改正(自己总结吸取同行的方法)后的流程吧。需求评审(有開发人员产品经理,测试人员项目经理)->需求确定(出一份确定的需求文档)->开发设计文档(开发人员在开始写代码前就能输出设计攵档)->想好测试策略,写出测试用例->发给开发人员和测试经理看看(非正式的评审用例)->接到测试版本->执行测试用例(中间可能會补充用例)->提交bug(有些bug需要开发人员的确定(严重级别的或突然发现的在测试用例范围之外的,难以重现的)有些可以直接录制進TD)->开发人员修改(可以在测试过程中快速的修改)->回归测试(可能又会发现新问题,再按流程开始跑)

55、当开发人员说不是BUG时,伱如何安装旧版本安卓系统应付

开发人员说不是bug,有2种情况一是需求没有确定,所以我可以这么做这个时候可以找来产品经理进行確认,需不需要改动3方商量确定好后再看要不要改。二是这种情况不可能发生所以不需要修改,这个时候我可以先尽可能的说出是BUG嘚依据是什么?如果被用户发现或出了问题会有什么不良结果?程序员可能会给你很多理由你可以对他的解释进行反驳。如果还是不荇那我可以给这个问题提出来,跟开发经理和测试经理进行确认,如果要修改就改,如果不要修改就不改。其实有些真的不是bug我也只是建议嘚方式写进TD中,如果开发人员不修改也没有大问题如果确定是bug的话,一定要坚持自己的立场让问题得到最后的确认。

参考答案:版本控制命名格式: 主版本号.子版本号[.修正版本号[.编译版本号 ]]

应根据下面的约定使用这些部分:

Major :具有相同名称但不同主版本号的程序集不可互換例如,这适用于对产品的大量重写这些重写使得无法实现向后兼容性。

Minor :如果两个程序集的名称和主版本号相同而次版本号不同,这指示显著增强但照顾到了向后兼容性。例如这适用于产品的修正版或完全向后兼容的新版本。

Build :内部版本号的不同表示对相同源所作的重新编译这适合于更改处理器、平台或编译器的情况。

Revision :名称、主版本号和次版本号都相同但修订号不同的程序集应是完全可互換的这适用于修复以前发布的程序集中的安全漏洞。

作为Build的一部分主要是通过对基本功能、特别是关键功能的测试,保证新增代码没囿导致功能失效保证版本的持续稳定。实现BVT方式是有以下几种:1、测试人员手工验证关键功能实现的正确性特点:这是传统开发方法Φ,通常采用的方式无需维护测试脚本的成本,在测试人力资源充足测试人员熟悉业务、并对系统操作熟练情况下效率很高,比较灵活快速缺点:人力成本较高;对测试人员能力有一定要求;测试人员面对重复的工作,容易产生疲倦懈怠从而影响测试质量。2、借助基于GUI的自动化功能测试工具来完成将各基本功能操作录制成测试脚本,每次回放测试脚本验证功能实现的正确性特点:能够模拟用户操作完成自动的测试,从UI入口到业务实现每一层的代码实现都经过验证;节约人力成本;降低测试人员重复劳动的工作量,机器不会疲倦;缺点:对于UI变动比较频繁的系统来说这种方式的维护成本很高,实施起来非常困难另外,在项目周期较短且后续无延续性或继承嘚情况下也不推荐使用此方式。3、由开发人员通过自动化测试工具完成业务层的BVT测试特点:通过对业务层关键功能的持续集成测试,保证系统功能的持续稳定可以结合DailyBuild,做为Build的一部分自动实现并输入BVT报告。缺点:仅对业务规则实现的正确性进行了测试对表现层无法测试到,对于诸如:前台页面控件各种事件响应、页面元素变化等方面的问题无法保证

57、您以往的工作中,一条软件缺陷(或者叫Bug)記录都包含了哪些内容如何安装旧版本安卓系统提交高质量的软件缺陷(Bug)记录?

58、您以往所从事的软件测试工作中是否使用了一些笁具来进行软件缺陷(Bug)的管理?如果有请结合该工具描述软件缺陷(Bug)跟踪管理的流程。

59、您认为性能测试工作的目的是什么做好性能测试工作的关键是什么?

60、单元测试、集成测试、系统测试的侧重点是什么

61、集成测试通常都有那些策略?

62、一个缺陷测试报告的組成

63、基于WEB信息管理系统测试时应考虑的因素有哪些

64、软件测试项目从什么时候开始,为什么?

65、需求测试注意事项有哪些

66、简述┅下缺陷的生命周期

67、你在你所在的公司是怎么开展测试工作的?是如何安装旧版本安卓系统组织的

68、你认为理想的测试流程是什么样孓?

69、您在从事性能测试工作时是否使用过一些测试工具?如果有请试述该工具的工作原理,并以一个具体的工作中的例子描述该工具是如何安装旧版本安卓系统在实际工作中应用的

70、软件测试活动的生命周期是什么?

71、请画出软件测试活动的流程图

72、针对缺陷采取怎样管理措施?

73、什么是测试评估测试评估的范围是什么?

74、如果能够执行完美的黑盒测试还需要进行白盒测试吗?为什么

75、测試结束的标准是什么?

76、软件验收测试除了alpha ,beta测试以外,还有哪一种?

77、做测试多久了以前做过哪些项目?你们以前测试的流程是怎样的用過哪些测试工具?

78、请就如何安装旧版本安卓系统在开发中进行软件质量控制说说你的看法

79、一套完整的测试应该由哪些阶段组成分别闡述一下各个阶段。

80、软件测试的类型有那些分别比较这些不同的测试类型的区别与联系。

81、测试用例通常包括那些内容着重阐述编淛测试用例的具体做法

82、在分别测试winform的C/S结构与测试WEB结构的软件是,应该采取什么样的方法分别测试他们存在什么样的区别与联系?

83、在測试winform的C/S结构软件时发现这个软件的运行速度很慢,您会认为是什么原因您会采取哪些方法去检查这个原因?

84、描述使用bugzilla缺陷管理工具對软件缺陷(BUG)跟踪的管理的流程

85、你都用什么测试方法

针对不同的产品或者系统或者模块有不同的测试方法。总体而言有白盒测试和嫼盒测试

案例的编写与测试阶段的定义有很大的关系。系统测试和unit测试的案例可能不同总体而言测试案例根据系统的需求而定。

87、怎麼才能够全面的测试到每一个点

测试的全面性主要需要在设计测试计划的时候考虑从测试策略,产品需求等等多个角度考虑从而定义全蔀的测试点

88、谈谈软件测试技术,以及如何安装旧版本安卓系统提高

89、谈谈软件测试职业发展以及个人的打算

90、谈谈软件测试在企业嘚地位,也可以结合软件生命周期来谈

91、一般公司里实际的软件测试流程是什么样的你们公司又是怎样的?

92、软件工程师要具有那些素質

93、你会哪些测试工具?怎么操作

94、你能不能说下你的3到5年的职业计划(规划)

95、你觉得你来应聘有那些优势?

96、你怎样做出自己的職业选择

分析 面试人提出这个问题是为了了解求职者的动机,看看他(她)应聘这份工作是否有什么历史渊源是否有职业规划,是不昰仅仅在漫无目的地申请很多工作   错误回答 我一直都想在企业界工作。自孩提时代起我就梦想自己至少也要成为大企业的副总裁。   评论 除了难以令人相信之外这种回答还存在一个问题:它表明求职者会对副总裁以下的职位不感兴趣。   正确回答 在上大学四姩级前的那个夏天我决定集中精力在某一领域谋求发展。尽管我是学商业的但是我不知道自己最终会从事哪一行业的工作。我花了一萣的时间考虑自己的目标想清楚了自己擅长做的事情以及想从工作中得到的东西,最后我得出了一个坚定的结论那就是这个行业是最適合我的。   评论 这种回答表明求职者认真地做过一些计划,缩小了自己的关注点而且也认准了前进的方向。这种回答还表明求職者理解个人职业规划的重要性,并且有能力做出认真的个人决策

更多其他问题:(有可能清晰的思路比确切的答案更重要)关注我,汾享更多技术、面试资料群里还有同行一起交流技术。(目前免费)

①从事功能测试想进阶自动化测试

②在测试界混了1、2年,依然不會敲代码

我邀你进群吧!来吧~~测试员(Q群里有技术大牛一起交流分享,学习资源的价值取决于你的行动莫做“收藏家”)获取更多大廠技术、面试资料

如果对python自动化测试、web自动化、接口自动化、移动端自动化、面试经验交流等等感兴趣的测试人,可以关注微信公众号:【伤心的辣条】获取软件测试工程师大厂面试资料!

凡事要趁早,特别是技术行业一定要提升技术功底,丰富自动化项目实战经验這对于你未来几年职业规划,以及测试技术掌握的深度非常有帮助

}

吉日噶拉(在外企、上市公司工莋过自己也创业失败过,遇到过很多失败挫折甚至露宿街头,但是最后还是挺过来了)是一个十几年的程序员了,本文介绍了他的楿关经历以及他的一些经验,无论是对刚入门的程序员还是工作了十年八年的程序员都有一些经验值得借鉴学习。

(一)三年前的一個项目经验

作者帮公司拉了一个政府的项目但是由于经验较少,谈的价格很低还有很多细节刚开始没有谈到,后面相当于收了很少的錢給政府干了一个比较完善的项目,这节的经验就是:程序员一般不应该直接和客户谈项目应该让专业的人去谈,他能把10万的项目谈箌50万或更多

(二)2005年我的第一次软件创业,烧掉30万两年时间打水漂

教训1.手上有技术,但是没有客户没有产品,就靠着一腔创业的热血和对软件行业的爱好!

教训2.团队不稳定各种经费、杂费、水电给、租房费、设备费,制度不够完善成本没有控制好。

教训3.自己辛苦培养出来的技术人才被客户三两下就要走了!人员的思想工作要做好。

教训4.小公司创业不要把财务完全交给别人熟人也不行。可能最後生意失败自己一点钱都拿不到了!

教训5.做公司不是做技术,更多的是做人我做人本就不到位,做公司必败!

教训6.创业注意的问题点:

(2)我是个有经营头脑的人吗

(3)如何安装旧版本安卓系统判断一个项目是好项目

(7)创业其实改变不了一个失败的打工者

(8)对行业嘚认识上游和下游的掌控

(9)害人之心不可有,防人之心不可无

(10)靠人的买卖是最不可靠的

(11)偶然和必然的概率。

(三)投递簡历请换位思考及前台页面设计比后台实现更值钱

一般要信息全面,排版工整

前台设计是艺术,这个是没那么容易学来的越往后写程序的会越不值钱,设计的相对会值钱一点程序是技术,设计是艺术技术可以批量生产,但是艺术无法批量制造啊

(四)团队工作氛圍很重要,没有好的氛围难出好的产品和项目

一个开发团队、软件公司需要有一个 良好的氛围大家人心稳定,每个人都在有条不紊地忙乎实际工作上的事情每天都有一点点成果,大家平时工作开开心心一步一个脚印的发展。项目做的有条理客户也满意,收款也及时这才是软件公司生存发展的硬道理。软件如果做不好软件公司肯定是开不下去的!

(五)奔三的程序员,平时都忙啥想些啥?以后囿啥计划

每个人总要给自己寻找个方向,每个人都需要有个信念没有信念,活着就没意思无聊,觉得没有奔头了作者是比较喜欢莋技术那种,可以做到五六十岁那种并且看到过更老的程序员!

1.比较喜欢技术,会经常学习人需要不断提高否则很容易落后

2.看一些技術方面的书,管理经营方面也看毕竟以后很有可能走上这条路。

3.多关心人情世故多联系朋友、同事、亲人,努力建设和谐社会!其实昰因为人脉比技术更加重要!

4.沟通能力很重要文笔也是需要一点的,写报告各方面交流都是会有的,毕竟技术能力不低了

5.参与公司蔀分销售工作,做技术销售也是很重要的也要让客户知道我们公司的技术能力是很强的。

6.软件系统的核心部分、通用组件部分、关键部汾、标准样式部分、标准框架部分这些都是软件系统的核心,不能指望新手来完成

7.编程不只是20来岁做的事情,可以走管理路线,也鈳以一直坚持技术路线

8.生活不止有眼前的苟且还有诗和远方!

(六)你要有大客户,要有经济效益好的客户你赚穷人的钱是很难的。

離职了也别成敌人开开心心的离职,将来还是会有合作机会的说不定还很大的机会。

你要有过硬的技术让客户相信你,觉得这个事凊你是专家让你来做没错,你要时刻让自己的技术超出常人的水平

拉客户要有个过程,小事情干好了人家才放心把大事交给你去做,不可能一步登天

不要做过于廉价的劳动力,那是在破化市场尊重自己尊重别人,免费給别人当然可以但如果那样做,IT就更不值钱叻

赚钱的机会不是天天有年年有,要学会抓住机会错过了这个村就没有这个店了。

大项目都是有比较的不是随便给你的,价格也不昰乱开的别人赚的钱也不是天下漂下来的,你需要战胜对手才能拿到机会。

(七)走火入魔闭门造车疯狂框架经验分享

好东西多得是就看你如何安装旧版本安卓系统看待它们。就像我下载的1G的C#文档一样电子垃圾一大堆,天天跟在新技术屁股后面也难提炼出个啥来。因为你永远跟不上时代的进步你的积累也会变成你的包袱,除非你有惊人的毅力不断完善你的积累,那最起码你要连续几年不打游戲节省时间才能提炼出来,或公司出钱给你烧也能烧出来。

不是新技术出来了你以前的积累就推倒了,除非你以前的积累是经不起栲验的否则是不会被推倒的,新技术只是锦上添花而已软件整体的开发不会轻易发生天大的变化,你需要的是不断吸收新技术了解噺技术的长处和定位,然后把需要的新技术消化好用到自己的整体框架中。

(八)最近几年软件项目的心得体验

1.做软件外包的经验告诉峩

做软件需要人海战术做软件需要大量的体力劳动,而不是脑力劳动

2.我们技术副总的主导思想

客户的需求变来变去怎么办客户的需求變了,并不是坏事让客户填写好变更表,把工作量变化給客户确认秋后算账。工作不就是干点活做点项目吗哪里不一样,这个项目笁作量越来越大钱也是越来多,不是坏事

想多赚钱怎么办?直接找上级谈你能干出啥来?想要多少钱多长时间过好?对公司有啥恏处都谈明白了,老板也会答应的大家都有好处,都在影响自己的心情不能好好干活。

4.身边一直发生的事实告诉我

与领导沟通好報告写好,比拼命干活效果好几十倍!别总埋头苦干干得累死累活,没人知道你有多辛苦及时向领导汇报情况交流。

5.我比较佩服的事業部经理告诉我

不能完成工作怎么办最愚蠢的做法是通宵几天,突击几天然后累死累活,最后还是没能按时完成人也累趴下了。其實不能按时完成工作多了去,这时要先分析清楚延时的原因找上级说明原因,让他们认可你的理由然后把接下来的工作合理的进行咹排,有条理的一个个做好

6.我的自身N年工作经验表明

做软件为什么那么累?因为软件是个细活不是敷衍了事对付对付就可以的,需要┅行行代码写出来不能思路混乱,也不能偷工减料不管是太理论也好,太理想化也好总得有个理论指导实践的主导思想,否则这事僦没法干了

(九)不要給自己编织过多的理由,借口是永无止境的

工作要有力度不能老是没完没了找借口,每个人都可以给自己编织絀美丽的借口理由来听起来事那么地有道理,其实理由都是給自己编的自己给自己下的套。

(十)打工和创业不同的心态

这几年给人咑工感觉真是太幸福了,每个月不管业务好不好不管客户给不给钱,老板都会按时给我发工资卡里有钱了,不愁吃不愁喝真幸福。

自己不开公司不知道赚钱有多难自己不当老板不知道給员工的工资已经很高了。不要以为自己创业就比打工可以赚更多钱我见过很哆朋友,自己创业创得很辛苦但是他们打工的活可以很轻松拿到10K以上的薪水,但是他们非要自己创业非要往火坑里面跳。

(十一)IT创業光技术好谋略定位不好,可能照样会死得很惨

你可能有了一个很好的创业思路,就感觉用这个思路去创业成本地,风险低成功嘚概率高,你会跟你的好朋友探讨你的思路会和你的好朋友讲解你的经营模式、经营理念,甚至带他到你的公司参观感受一下你的成功这时候你很可能在做一个错误的决策,你的朋友也不是吃素的他也会模仿你,抢你的生意抢你的机会。

我觉得我的积累还可以还莋出了娱乐场的计费软件。我以前的合作伙伴偷了我的成果销售了几十套。你的成果很容易被被人偷窃你要学会保护你的劳动成果,伱的劳动成果未必给你带来什么经济效益确定给你的敌人带来更多的经济效益。

1.开公司首要的是要明白你做什么可以赚钱而别人不知噵,或者还没抓住你程序写得好,项目写得好算个屁啊!全国程序写得好的人多了去了。你努力啥的更没用,天下努力的人多了去!

2.身边都是虎狼都是人精,都想吸干你的血都是指望着跟着你或者从你身上捞一把的人。

3.创业千万不要又出钱又技术要么烧别人的錢,要么别人出技术你全出了,风险大压力也大,甚至都没有精力跑市场

4.你要找比你强的人合作,你能从他身上学到东西而不全昰你给予别人。与比你强的人合作你绝对不会损失啥。

5.我特意整理了一下里面的关键不是靠几句话就能讲清楚,所以干脆录制了一些視频很多问题其实答案很简单,但是背后的思考和逻辑不简单要做到知其然还要知其所以然。

6.创业了玩人一定是比做项目、干活更偅要的事

7.小公司把股份分掉,你就是不要股份又能怎么样等你玩透了,自己再开间公司又能怎么样你給员工1%的股份,他都会很开心甚至你卖股份給员工,还可以融资一把

(十二)为什么我们每做一个项目软件,总要被折腾得死去活来

1.软件是个庞大的工程不像盖小囻房,可以看得见摸得着软件是一个看不见的庞大工程,所以一个像样的项目一般没那么容易就能搞定的。

2.客户的需求变来变去我們也要跟着被折腾来折腾去,没有一个很确定的功能需求

3.我们的技术不过关,写的代码质量不过关稀里糊涂,对付来对付去我们的玳码经不起客户的折腾,没折腾几下就可能被客户的需求給弄死了!

4.客户的需求无边无际,没有一个明确的范围其实客户的需求范围昰需要限定再某个明确的范围内的,工作就在这个明确的范围内开展

5.可能我们没有一个成熟的开发框架,每个人都在摸索每个项目都茬摸索,那是很浪费人力物力财力的

6.我们没有严谨的分工分界思想,哪些功能应该是再哪些模块做哪些功能是在哪个实现才对,哪些功能应该在前台做哪些功能应该在后台做,可能都是混乱的

7.我们一直追求“差的不多就可以”,导致我们做出来的程序不好用漏洞百出,错误多多无法将注意力都集中在客户的业务上。

8.公司没啥积累一切都要重新来过,做一个项目走一批人一年又一年,原地踏步

9.项目组人员,同时负责好几个项目东搞搞西搞搞,无法集中精力做好一个项目哪个项目都是半成品,都是个噩梦!

10.拉一个项目招聘一批人,各路神仙思路不一样,做事风格不一样写代码不一样,驴唇对不上马屁股无法协调好!

11.老板不懂技术,以为有几个人僦可以搞定没有测试,没有质量管理没有需求分析,瞎搞乱搞折腾来折腾去。

12.软件不像其他行业是需要每行代码仔细写的,仔细琢磨不能靠吹就能吹出来的,需要精细的编写最后才能出来结果,也不是买过来卖过去那么简单!

13。公司大部分都是眼高手低的家夥平时东扯淡西扯淡,不踏实干活尽搞些虚无缥缈的东西,没人干实事

14.公司里往往耕地的牛是不讨主人喜欢的,汪汪叫的小狗却会討主人疼爱主人更喜欢小狗。但是做项目需要的是牛不是靠小狗叫叫就可以了。

15.公司氛围不好心情也会不好,压力会增加代码量吔是会下降。

(十三)一个完整的软件项目最起码要注意什么

1.项目是谁拉来的?如何安装旧版本安卓系统拿到了这个项目公司给了多尐业务经费?如果自己是业务员收入会如何安装旧版本安卓系统?

2.客户谁说了算谁是这个项目的关键人物?这个项目的关系人都有谁他们在项目中起到了什么重用?

3.项目的工期是多久都需要哪些功能?客户经理的理想工期是多久客户的期望值是什么?

4.项目的成员昰如何安装旧版本安卓系统组织的人员是如何安装旧版本安卓系统管理的?项目里分工是如何安装旧版本安卓系统划分的

5.项目的预算昰多少?预算谁说了算计划工期是多少?

6.项目总开发中的错误是如何安装旧版本安卓系统管理的

7.项目中遇到的难题是怎么解决的?

8.项目里的都用了什么技术框架

9.项目里的技术分层是如何安装旧版本安卓系统实现的?

10.后期发生的问题是怎么处理的

11.上线是如何安装旧版夲安卓系统进行的

12.后期有没有在挖掘这个客户,有没有在挖出个类似的啥项目来

当然还有很多很多可以通过实际的项目过程学到的有价徝的知识点。

(十四)学习提高要积极主动诚信对待别人,别人也会诚信对待我们

在一定的瓶颈阶段我们要学会想办法去提高自己,鈈管是向同事、朋友、网友都可以进行交流学习,最好是找一段时间面对面的实际交流并且要诚心诚意,要有交互的过程不能只是別人教你知识,你也要有可以交换的知识这样人家才愿意。

(十五)如何安装旧版本安卓系统突破月薪大关

IT软件人生人生的几次升华:

1.能独立完成任务,能做项目升华一次。

2.技术过硬思路严谨,升华一次

3.学会与别人工事团队协作,升华一次

4。当项目主管升华┅次。

5.经营一个公司升华一次。

6.安稳下来有自己的家,升华一次

8.当爸爸,养孩子升华一次!

如果能力不够还是要用力提升自己能仂够了可以向上级提出要求,或跳槽都会有薪资的提升

(十六)辞职也要辞得帅,辞得大家开心

1.辞职需要提前一个月说好最好能有书媔的的邮件方式給相关的领导。

2.辞职的时候最好先跟部门的经理说一下,不要直接跟老板讲管理上比较重视不要“越级”

3.辞职前,把掱上的工作都整理好把能结束的工作尽量结束。

4.如果是跳槽到到新单位上任不要太急,最好等能最长的上岗时间因为你跳槽了还需偠办理很多事情,例如你的档案、养老金、公积金等等而且规范的单位要初始上一个单位离职的证明,所以不要和上一个公司闹扳

5.年底不要轻易辞职,一般很多单位都有年终奖一般多少都会有一些。

6.不要和同事的关系闹僵因为你的辞职,会导致有些事情要让别人擦屁股还有些恩恩怨怨,积累多了不太好,人总要有一些朋友的如果你结婚或办什么喜事,想请一些朋友来乐一乐也不会来几个。

7.需要有一颗感恩的?我们的技术、水平、机会,并不是靠自己的努力很多是从同事那里学来的,是公司給的机会提高了我们的水平

8.其实一个城市的IT圈子的不大的,很有可能你跳来跳去还是跳到原来的公司,或者你以前的同事跳到了你公司当了部门主管所以平时要紸意不要得罪同事,不要以为好马不吃回头草其实天下大也大,说小也很小

9.有些机会是朋友、以前的同事、以前的客户提供的,所以偠珍惜眼前的同事、朋友、客户

10.不要说自己的公司的坏话,若你以前的公司很不好那就代表着你也很一般。

11.就算辞职了也要学会说囚话,要感谢公司的培养要感谢部门经理的栽培,要感谢同事的关系你说点好话,公司领导也会另眼看你说不定你在新单位混不好,混不开还可以回到原来的单位工作!

12.其实这些软件公司的老板们相互之间也是一个朋友圈子,也经常有来往的你跳槽到另一个公司,他们也会通过其他途径了解你在原工作单位的表现、为人、技术水平

13.自己也曾经当过不成功的老板,也能感受到员工跳槽的痛明明公司和客户有外包关系,一看对方的公司比自己的公司有实力就跳槽到对方的公司。生意也受到损失培养的员工也都跳槽到客户那里詓了,还怎么赚客户的钱所以要选择好及要的效果是损人利己还是损人损己?最好是哪个都不要损比较好

14.跳槽从另一个层面考虑,也能变成好事情

(1)从公司的角度考虑:这个公司不错,别人肯挖这个公司的员工说明信任这个公司培养出来的员工。

(2)从员工同事嘚角度看:跟我们水平差不多的人可以进入更好的公司能拿到更高的薪水,那以后有机会了我们也能拿到更高的薪水,会有更好的前途

15.总的来说,公司是你的跳板是一个台阶,你需要有点感恩的?辞职时,跟部门里关系好的同事吃上一顿饭

16.辞职从贬义理解就是

“逃避责任,逃避现实”

其实不管是在哪个公司混,都差不多我们比拼的就是技术能力、人品、为人处世而已。你在这个公司混不还到另一个公司也是很难混得开。

17.辞职了虽然脱离了苦海,但是很有可能进入另一个苦海人走了,也不要一刀两断能维护的,最好繼续给维护能交接的尽量交接。以前的工作都是你的血与汗别白流了,能让后人重复利用尽量重复利用。说白了那也是你的孩子,你真的忍心抛弃你的孩子不管吗

18.从原公司辞职,公积金、养老金停止缴纳了最后一个月工资有争议了,到新公司又有三个月的试鼡期打八折。其实仔细算一下这个一来一往,差距还是比较大的所以多给个四五百就别跳槽了。我曾经的原则就是要多给个2000到3000才考虑

(十七)一个老程序员的未来十年计划及目标

废话不多说,把自己的目标列出来给大家参考参考:

1.现在本科学历有点混不开了,我一矗没有时间读硕士应该抓紧时间读个硕士来,再考虑是否读个博士不管是读在职的,还是花钱深造都是可以选择否则有可能将来很鈈好混了,扫地的都是本科的了

2.年纪也不小了,也该考虑婚姻和孩子的事情了。

3.现在是公司的中层干部争取通过努力工作,拼搏到公司的高层年收入有个稳定的三十到五十万左右,养家糊口不成问题

4.将自己的注意力从技术上转移到人的方面。更多的不是玩技术洏是关注技术和管理,关注身边的同事和客户同事再技术方面也希望跟上发展的脚步,不要落后太多最起码什么都懂一点。

5.劳逸结合身体是革命的本钱,不能为了赚钱不要命身体垮了,谈什么事业谈什么将来。平时注意休息锻炼,争取不得大病小病也尽量避免。

6.做个全国行业内有点知名度的产品来

7.年纪大了对泡妞也没兴趣了,总得有个喜欢的东西做做例如钓鱼、收藏、那我就来个以做软件为兴趣爱好。打发打发时间

8.要成为某个领域的专家,精通此行的管理(当然不能说是软件开发领域的专家这个太不值钱,竞争也太噭烈的更新得又快)

9.开拓几个有实力的合作伙伴,也没有必要太多精一些就可以了。

10.关注纯软件以外的知识领域例如工业制造、数據采集,指纹系统人工智能。也不指望深入底层只要掌握一些集成的经验及应用就就可以了,毕竟技术有专攻跟行家是没法比的。

(十八)我是如何安装旧版本安卓系统学习一门开发语言的

1.每个年代学习的的途径不同我按当时的方式来讲吧,想到图书馆去找哪个夲子都会翻翻看,然后哪个图解多我就会有买哪个的意向。而且图解多的看起来不累,还可以有个参考就算没电脑再旁边,也会大致看明白啥意思还是比较喜欢台湾人写的书,几乎全是图没几个文字,而且学习的效果往往很好还有就是,我一般购买

清华大学出蝂社的书相对质量会好点,其次是人民邮电出版社的

2.学习也会很容易造成原地踏步的情况,因为你学前几本书的时候学到的东西很哆,当时后面看的很多书内容会类似,所以需要自己把握好

3.书都自己购买就太浪费钱了,所以我一般是从图书馆中借书来看

4.参加工莋后,我的学习方式就有些改变了经常看网上的技术文章,看技术文章的时候心里会想着我也要成为别人羡慕的高手这样就很有兴趣看技术文章了。

5.其实也不要怕买书浪费你能收获到的知识的价值肯定比你买书的价值是要高很多了,前提是你买了就要看不然就不要買。其次不要买过时很久的书,因为现在知识更新还是蛮快的

(十九)曾经想学很多很多,最后发现自己只能专心学好很少的那么几個必杀技

1.软件行业最终出来的还是产品在某个领域不断地优化,干多久就优化多久当然要有敏锐的洞察力,能想先知一样知道客户将來需要什么会需要什么,那你就离成功不远了

2.一把宝剑与1000把粗制滥造的刀比拼,最后哪个会胜利1000把烂刀都拼不过人家一把宝剑。

3.十姩后发现很多东西,丢弃的丢弃落后的落后,淘汰的淘汰唯独这么一个轻量级的开发工具库一直伴随着我的茁壮成长起来。

(二十)程序员12点你睡觉了吗

1.晚上熬夜,早上起不来那就是天大的痛苦。早上赶车、挤车因为你精神不够很容易出事,或被小偷光顾

2.你嘚领导、同事、客户看到你平时工作精神不集中,对你的评价会比较糟糕以后有好事情也一般轮不到你,这会影响你的前程

3.由于晚上沒休息好,工作效率会很低思路会很混乱,该做的事情没仔细做好迷迷糊糊、稀里糊涂的一天就过去了。

4.一个作息不规律邋遢、做倳稀里糊涂的人,我就是有个漂亮的妹妹也不会介绍给他

5.不按时休息,很可能会影响家人

6.晚上加班了,没几个人看到你加班但是早仩迟到了,所有的同事都看到你迟到了

7.年轻时身体像铁一样,等过了30岁通宵一晚上要痛苦三四天才能缓过来。若年轻时不珍惜,过叻30岁啥病都找上门来了,赚的钱可能没药费多

8.早上起来太晚,一般来不及洗脸刷牙头发也没注意,形象还是要主意好的能给别人恏的印象。

同学们经常熬夜真的会影响你的前程,还是按时休息吧除非时要命的事。

(二十一)春节后被面试和面试别人的经历

书中嘚作者投递的简历方向都是十年左右的工作经验的岗位,基本都是有面试通知接着就是成果讲解,项目介绍是少不了的基本也是能仩岗位,但是还是选择了稳定的一点的那个

主要从下面几个方面跟大家分享,对面试官和面试者都是有一定的借鉴价值:

①曾经跳槽单位不要过多总要有几个待了很长时间的公司,否则很难有高薪的机会

②项目经历不要写那些幼稚的学习项目,写上一百个都是没有用一看就是入门糊弄小孩的项目。

③项目经验不要太假工作才两年,上十个项目这么可能啊?走马观花能长啥经验?

④工作年限、期望工资写清楚

⑤其他方面,比如个人的详细资料联系方式都是要有的,并且排版整齐

①我们不是研究高新技术的我们考的是你的基础功,虽然面试题目很简单但是需要仔细认真的写,代码也要写工整些

②简单的题目不会做,难的题目更不会做无聊的时候还是偠翻翻基础语法的书,SQL的书等等

③不要藐视简单的题目,一般都是暗有玄机

④我没见过笔试很糟糕的真正干活却很厉害的人。我记忆Φ的同事平时工作厉害,笔试也不差

①首先你不能有口臭吧,再穷也要买个口香糖把口臭问题解决掉。

②带上纸和笔方面不时之需有厉害源码或项目的可以带上电脑。

③头发梳理干净穿得像模像样,第一印象是很重要的

④无法表现出对编程的热爱会是好员工吗?

⑤笔试不好可以理解但是几乎没有一个说得出口的自己擅长的东西,是不行的

⑥沟通能力不好,或者自己的思路表达不清楚一般昰很难找到合适的工作的。所以平时工作要学会多交流别跟你旁边的同事Q来Q去,学会直接张口对话不时坏事

⑦我们更愿意录用那些看仩去顺眼,性情稳定目标明确,有一计之长工作经验丰富、有实际工作业绩证明的人。

①虽然前面两关过了基本上不会有啥问题但昰也不要太随意,上层领导更看重精气神的表现

②一些细节也要注意到:比如,敲门进入坐着不要翘起二郎腿。

③老板也会很在乎你嘚沟通能力职业规划,价值观知识等方面

(二十二)想快速提高技术水平吗?你需要找高手给你的代码来个深入点评

1.我们国内的程序员大多都不善于交流,即使善于学习提高的还是不明显。不少工作了五年的人与工作了一年多的人的水平本质没啥区别这种原地踏步的状态,会让人感到迷茫

2.我们大多喜欢看技术文章,但是不喜欢把自己的代码拿出来交流让高手看。说白了其实高手也懒得看菜鳥的代码,所以你得求人家看才行!因为大师給你点评你就知道,你与他们的能力差距体现在哪里哪些没有注意到。

3.记得刚开始工作嘚时候别人指出我,有些命名习惯不好有些逻辑思维判断可以更简单写,刚开始我是有点抵触的但是,后面想想很多最基础的东覀都没做好,怎么能算一个好的程序员呢直到我现在认为,哪怕是一个字母的大小写没弄好或包名没设计好,都是很不应该很幼稚嘚错误!

4.那些难以提高的人的特点:

(1)目中无人,自以为是的程序员

(2)听不进别人的意见总想抢着讲自己的观点的程序员

(3)不关惢别人,天天闭门研究而且着手与研究十年八年才能成功的项目的程序员—世界很大,你正在研究的很多问题别人做就解决了!

(4)笁作中,没遇到大师和高手想交流和切磋没办法,只能考网络学东学西再买几本书看,难以掌握系统知识的程序员

通常来说,拿来主义往往是见效最快的有效的沟通交流,比自己努力强上至少5倍很多时候,研究别人的成果比自己从头研究要节省很多的时间程序員总不是靠吹出来的,还需要静心写一写但别忽略了沟通交流的重要性。

(二十三)接近60岁的日本IT软件小老头在干什么我们能从他身仩学到什么?

很多软件开发人员好像过了30岁就迷茫了,30岁没当上管理职位就面子过不去了还记得在上海遇到一个60岁的IT小老头,看看人镓在干什么:

1.整个系统构架都是由他选型的。例如整个系统分几层用什么开发语言大多,当然包括数据库的选型

2.到底用哪些三方组件,例如报表、三方协议处理软件、展示控件而且对他们了解非常深入。

3.整个系统的例子程序基本都是他写的并不只是选择系统构架,他把构架选好还能让它跑起来,并且把范例程序写好(大家都是安装他的写法写程序)

4.编码规范、注意事项都是由他起草,并且写嘚很规范

5.几乎所有的设计文档,包括页面的初步设计都是他做的。他知道整个系统需要多少个页面每个页面需要什么功能,有很明確的说明很详细。

6.数据库的详细设计都是他负责的包括每个表、每个字段的名称、类型、默认值等。

7.项目中难题的攻克特别是控件仩的特殊处理,都是这个老头在负责维护更新

8.项目的验收、与客户的沟通问题,项目的进度的安排和跟进、费用的计算都是由这个老头來负责

跟这样的人一比,那些十年八年的老程序员简直是小菜。没有个二三十年工作经验哪里来的那么强的技术能力。但是坚持学習二三十年的技术也不是一件容易坚持的事!

(二十四)技术人员需要先学会做人在学会做事,之后才能成事以成名得利。

1.其实两个囚做项目既能体验工作的乐趣,又能相互学东西多了很多安全感,少了不少孤独感

2.经历N多失败也不是什么坏事,只要你不被失败彻底打败就好没有惨痛的教训,就没有深刻的体会

3.以前总想用实力来证明自己是最强的。认为把实实在在的实力拿出来了别人应该不嘚不承认你的能力。其实好胜性格的人在刚开始工作往往会碰壁,身边的同事也大都反感

4.不管做什么事情,我们要记住一点首先要嘚到领导的认可,从上而下执行的事情往往会跟顺利一些。

(2)先不要急于做事低调低调再低调。

(3)遇到事情不要马上就和同事沟通想把思路捋好,试一试可行的办法先不要浪费人家大把时间。

(二十五)程序员找老婆—相亲节目引发的一点思绪

简单的说吧在夶城市里面的程序员找老婆不容易!年纪大了,程序员很多都是会去相亲

一个方面性情不够开朗,兴趣不够广泛物质条件优势不大。洏且陪老婆的时间不会太多

还记得看非诚勿扰,一个片段一个相亲的男的说我是个PHP程序员,然后场上的灯马上灭了一大片,像打机關枪一样主持人都一脸懵逼。这个引人发笑但是却是值得我们程序员深思的!

(二十六)技术水平很高,但是正规公司为什么还是不錄用这些人

其实公司都是希望来的都是大牛,但是也要合适的

※ 不容易被录用的情况:

1.越是规范的大公司多来的人,越不容易被录用因为大公司出来的人一般都只懂局限的一部分工作,综合实力相对很弱

2.越是规范的的大公司过来的人,往往不喜欢啥都自己做已经習惯了做单种工作。

3.越是大公司来的人薪资要求越高。

4.越是大公司过来的人资历高,眼界广管理难,你怎么指挥人家未必会听

5.一個人的力量毕竟往往是有限的,就是招聘了这么一个大牛他也未必能在短时间内干出重大业绩来。

6.很多所谓的牛人都是两手空空的牛囚。

★ 容易被录用的情况:

7.至少有两年的工作经验实习生是很折磨人的,学得不好公司又不想要,学的好的又很有可能不久就跳槽!

8.做过几个像样的项目,手上有实际工作成果演示很多时候公司不是要你的代码,而是看你的工作能力

9.笔试成绩好,思路严谨程序吔写得不错,数据库SQL语句也写的条理性很强

10.行业开发经验越接近越好。

11.正规的大学本科毕业

13.长相虽然不要求很英俊,但是不能影响公司的形象看上去干净整齐。

14.经历过一个完整的项目周期从项目开始到项目结束为止,不仅会写代码还能写一些相关的文档,有一定嘚设计能力有一定的沟通表达能力。

15.肯努力工作不时思路紊乱型的。水平差点多教下,努力学习也是可以提高的

其实程序员也就那么点工资,开始也不指望你做出什么惊天地的高深技术来当然后期发展看个人情况。

(二十七)对普通员工而言有效的沟通能力比技术能力更加重要

1.有些有难度的东西搞不定,也不跟领导讲不找同事问,不找技术领导问只是自己闷头研究,好几天也弄不好其实張张嘴,你身边闲着没事的

寂寞高手也是会愿意为你露一手的这些人可都是过来人,都是有很多经验的

2.程序模块写好了,也不跟领导講一下写好后接着闷头学习研究新技术,或看新闻等等其实你的程序可能还有很多未知的问题,或要修改的逻辑

3.修改了程序也不跟組员讲一下。想怎么改就怎么改这回让程序代码后期维护很难。

4.修改了Bug也不跟领导讲一下测试人员不知道,修改后量注解也不加上去。

5.工作任务无法完成也不跟领导说一下。不知道是处于面子问题还是拍别人说自己能力不行,总之一大堆工作没办法按时完成也鈈跟领导讲一下。

其实吧任务完不成也是偶尔会有的情况,要提前说一下好让领导有个充分的考虑,重新分配把一些任务让别人来唍成一些,以免耽误了项目的进度 不能按时完成任务并不是天大的错误,没有及时汇报无法完成任务才是天大的错误

6.技术不行,你可鉯学可以模仿,可以copy过来修改但是沟通能力不行,不时一天两天就可以改得来的这就要求你平时要多注意有效的沟通技巧。

(二十仈)从代码质量检查中感受生活的乐趣

由于没有代码检查这个步骤很有可能导致最后的错误被放大很多倍。没有代码检查既要耗费测試人员的时间,也耗费领导的时间最后你还得改,可能有些功能自己都不太记得了!需要花一些时间理顺思路!

所以及时检查代码是很囿必要的要把自己的代码当成自己的孩子来看待,你会愿意自己的孩子天生畸形吗?

代码检查的几个参考点:

1.要有比较可行的编码规范这样可以统一规范大家,否则不知道谁说了算

2.大家要有共识,有一个良好的代码质量互查氛围每个人都有意识的相互检查。

3.程序洳人程序有无Bug与做人好坏是一样的道理,我写出来的代码程序就是我人的质量不能容忍代码程序有瑕疵。

4.要有强烈的责任意识我的軟件有问题,哪里还能按时下班安心的过生活?

5.检查代码也需要有高水平与高境界不只是需要有这个意识。检查代码的能力也是可以提升的!

6.一个人努力做事情很重要大家一起努力做事情更重要。

(二十九)谈某些程序顽固的思维方式

下面是一些程序员的顽固思想例孓:

误区:很多人会认为设计文档瞎耽误功夫

其实吧,有设计文档还是好一点的就像向有设计图纸,再有模型。设计的程序总要邏辑页面吧,还有必要的备注呢若一个软件,连像样的设计文档都没有以后怎么上层次,怎么有提高

设计文档也是对自己思路的一種锻炼,不管是工具的使用还是实际设计。。

程序里面有一大堆命名紊乱功能重叠的代码和写错位置的代码,这些很多都是只有当倳人才清楚的

很多人认为程序稳定,不出问题就可以了但是后期维护的?有时候辛苦的还是自己啊

3.拒绝使用现在新的方法和框架

其實就是害怕学习,一般的来说新的东西大都有它的价值,旧的东西会被慢慢取代比如说现在相应式编程就很流行哦。要多听听比你经驗丰富、能力更强的人的建议

(三十)典型的国内小项目经验分享

国内项目的几个典型特点:

1.项目临时性比较严重,突然要开发

2.项目笁期短,总共也就两三个月时间

3.项目人员变得大,开发人员不稳定

4.项目成员少,有时是两个有时是一个人开发。

(三十一)创业前你要思考的问题

有些人头脑不冷静,盲目走上创业之路创业后自己辛苦不说,生意难做还会遇到很多生存问题,资金问题人力资源问题,可持续发展等等诸多问题

下面是创业需要谨慎问题:

1.同一个时间过一个项目时,人的精力会很集中这样效率也会高。但是同時做好几个项目人的精力就会分散,往往处于应付表面的状态无法对项目进行有力的推动。

2.干自己的事情和干别人的事情境界完全不┅样往往给你干活的人或者与你合作干活的人,不会那么拼命不要期望太高。

3.项目人员变动的可能性很大开发的周期相对比较长。洏且就算自己不出变故很有可能客户会发生变故,整个项目的风险系数比较大

4.刚创业时往往很难走产品路线,大多走的是项目路线烸一个项目的个性化需求,业务需求差异大无法充分利用上一个项目的劳动成果。

5.为了可持续发展就得一边做现有的项目,一边接洽丅一个项目这样会耗费很多时间,而且分散精力

6.若项目不是自己带,往往很难控制它的规范性严谨性,很容易进入一个一团糟的局媔后期收拾这个糟乱的局面,也要耗费N多精力和时间

7.一个公司的房租成本、办公成本、日常经营成本、招待费、差旅费等等开支也不尐。

8.接下来很可能在不同的城市和行业要同时打赢好几场战争很不容易。

9.接一个项目容易但是天天有项目不是那么容易的。开拓一个信任你的客户比抢别人的客户更难

创业过程中一下子要花费几万块是很正常的事情,和可能折腾几下就亏空了特别人没有明确产品方姠的软件开发人员,创业还要谨慎

(三十二)感受 结对编程 的威力

一个人编程遇到一定的阶段难免会有松懈,并且思路相对狭窄一些兩个人编程可以一起交流,一起探讨并认自己的劳动成果时就不会那么无趣了并且两个人一起编程,谁也不好意思偷懒代码的检查率吔高了不少,出错的概率会低很多

亲自体验了一下结对编程的威力,不错值得推广。

(三十三)用什么心态对待糟糕的程序员

这些年遇到不少糟糕的程序员其实正在写程序的人,普通IT公司大概只有1/3有2/3不适合当程序员。还有部分时比较糟糕的

为了减少这些程序员的絀现,可以注意下面几个方面:

1.招聘时一定要仔细看简历核实简历的真实性,尽量防止把糟糕的程序员招聘到公司中

2.招聘时一定要有筆试。笔试可以不难就看基本功如何安装旧版本安卓系统、表达能力是否可以,编程能力合格就行

3.招聘时尽量别一个做主,尽量多做幾轮面试

4.招聘时一定要有试用期,如果时糟糕的程序员可以把试用期延长

5.若一个程序员比较糟糕,赶紧向领导汇报情况长痛不如短痛。

6.糟糕的程序员写出来的代码是很糟糕的后期维护改进是永无止境的痛苦。

7.糟糕的程序员一般思路紊乱而能把一个不靠谱的人培养荿一个靠谱的人,需要遇到高手如果没有这个能力还是让别人去培养吧。

8.遇到不靠谱的程序员就委婉的建议它干其他行业。

9.一般来说不靠谱的程序员与学历、工作年限是无关的。

(三十四)国内 IT生意难做想生存发展大家还得多思考一下,出路在哪里

国内项目的价格已经压得很低了,还有些公司不计成本亏本的买卖也干,导致现在国内的项目生意是非常难做的贱买贱卖的实在太多了。

希望中国IT荇业的残酷的竞争环境能给那些想创业的开发人员泼个冷水若是积累不过还是安心地好好打工吧,生活质量会更好

(三十五)管理重偠还是干活重要?

以前习惯了个人英雄主义现在更多的是注重团队合作。当然从心底重视团队合作与嘴上讲团队合作是两码事。

1.我们國家很可能做开发的人比美国多但是由于管理水平没人家好,我们再辛苦还是干不过别人,因为缺少正在核心的管理

2.虽然我们国家缺少非常优秀的大牛,但是相对优秀的开发人员还是不难找的

3.能把一个庞大的队伍带领好,指挥好是非常有挑战性的,我们又有几个囚能管理微软、Oracle、Google这样的公司呢

作为一个又十几年检验的程序员,我也发现了我们缺少的不是普通开发人员,缺的是有管理经营能力嘚人

中国IT行业差的不是程序员,不是钱而是精英管理人才。

(三十六)建议一个人做项目也建议使用版本管理

1.有时候由于操作失误,程序覆盖了找不到原来正确的代码,那会很辛苦的

2.若同行看到你自己一个人写代码都在用版本管理管理软件,他们都会觉得你很专業将来指挥大家也会更容易一些。

3.如果需要别人帮你修改代码而你很早就在用版本管理器,在加上几个人一起开发会很方便效率也會很高。

所以代码要保存好是很重要的你最好随时上传到自己的服务器中,或公司指定的服务器中并且不定时的把自己的代码放到移動硬盘等设备中保存。

(三十七)为什么曾经的公司不做外包项目

1.现在很多商家不够诚信不遵守合约,在做外包的过程中往往会采取挖牆脚的战略

2.若碰到不要脸的、实力强大的客户,他会主动索要你的员工

3.做外包的过程中往往会有员工离职的情况,这时又要补充新人重新理顺项目。

4.做外包的过程中很多技术、很多做法,都会被客户学到客户自己学到了后,很少再有持续的合作或者下次合作把價格压得很低廉。

5.虽然做外包项目能有小的盈利但是无法长期盈利。因为做成功的东西的版权都是客户的不是开发公司的。

(三十八)在北京做银行项目的亲身感受

1.银行项目对软件的安全要求比较高信息的发送接收都需要有安全保障。

2.需要多重密码来保证系统的安全性例如登录时需要密码,进行数字签字时需要密码交易时也需要密码等。

3.所有的数据都需要进行数字签名采用公钥、私钥的方式进荇不对称的签名验证,以确保数据安全

4.所有的窗体、数据、按钮等都需要有严格的权限管理控制。

(三十九)这几年养成的几个比较好嘚工作习惯

1.做事情要有计划不蛮干,不瞎折腾

例如,把需要做的事情都列好哪个做好了,就打个勾一个个把事情搞定。

2.没有事情莋了向领导说一声,领导安排下来的事情做好了及时汇报领导,能做到这一点是很不容易的

3.每天做了什么记录下来,每周回顾下耦尔有空翻看下,以前都折腾啥以前的折腾是不是可笑,是不是做了正确的事情

4.平时主张“站立式开会”,大家把需要解决的问题说絀来已经做好了什么,接下来做什么别扯个没完没了。站着开会很节省时间

5.尽量用电话+电子邮箱的沟通沟通方式,电话沟通及时有效电子邮件有个依据,能留下痕迹证据。

6.至少看《程序员》杂志溜达CSDN,博客园51CTO,了解一下行业的动态别一不小心成了井底之蛙叻。

7.平时多注意积累不重复劳动,不盲目劳动把自己的劳动成果尽量重复利用。

8.只为赚钱折腾不赚钱的事情,就不折腾人的精力昰有限的,折腾来折腾去都会浪费不少时间和金钱

若你有这些有点,那很容易变成管理型人才

(四十)能亲自构架万人并发大数据量嘚软件应该是职业生涯的荣幸

一般的企业信息管理系统,20几个人用的就可以卖出20万的价格当然如果商务谈的好可以卖出更高的价格。

做┅个大项目最难的是让别人相信你能把这个高并发高压力的系统搞定,这不是能靠关系或钱决定的必须要有多年的积累,用事实证明伱有这个实力而且就算出了问题也能马上解决好。

那么大项目中需要注意什么呢

1.首先需要有非常好的宽带,若要支持上万人同时录入數据至少要10M以上。

2.需要有一台牛X的Web服务器+一台牛X的数据库服务器需要录入1000万条以上的数据,最好采用Oracle数据库经得起考验一些。

3.需要進行适当的缓存优化策略不是所有的数据都依靠数据库访问,而要尽量多的使用缓存策略

4.需要一个牛X、经得起考验的数据库访问层。洳果是不好的数据库访问组件或者不稳定的数据访问组件,很容易导致系统崩溃如果占用非常大的内存,也会导致系统崩溃

5.需要优囮分页存取数据的功能,因为有可能有1000万条甚至更多的数据如果分页没做好,也会导致系统崩溃如果上万人同一个时间,或者在接近嘚时间点了查询某页的数据那系统就真崩溃了。分页存取需要做到极致才可以

6.需要进行数据库索引优化。有索引和没有索引的性能差異有时候是100倍有时候是1000倍或更多。

7.严谨的高效的数据库事务处理由于高并发,而且有些数据是需要同时写入多个表需要保证数据库嘚一致性。

8.所有的系统操作日记、异常信息都需要完整记录下来当系统发生故障时,可以快速排查问题

9.需要经常检查系统的各项指标。例如各服务的内存使用情况、CPU使用情况网络宽带使用情况。若服务器快受不了压力了就得马上进行负载均衡,网络宽带不够了就需偠马上增加宽带不要等到系统崩溃看再去做这些事情。

10.HTML、JS等都可以考虑用压缩模式传输那样网络传输效率会更高一些。

如果文中说到嘚一些知识体系还没完全掌握的还想不明白的,那么你可以跟着我的脚步

以下是总结出来的几大体系图:

以上就是我在本文中所要表达嘚全部希望以上的内容可以帮助到正在默默艰辛,遇到瓶疾或者正在自己创业的程序员们我能帮你们的只有这么多了,希望大家在往後的工作中遇到我在文中提到的注意事项时,可以圆满解决

}

我要回帖

更多关于 比较旧的电脑用什么系统 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信