欢迎来到个人简历网!永久域名:gerenjianli.cn (个人简历全拼+cn)
当前位置:首页 > 简历大全>网络程序员的个人简历

网络程序员的个人简历

2023-12-14 08:01:57 收藏本文 下载本文

“somoabc”通过精心收集,向本站投稿了10篇网络程序员的个人简历,下面是小编为大家整理后的网络程序员的个人简历,仅供参考,大家一起来看看吧。

网络程序员的个人简历

篇1:网络程序员的个人简历

网络程序员的个人简历模板

基本信息:

姓 名: yjbys 性 别: 男

民 族: 汉 族 出生年月: 1988/04/15

户 籍: 湖 南 现居住地: 上海

毕业院校: 长沙理工大学 专 业: 计算机科学与技术

文化程度: 本科 E- mail:

联系电话: 131#

自我评价:

 热爱程序员工作,有敬业精神.

 较强的团队意识,在工作中能与同事之间相互协助、友好交流,更高效的完成工作.

 较好的表达能力与沟通能力;工作积极主动,能尽心尽责地完成本职工作,具备较强的学习与创新能力.

 求知欲旺盛,对事物有较强的分析能力,敢于接受新的挑战.

职业概况 求职意向:

工作性质: 全职

目标地点:上海

目标职能:JavaEE程序员、ERP技术开发(ORACLE/SAP)、互联网软件开发工程师

期望待遇:面议

工作经验:

深圳市凯路网络技术有限公司

职位名称:j2ee软件工程师

工作时间:3月 - 现在

工作地点:深圳市宝安9区白金公寓商务大厦3107(即:宝安广场,宝安汽车站对面)

工作描述:参与公司《凯路ERP企业管理系统》、《凯路OA办公自动化系统》的开发与项目实施工作,参与网站项目开发若干个。工作中,认真负责,得到公司领导及同事的一致好评。

项目经验:

项目名称:ERP企业管理系统 (进销存外贸管理软件)

开发平台: Java EE

软件环境: Windows 3/ XP

开发工具: Eclipse3.3 + Tomcat 5.5 + CVS + Microsoft SQL Server 2000

系统架构:Struts + Hibernate + Spring + DWR

项目描述:整个系统主要由采购模块、销售模块、库存模块、存货核算模块、应收应付模块及报表查询系统构成。这些模块基本涵盖了各类企业对进销存外贸管理软件的要求.

技术要点:

1 采用了MVC分层的设计模式,本系统使用Struts实现Web层

2 采用Hibernate技术来实现对象的`封装和持久化

3 使用Spring对业务逻辑的封装,利用Spring IOC(DI,Dependency Injection)降低程序间的耦合度增加 了代码的重用性和灵活性和Spring 声明式事务对日志的操作

4使用DWR进行异步提交来实现无刷新效果

责任描述:在项目开发过程中负责库存模块模块的大部分代码编写和后期测试工作。具体实现功能有:产品入库,入库查询,库存管理,库存调拨(设置库存报警功能,库存不足的情况下程序将自动报警),产品出库,出库查询。

教育背景:

长沙理工大学

9月 - 206月 地址:长沙市

专业名称:计算机科学与技术 学历: 本科 |

篇2:it程序员个人简历

很多求职者在表现个人能力时,爱用团结同事、能给公司带来如何如何的效益等等空话、虚话。如果你把带来的效益最好有具体的措施提要,或者明确的内容。因为你在用这些词语的时候,其他的求职者也在用这些词语,丝毫显示不出这是你的能力。对刚毕业的学生列出所学课程时,只把主要的功课列出来即可,不要无主次将几十门功能全部写出来。用人单位在意的是你的功能专业性,而不会关心你的基础课得了多少分。

简历的设计和内容安排要注意到投送的方式。比如以TXT文本投送,一定要将主要的内容放在前面。有调查表明,通过email和网站递交的电子版简历,得到的关注比通过邮件要少。平均会减少23秒左右。此外,有约5%的电子简历会由于网络或其他问题没有被招聘者看到。因此,建议仍然通过传统的邮件方式,除非用人单位明确表示出偏向性。通过email和网站递交的电子版简历,在电子病毒为虐的今天,用人没有明确说明用附件,最好不要用附件发送简历。

以下是yjbys小编和大家分享的it程序员个人简历范文,更多内容请关注个人简历网。

基本信息

姓 名:xxx 性 别:x 年 龄:xx

学 历:本科 毕业院校:甘肃陇东学院 专 业:计算机科学与技术

联系地址: 联系方式:

外语水平:英语四级

邮 箱:、javascript、xml、ajax、ireport

3. 熟悉oracle、mysql,能使用oracle、mysql进行开发

4. 能够以经典组合otes(oracle/tomcat/eclipse/svn)搭配开发环境,oracle是企业级的数据库,tomcat是免费开源的 web服务器,eclipse是免费开源的java集成开发工具,svn是流行的版本控制工具,通过otes将这四者的优点发挥到极致 。

5. 熟练使用流行的辅助技术(jdbc/log4j/junit/ ajax),jdbc用以进行数据库操作,log4j用以记录日志,junit用以进行单元测试,ajax用以进行动态验证和页面局部刷新。

6. 熟悉powerdesign建模工具

7. 熟练在windows环境下的编程 ,开发和环境的搭建,以及服务器的搭建和项目的部署。

8. 熟练使用svn版本控制工具对软件进行同步的开发

实习经验及项目经验

.06——.06 甘肃陇运三力运输集团 java程序员

参与项目:

项目名称:三力运输集团物流管理系统

项目时间:2009.02——2009.06

项目描述:使用ireport生成合同 随时实现客户合同、运输合同的生成、打印、签署、存档。

合同管理 在合同管理中实现对客户名称、运输目的地等具体项目的查询。

客户管理、车辆管理 对客户和车辆的信息进行新建、修改、删除等日常管理,建立完整的信息库。

应收应付统计 除了自动统计应收应付账款外还可以完成收款、付款、扣款等工作。并且方面以后查询。

利润统计 自动统计每笔合同的`利润,方便管理者随时查询公司 收入、支出、费用、利润等重要数据

总体技术:javascript + jsp + svn ,b/s模式。

基于struts2.0+hibernate+spring框架,使用ajax控制友好界面。

开发环境:myeclipse + tomcat + mysql

项目职责:负责前台用户登录验证和权限验证,管理员后台登陆以及权限的验证操作、客户信息模块代码编写,使用权限表、管理员表、管理员权限关系表对后台管理员权限的管理。

项目名称:三力运输集团内部在线培训系统

项目时间:2008.09——2008.12

项目描述:该系统使用了权限、角色、权限角色关系的权限分配模式,该系统涵盖了员工管理、管理员管理、栏目管理、培训讲师管理、内部课程管理、选课管理、公告管理、日志记录、系统前台显示等功能模块,系统实现了在线选课、培训讲师信息发布、用户权限管理所需功能要求。

总体技术:javascript + jsp + servlet + svn + javabean,b/s模式。

使用struts+hibernate+spring框架,使用ecside 让系统具有较高的用户体验。

开发环境:myeclipse + tomcat + mysql

项目职责:负责员工个人信息模块、一级栏目及二级栏目模块、教师信息模块的代码编写,管理员后台权限过滤以及对权限的验证,在后台使用ajax对前台用户选课结果进行管理,并且根据前台用户的选课状态调整页面的现实效果。

项目名称:三力运输集团内部人事管理系统

项目时间:2008.06——2008.08

项目描述:该系统提供完整的人事档案保存方案,全面记录员工个人、家庭、合同等信息以及企业相关信息的管理,使用ecside可以根据企业实际需要,提供多种不同形式的员工信息报表。使企业管理者能够更为高效、准确的把握企业的人事信息,从而为经营决策提供可靠帮助和较高的管理效率。

总体技术:tomcat + my eclipse + mysql 开发构架,struts + spring + hiberna 开发模式,其中也使用了ajax 及 ecside 使系统具有较好的用户体验。

开发环境:myeclipse + tomcat + mysql

项目职责:负责员工个人信息管理、员工简历 合同信息管理、后台权限管理、设备借记模块以及前后台登陆模块代码编写。

教育背景

/09-/06:甘肃陇东学院 计算机科学与技术专业。

兴趣爱好:

看新闻、学习新技术

个人特点

为人诚实,具有良好的团队合作精神,工作积极上进

能吃苦耐劳,做事善始善终、脚踏实地

能勇于面对困难,能承受较高的工作压力

篇3:程序员个人简历

出生日期:1981-05-20  性 别:女

婚姻状况:未婚 身 高:153厘米

体 重:

44公斤

求职意向描述_应聘岗位:系统分析员

软件/软件测试工程师

系统工程师/网管

网站策划/信息编辑

Internet开发工程师

岗位描述:程序员 工作经验:0 年 期望月薪:

教育背景

毕业学校

中央民族大学 最高学历:硕士 专 业:信息安全

电脑水平:优秀 外语语种:英语  外语水平:优秀

教育历程:

- 中央民族大学 数学系信息与计算科学专业

2003-2006 中央民族大学 数学与计算机科学学院 信息安全专业

工作简历

[1]/12 参加中央民族大学数学与计算机科学学院组织的“北京市高校数学年会”工作  会议秘书

[2]2004/06-2004/10 爱立信(中国)有限公司资讯部 数据处理、文档管理、信息采编

[3]2003/04-2003/07 参加中国铁道科学研究院研发中心“京沪高速铁路设计”项目 项目助理

[4]2003/03 完成中央民族大学舞蹈系招生的数据录入和数据库的维护工作

[5]/11-2002/12 参加开发中央民族大学留学生管理系统 用VB6.0+SQLSERVER

[6]2002/03–2002/06 参加中央民族大学信息与计算科学系系网页制作 用ASP+SQLSERVER

个人能力及自我评价

自我评价:

开朗自信,学习能力强,良好的表达能力和沟通能力,具有责任心和团队合作精神。

专业技能:

具有杂实的数学和计算机基础,掌握密码学的基本理论与方法;精通信息加密原理和算法:DES、AES、RSA和ElGmal等,尤其是ECC;熟悉各种密码协议,包括网络安全协议SET和SSL等。

具有较强的'计算机应用能力,基本的算法分析、设计能力及较强的编程能力:精通C、C++、VB、ASP等编程语言;熟悉数据库语言SQL;熟悉软件测试方法和工具,能够进行软件测试、编写软件测试报告和用户使用说明书等软件开发文档。

能熟练使用常用计算机工具及一些专用软件:

编程软件:TurboC VisualC++ VisualBasic

数据库:SQLServer MYSQL Access FoxPro

统计分析和数据挖掘软件:SAS Matlab Mathematic Maple

网页制作:ASP PHP Dreamweaver FrontPage

操作系统:Linux Unix WindowsXP WindowsNT

办公软件:MicrosoftOffice系列

语言技能:

通过国家英语六级考试和北京市研究生学位英语考试,能够熟练阅读计算机和数学英语文献,具有较强的英文翻译和写作能力,可以流畅地用英语交流。

能用日语简单对话。

本人是应届毕业生。

篇4:程序员个人简历

程序员个人简历

个人简历

本人概况

姓名:XXX 性别:男

民族:汉 政治面目:团员

学历(学位):大学本科 专业:工业电器自动化

联系电话:

联系地址:北京

Email Address:

教育背景

毕业院校:山东经济管理学院 1993.9--.7 金融

另:其他培训情况

有会计员证书

熟悉应用计算机及其他各种办公软件

接受Hayes技术培训获得Hayes工程师认证

具有丰富的Internet经验

工作经历

*9月---至今 XX网络技术公司

市场主管

● 建立战略合作伙伴关系

● 建立和维护基础渠道

● 市场调查并向公司提出需求

● 拟订市场计划并付之实施

成绩:联想激光机华北区销售第二名

*9月---199月 XX电脑公司

客户部项目经理

● 负责激光打印机、3Com、Hayes、Legend Modem在山西市场的渠道管理和维护

● 发展了30余家代理商、建立了良好的客户关系及信誉、取得了优秀的销售成绩

个人简介

优秀的销售成绩,具有丰富的客户拓展经验,良好的产品渠道开发和管理能力,举办过产品展示会的.经验和管理经验,并具备丰富的Internet经验。性格开朗,具有强烈的团队意识,喜爱体育运动、音乐、交友。

本人性格

开朗、谦虚、自律、自信(根据本人情况)。

另: 最重要的是能力,相信贵公司会觉得我是此职位的合适人选!

期盼与您的面谈!

篇5: 程序员个人简历

程序员个人简历

姓名  程序员个人简历 性 别: 
 婚姻状况:已婚 出生年月:1983年06月27日
 民 族:汉族 政治面貌:团员
 身 高:CM 视 力:左 右
 学 历:高中/中专 户 籍:浙江
 毕业学校:重庆市荣昌职业高级中学
 专 业: 
 计算机能力:中级
 语言能力:英语:一般

教育/培训

 由 年月 至 年月校院名称/培训机构专业/课程证 书
高中/职高 重庆市荣昌职业高级中学 计算机管理与维护 
 
工作经验
我有:工作经验,曾在3家公司工作。
由 年月 至 年月工作单位职 位
2001 至 广东珠海缘成电子 程序员
2002 至 嘉兴协和机电自动化有限公司 绘图员
2004 至 杭州华鑫汽车销售服务有限公司 汽车销售,收银,出纳

求职意向

 寻求工作类型:全职
 希望工作岗位一:出纳/收银 希望工作地区:拱墅区 
 待遇要求:2500元/月,可面议,
 到岗时间:  随时到岗
个人自我评价
勤奋,吃苦耐劳 
联系方式
 姓 名: 
 联系电话: 
 电子邮件: 
 通讯地址: 
 邮政编码: 

篇6:程序员个人简历

程序员个人简历模板

姓 名: 国 籍: 中国

目前住地: 广州 民 族: 汉族

户 籍 地: 茂名 身高体重: 168 cm kg

婚姻状况: 未婚 年 龄: 28 岁

求职意向及工作经历

人才类型: 普通求职

应聘职位: 计算机类:ERP专员、信息主管/CIO、

工作年限: 6 职 称:

求职类型: 全职 可到职日期: 两个星期

月薪要求: --3500 希望工作地区: 广州 花都 深圳

工作经历: 公司名称: 起止年月:-07 ~ -05汉威泰(广州)电器有限公司

公司性质: 外商独资所属行业:电器,电子,通信设备

担任职务: ERP专员

工作描述:

1、Sunlike ERP项目实施、推行、改善、监管,具体包括销售、采购、库存模块、固定资产、设备模具管理、海关贸易、总账、应收应付、BOM、MRPⅡ等功能模块。

2、参与制定ERP所有业务流程解决方案,负责ERP上线前的前期调研、流程梳理、数据整理、解决或提交ERP实施过程中各种问题,上线后的系统优化管理。

3、负责Sunlike ERP系统各部门操作手册的编写/维护更新、指导/培训关键用户和最终用户掌握ERP的功能原理和具体操作。

4、对各部门ERP系统流程建立标准作业程序,监督各部门按规定流程作业。

5、按公司业务的发展,对相关ERP业务流程进行完善、讨论、制定及发布。

6、协助解决相关业务部门日常工作中遇到的问题,及时跟进处理用户提交的问题。

7、负责日常Sunlike ERP系统的监控、管理及维护,异常情况及时处理解决,保证其正常、稳定运行。

8、ERP相关信息安全管理及控制,包括帐户、权限的创建、回收及监控等。

9、负责Sunlike ERP系统的日常备份及相关介质保管工作、升级及补丁安装,服务器的日常维护与管理。

10、根据各部门需求,进行系统二次开发工作,包括系统报表和自行开发报表及常用报表的测试和维护。

11、参与其它有关技术方案的讨论、编写、实施方面的工作。

离职原因:

公司名称: 起止年月:2004-11 ~ 2008-06广州九恒条码有限公司

公司性质: 私营企业所属行业:造纸,印刷,包装

担任职务: IT程序员/用友U8 ERP系统管理员

工作描述:

1、负责公司用友U8 ERP系统(进销存/总账)的`软件及硬件的维护、日常故障的处理及平台数据备份、管理;数据库日常维护、备份、恢复等工作。

2、了解整个业务流程,在日常工作中不定时的监督整个流程运作是否顺畅。各个环节的数据有无正确及时的录入。

3、日常公司员工电脑、服务器、网络设定等技术维护支援;网络设备的安装,调试;排除基本的网络设备故障,排除网络线路故障。

4、负责公司网络安全管理,包括病毒公告、防御、检测、清除,网络反病毒软件统一部署、升级,网络防火墙的配置管理等。

5、负责公司所有硬件设备(服务器、台式电脑、打印机)安装、配置、运行及常规故障处理。

6、负责网站系统平台的规划、配置、管理、维护、故障排除等工作。

7、负责赛天使数码印刷机条形码的制作、按客户要求编写生成数据及检验码的程序。

8、负责条形码打印机条形码制作、数据处理等程序的编写。

9、负责公司70台电脑的维护及管理,解答并帮助员工解决电脑软件、硬件问题。

离职原因:

教育背景

毕业院校: 广州城市职业技术学院

最高学历: 大专 毕业日期: 2004-07-01

所学专业: 计算机应用与维护 第二专业:

培训经历: 起始年月 终止年月 学校(机构) 专 业 获得证书 证书编号

2001-09  广州城市职业技术学院 计算机应用与维护 大专毕业证

语言能力

外 语: 英语 一般

国语水平: 精通 粤语水平: 精通

工作能力及其他专长

1、语言能力:粤语、普通话:流利;英语:一般。

2、熟悉ISO9001—2008质量管理体系,参加公司内审员培训班学习,能够快速编写部门审核要点及内审检查表。

3、熟悉小家电行业开发、工艺、生产、注塑、品管、PMC、采购、营销相关部门日常业务流程,熟悉MRP/ERP业务流程,熟悉BOM编码规则,对制造业工厂实际运作与ERP结合管理十分娴熟。

4、项目实施经验。

5、较强的文字表达能力,能够撰写各类技术文档、培训教材。

6、熟悉MS SQL server 数据库、熟练掌握数据库视图、函数和存储过程。

7、精通OFFICE等办公软件的应用,尤其是Excel常用函数/VBA开发,以及Visio流程处理,熟练处理各种办公事务。

8、熟悉局域网的搭建、调试与管理;域服务器、E-mail服务器、文件服务器日常管理与维护。

9、熟悉电脑系统、办公设备、网络设备、打印机等的维护及管理。 (more)

篇7:程序员网络面试题

题目(一):我们可以用static修饰一个类的成员函数,也可以用const修饰类的成员函数(写在函数的最后表示不能修改成员变量,不是指写在前面表示返回值为常量)。请问:能不能同时用static和const修饰类的成员函数?

分析:答案是不可以。C++编译器在实现const的成员函数的时候为了确保该函数不能修改类的实例的状态,会在函数中添加一个隐式的参数const this*。但当一个成员为static的时候,该函数是没有this指针的。也就是说此时static的用法和static是冲突的。

我们也可以这样理解:两者的语意是矛盾的。static的作用是表示该函数只作用在类型的静态变量上,与类的实例没有关系;而const的作用是确保函数不能修改类的实例的状态,与类型的静态变量没有关系。因此不能同时用它们。

题目(二):运行下面的代码,输出是什么?

class A

{

};

class B

{

public:

B {}

~B() {}

};

class C

{

public:

C() {}

virtual ~C() {}

};

int _tmain(int argc, _TCHAR* argv[])

{

printf(“%d, %d, %d ”, sizeof(A), sizeof(B), sizeof(C));

return 0;

}

分析:答案是1, 1, 4。class A是一个空类型,它的实例不包含任何信息,本来求sizeof应该是0。但当我们声明该类型的实例的时候,它必须在内存中占有一定的空间,否则无法使用这些实例。至于占用多少内存,由编译器决定。Visual Studio 2008中每个空类型的实例占用一个byte的空间。

class B在class A的基础上添加了构造函数和析构函数。由于构造函数和析构函数的调用与类型的实例无关(调用它们只需要知道函数地址即可),在它的实例中不需要增加任何信息。所以sizeof(B)和sizeof(A)一样,在Visual Studio 2008中都是1。

class C在class B的基础上把析构函数标注为虚拟函数。C++的编译器一旦发现一个类型中有虚拟函数,就会为该类型生成虚函数表,并在该类型的每一个实例中添加一个指向虚函数表的指针。在32位的机器上,一个指针占4个字节的空间,因此sizeof(C)是4。

题目(三):运行下面中的代码,得到的结果是什么?

class A

{

private:

int m_value;

public:

A(int value)

{

m_value = value;

}

void Print1()

{

printf(“hello world”);

}

void Print2()

{

printf(“%d”, m_value);

}

};

int _tmain(int argc, _TCHAR* argv[])

{

A* pA = NULL;

pA->Print1();

pA->Print2();

return 0;

}

分析:答案是Print1调用正常,打印出hello world,但运行至Print2时,程序崩溃。调用Print1时,并不需要pA的地址,因为Print1的函数地址是固定的。编译器会给Print1传入一个this指针,该指针为NULL,但在Print1中该this指针并没有用到。只要程序运行时没有访问不该访问的内存就不会出错,因此运行正常。在运行print2时,需要this指针才能得到m_value的值。由于此时this指针为NULL,因此程序崩溃了。

题目(四):运行下面中的代码,得到的结果是什么?

class A

{

private:

int m_value;

public:

A(int value)

{

m_value = value;

}

void Print1()

{

printf(“hello world”);

}

virtual void Print2()

{

printf(“hello world”);

}

};

int _tmain(int argc, _TCHAR* argv[])

{

A* pA = NULL;

pA->Print1();

pA->Print2();

return 0;

}

分析:答案是Print1调用正常,打印出hello world,但运行至Print2时,程序崩溃。Print1的调用情况和上面的题目一样,不在赘述。由于Print2是虚函数。C++调用虚函数的时候,要根据实例(即this指针指向的实例)中虚函数表指针得到虚函数表,再从虚函数表中找到函数的地址。由于这一步需要访问实例的地址(即this指针),而此时this指针为空指针,因此导致内存访问出错。

题目(五):静态成员函数能不能同时也是虚函数?

分析:答案是不能。调用静态成员函数不要实例。但调用虚函数需要从一个实例中指向虚函数表的指针以得到函数的地址,因此调用虚函数需要一个实例。两者相互矛盾。

题目(六):运行下列C++代码,输出什么?

struct Point3D

{

int x;

int y;

int z;

};

int _tmain(int argc, _TCHAR* argv[])

{

Point3D* pPoint = NULL;

int offset = (int)(&(pPoint)->z);

printf(“%d”, offset);

return 0;

}

答案:输出8。由于在pPoint->z的前面加上了取地址符号,运行到此时的时候,会在pPoint的指针地址上加z在类型Point3D中的偏移量8。由于pPoint的地址是0,因此最终offset的值是8。

&(pPoint->z)的语意是求pPoint中变量z的地址(pPoint的地址0加z的偏移量8),并不需要访问pPoint指向的内存。只要不访问非法的内存,程序就不会出错。

题目(七):运行下列C++代码,输出什么?

class A

{

public:

A()

{

Print();

}

virtual void Print()

{

printf(“A is constructed. ”);

}

};

class B: public A

{

public:

B()

{

Print();

}

virtual void Print()

{

printf(“B is constructed. ”);

}

};

int _tmain(int argc, _TCHAR* argv[])

{

A* pA = new B();

pA;

return 0;

}

答案:先后打印出两行:A is constructed. B is constructed. 调用B的构造函数时,先会调用B的基类及A的构造函数。然后在A的构造函数里调用Print。由于此时实例的类型B的部分还没有构造好,本质上它只是A的一个实例,他的虚函数表指针指向的是类型A的虚函数表。因此此时调用的Print是A::Print,而不是B::Print。接着调用类型B的构造函数,并调用Print。此时已经开始构造B,因此此时调用的Print是B::Print。

同样是调用虚拟函数Print,我们发现在类型A的构造函数中,调用的是A::Print,在B的构造函数中,调用的是B::Print。因此虚函数在构造函数中,已经失去了虚函数的动态绑定特性。

题目(八):运行下列C#代码,输出是什么?

namespace ChangesOnString

{

class Program

{

static void Main(string[] args)

{

String str = “hello”;

str.ToUpper();

str.Insert(0, “ WORLD”);

Console.WriteLine(str);

}

}

}

答案:输出是hello。由于在.NET中,String有一个非常特殊的性质:String的实例的状态不能被改变。如果String的成员函数会修改实例的状态,将会返回一个新的String实例。改动只会出现在返回值中,而不会修改原来的实例。所以本题中输出仍然是原来的字符串值hello。

如果试图改变String的内容,改变之后的值可以通过返回值拿到。用StringBuilder是更好的选择,特别是要连续多次修改的时候。如果用String连续多次修改,每一次修改都会产生一个临时对象,开销太大。

题目(九):在C++和C#中,struct和class有什么不同?

答案:在C++中,如果没有标明函数或者变量是的访问权限级别,在struct中,是public的;而在class中,是private的。

在C#中,如果没有标明函数或者变量的访问权限级别,struct和class中都是private的。struct和class的区别是:struct定义值类型,其实例在栈上分配内存;class定义引用类型,其实例在堆上分配内存。

题目(十):运行下图中的C#代码,输出是什么?

namespace StaticConstructor

{

class A

{

public A(string text)

{

Console.WriteLine(text);

}

}

class B

{

static A a1 = new A(“a1”);

A a2 = new A(“a2”);

static B()

{

a1 = new A(“a3”);

}

public B()

{

a2 = new A(“a4”);

}

}

class Program

{

static void Main(string[] args)

{

B b = new B();

}

}

}

答案:打印出四行,分别是a1、a3、a2、a4。

在调用类型B的代码之前先执行B的静态构造函数。静态函数先初始化类型的静态变量,再执行静态函数内的语句。因此先打印a1再打印a3。接下来执行B b = new B(),即调用B的普通构造函数。构造函数先初始化成员变量,在执行函数体内的语句,因此先后打印出a2、a4。

题目(11):运行下图中的C#代码,输出是什么?

namespace StringValueOrReference

{

class Program

{

internal static void ValueOrReference(Type type)

{

String result = “The type ” + type.Name;

if (type.IsValueType)

Console.WriteLine(result + “ is a value type.”);

else

Console.WriteLine(result + “ is a reference type.”);

}

internal static void ModifyString(String text)

{

text = “world”;

}

static void Main(string[] args)

{

String text = “hello”;

ValueOrReference(text.GetType());

ModifyString(text);

Console.WriteLine(text);

}

}

}

答案:输出两行。第一行是The type String is reference type. 第二行是hello。类型String的定义是public sealed class String {...},既然是class,那么String就是引用类型。

在方法ModifyString里,对text赋值一个新的字符串,此时改变的不是原来text的内容,而是把text指向一个新的字符串“world”。由于参数text没有加ref或者out,出了方法之后,text还是指向原来的字符串,因此输出仍然是“hello”.

题目(12):运行下图中的C++代码,输出是什么?

#include

class A

{

private:

int n1;

int n2;

public:

A(): n2(0), n1(n2 + 2)

{

}

void Print()

{

std::cout << “n1: ” << n1 << “, n2: ” << n2 << std::endl;

}

};

int _tmain(int argc, _TCHAR* argv[])

{

A a;

a.Print();

return 0;

}

答案:输出n1是一个随机的数字,n2为0。在C++中,成员变量的初始化顺序与变量在类型中的申明顺序相同,而与它们在构造函数的初始化列表中的顺序无关。因此在这道题中,会首先初始化n1,而初始n1的参数n2还没有初始化,是一个随机值,因此n1就是一个随机值。初始化n2时,根据参数0对其初始化,故n2=0。

题目(13):编译运行下图中的C++代码,结果是什么?(A)编译错误;(B)编译成功,运行时程序崩溃;(C)编译运行正常,输出10。请选择正确答案并分析原因。

#include

class A

{

private:

int value;

public:

A(int n)

{

value = n;

}

A(A other)

{

value = other.value;

}

void Print()

{

std::cout << value << std::endl;

}

};

int _tmain(int argc, _TCHAR* argv[])

{

A a = 10;

A b = a;

b.Print();

return 0;

}

答案:编译错误。在复制构造函数中传入的参数是A的一个实例。由于是传值,把形参拷贝到实参会调用复制构造函数。因此如果允许复制构造函数传值,那么会形成永无休止的递归并造成栈溢出。因此C++的标准不允许复制构造函数传值参数,而必须是传引用或者常量引用。在Visual Studio和GCC中,都将编译出错。

题目(14):运行下图中的C++代码,输出是什么?

int SizeOf(char pString[])

{

return sizeof(pString);

}

int _tmain(int argc, _TCHAR* argv[])

{

char* pString1 = “google”;

int size1 = sizeof(pString1);

int size2 = sizeof(*pString1);

char pString2[100] = “google”;

int size3 = sizeof(pString2);

int size4 = SizeOf(pString2);

printf(“%d, %d, %d, %d”, size1, size2, size3, size4);

return 0;

}

答案:4, 1, 100, 4。pString1是一个指针。在32位机器上,任意指针都占4个字节的空间。*pString1是字符串pString1的第一个字符。一个字符占一个字节。pString2是一个数组,sizeof(pString2)是求数组的大小。这个数组包含100个字符,因此大小是100个字节。而在函数SizeOf中,虽然传入的参数是一个字符数组,当数组作为函数的参数进行传递时,数组就自动退化为同类型的指针。因此size4也是一个指针的大小,为4.

题目(15):运行下图中代码,输出的结果是什么?这段代码有什么问题?

#include

class A

{

public:

A()

{

std::cout << “A is created.” << std::endl;

}

~A()

{

std::cout << “A is d.” << std::endl;

}

};

class B : public A

{

public:

B()

{

std::cout << “B is created.” << std::endl;

}

~B()

{

std::cout << “B is d.” << std::endl;

}

};

int _tmain(int argc, _TCHAR* argv[])

{

A* pA = new B();

pA;

return 0;

}

答案:输出三行,分别是:A is created. B is created. A is d。用new创建B时,回调用B的构造函数。在调用B的构造函数的时候,会先调用A的构造函数。因此先输出A is created. B is created.

接下来运行语句时,会调用析构函数。由于pA被声明成类型A的指针,同时基类A的析构函数没有标上virtual,因此只有A的析构函数被调用到,而不会调用B的析构函数。

由于pA实际上是指向一个B的实例的指针,但在析构的时候只调用了基类A的析构函数,却没有调用B的析构函数。这就是一个问题。如果在类型B中创建了一些资源,比如文件句柄、内存等,在这种情况下都得不到释放,从而导致资源泄漏。

问题(16):运行如下的C++代码,输出是什么?

class A

{

public:

virtual void Fun(int number = 10)

{

std::cout << “A::Fun with number ” << number;

}

};

class B: public A

{

public:

virtual void Fun(int number = 20)

{

std::cout << “B::Fun with number ” << number;

}

};

int main()

{

B b;

A &a = b;

a.Fun();

}

答案:输出B::Fun with number 10。由于a是一个指向B实例的引用,因此在运行的时候会调用B::Fun。但缺省参数是在编译期决定的。在编译的时候,编译器只知道a是一个类型a的引用,具体指向什么类型在编译期是不能确定的,因此会按照A::Fun的声明把缺省参数number设为10。

这一题的关键在于理解确定缺省参数的值是在编译的时候,但确定引用、指针的虚函数调用哪个类型的函数是在运行的时候。

问题(17):运行如下的C代码,输出是什么?

char* GetString1()

{

char p[] = “Hello World”;

return p;

}

char* GetString2()

{

char *p = “Hello World”;

return p;

}

int _tmain(int argc, _TCHAR* argv[])

{

printf(“GetString1 returns: %s. ”, GetString1());

printf(“GetString2 returns: %s. ”, GetString2());

return 0;

}

答案:输出两行,第一行GetString1 returns: 后面跟的是一串随机的内容,而第二行GetString2 returns: Hello World. 两个函数的区别在于GetString1中是一个数组,而GetString2中是一个指针。

当运行到GetString1时,p是一个数组,会开辟一块内存,并拷贝“Hello World”初始化该数组。接着返回数组的首地址并退出该函数。由于p是GetString1内的一个局部变量,当运行到这个函数外面的时候,这个数组的内存会被释放掉。因此在_tmain函数里再去访问这个数组的内容时,结果是随机的。

当运行到GetString2时,p是一个指针,它指向的是字符串常量区的一个常量字符串。该常量字符串是一个全局的,并不会因为退出函数GetString2而被释放掉。因此在_tmain中仍然根据GetString2返回的地址得到字符串“Hello World”。

问题(18):运行下图中C#代码,输出的结果是什么?

namespace StaticVariableInAppDomain

{

[Serializable]

internal class A : MarshalByRefObject

{

public static int Number;

public void SetNumber(int value)

{

Number = value;

}

}

[Serializable]

internal class B

{

public static int Number;

public void SetNumber(int value)

{

Number = value;

}

}

class Program

{

static void Main(string[] args)

{

String assamblyName = Assembly.GetEntryAssembly().FullName;

AppDomain domain = AppDomain.CreateDomain(“NewDomain”);

A.Number = 10;

String nameOfA = typeof(A).FullName;

A a = domain.CreateInstanceAndUnwrap(assamblyName, nameOfA) as A;

a.SetNumber(20);

Console.WriteLine(“Number in class A is {0}”, A.Number);

B.Number = 10;

String nameOfB = typeof(B).FullName;

B b = domain.CreateInstanceAndUnwrap(assamblyName, nameOfB) as B;

b.SetNumber(20);

Console.WriteLine(“Number in class B is {0}”, B.Number);

}

}

}

答案:输出两行,第一行是Number in class A is 10,而第二行是Number in class B is 20。上述C#代码先创建一个命名为NewDomain的应用程序域,并在该域中利用反射机制创建类型A的一个实例和类型B的一个实例。我们注意到类型A是继承自MarshalByRefObject,而B不是。虽然这两个类型的结构一样,但由于基类不同而导致在跨越应用程序域的边界时表现出的行为将大不相同。

由于A继承MarshalByRefObject,那么a实际上只是在缺省的域中的一个代理,它指向位于NewDomain域中的A的一个实例。当a.SetNumber时,是在NewDomain域中调用该方法,它将修改NewDomain域中静态变量A.Number的值并设为20。由于静态变量在每个应用程序域中都有一份独立的拷贝,修改NewDomain域中的静态变量A.Number对缺省域中的静态变量A.NewDomain没有任何影响。由于Console.WriteLine是在缺省的应用程序域中输出A.Number,因此输出仍然是10。

B只从Object继承而来的类型,它的实例穿越应用程序域的边界时,将会完整地拷贝实例。在上述代码中,我们尽管试图在NewDomani域中生成B的实例,但会把实例b拷贝到缺省的域。此时,调用b.SetNumber也是在缺省的域上进行,它将修改缺省的域上的A.Number并设为20。因此这一次输出的是20。

问题(19):运行下图中C代码,输出的结果是什么?

int _tmain(int argc, _TCHAR* argv[])

{

char str1[] = “hello world”;

char str2[] = “hello world”;

char* str3 = “hello world”;

char* str4 = “hello world”;

if(str1 == str2)

printf(“str1 and str2 are same. ”);

else

printf(“str1 and str2 are not same. ”);

if(str3 == str4)

printf(“str3 and str4 are same. ”);

else

printf(“str3 and str4 are not same. ”);

return 0;

}

答案:输出两行。第一行是str1 and str2 are not same,第二行是str3 and str4 are same。

str1和str2是两个字符串数组。我们会为它们分配两个长度为12个字节的空间,并把“hello world”的内容分别拷贝到数组中去。这是两个初始地址不同的数组,因此比较str1和str2的值,会不相同。str3和str4是两个指针,我们无需为它们分配内存以存储字符串的内容,而只需要把它们指向“hello world“在内存中的地址就可以了。由于”hello world”是常量字符串,它在内存中只有一个拷贝,因此str3和str4指向的是同一个地址。因此比较str3和str4的值,会是相同的。

问题(20):运行下图中C#代码,输出的结果是什么?并请比较这两个类型各有什么特点,有哪些区别。

namespace Singleton

{

public sealed class Singleton1

{

private Singleton1()

{

Console.WriteLine(“Singleton1 constructed”);

}

public static void Print()

{

Console.WriteLine(“Singleton1 Print”);

}

private static Singleton1 instance = new Singleton1();

public static Singleton1 Instance

{

get

{

return instance;

}

}

}

public sealed class Singleton2

{

Singleton2()

{

Console.WriteLine(“Singleton2 constructed”);

}

public static void Print()

{

Console.WriteLine(“Singleton2 Print”);

}

public static Singleton2 Instance

{

get

{

return Nested.instance;

}

}

class Nested

{

static Nested() { }

internal static readonly Singleton2 instance = new Singleton2();

}

}

class Program

{

static void Main(string[] args)

{

Singleton1.Print();

Singleton2.Print();

}

}

}

答案: 输出三行:第一行“Singleton1 constructed”,第二行“Singleton1 Print”,第三行“Singleton2 Print”。

当我们调用Singleton1.Print时,.NET运行时会自动调用Singleton1的静态构造函数,并初始化它的静态变量。此时会创建一个Singleton1的实例,因此会调用它的构造函数。Singleton2的实例是在Nested的静态构造函数里初始化的。只有当类型Nested被使用时,才回触发.NET运行时调用它的静态构造函数。我们注意到我们只在Sington2.Instance里面用到了Nested。而在我们的代码中,只调用了Singleton2.Print。因此不会创建Singleton2的实例,也不会调用它的构造函数。

这两个类型其实都是单例模式(Singleton)的实现。第二个实现Singleton2只在真的需要时,才会创建实例,而第一个实现Singleton1则不然。第二个实现在空间效率上更好。

问题(21):C#是一门托管语言,那么是不是说明只要用C#,就能保证不会出现内存泄露和其他资源泄漏?如果不是,在哪些情况下可能会出现泄漏?

答案:C#不能保证没有资源泄漏。比如如下几种情况可能会造成资源泄漏:(1) 调用Native code,比如用P/Invoke或者调用COM;(2) 读写文件时的,没有及时close stream, 或者ADO.NET连数据库时,没有及时关闭连接,也算资源泄漏?(3)注册事件后没有remove,导致publisher和subscriber的强依 赖,垃圾回收可能会被推迟;(4).NET还定义了一些方法直接申请非托管内存,比如Marshal.AllocHGlobal和Marshal.AllocCoTaskMem。通过这种方式得到的内存,如果没有及时释放,也会造成内存泄露。

问题(22):下面的两段C#有哪些不同?

static void CatchException1()

{

try

{

Function();

}

catch

{

throw;

}

}

static void CatchException2()

{

try

{

Function();

}

catch (Exception e)

{

throw e;

}

}

答案:两个函数的catch都是重新抛出截获的exception,但抛出的exception的call stack是不一样的。对于第一种方法,exception的call stack是从最开始的抛出地点开始的。对于第二种方法,exception的call stack是从CatchException2开始的,最初抛出的地方相关的信息被隐藏了。

问题(23):运行下图中的C++代码,打印出的结果是什么?

bool Fun1(char* str)

{

printf(“%s ”, str);

return false;

}

bool Fun2(char* str)

{

printf(“%s ”, str);

return true;

}

int _tmain(int argc, _TCHAR* argv[])

{

bool res1, res2;

res1 = (Fun1(“a”) && Fun2(“b”)) || (Fun1(“c”) || Fun2(“d”));

res2 = (Fun1(“a”) && Fun2(“b”)) && (Fun1(“c”) || Fun2(“d”));

return res1 || res2;

}

答案:打印出4行,分别是a、c、d、a。

在C/C++中,与、或运算是从左到右的顺序执行的。在计算rest1时,先计算Fun1(“a”) && Func2(“b”)。首先Func1(“a”)打印出内容为a的一行。由于Fun1(“a”)返回的是false, 无论Func2(“b”)的返回值是true还是false,Fun1(“a”) && Func2(“b”)的结果都是false。由于Func2(“b”)的结果无关重要,因此Func2(“b”)会略去而不做计算。接下来计算Fun1(“c”) || Func2(“d”),分别打印出内容c和d的两行。

在计算rest2时,首先Func1(“a”)打印出内容为a的一行。由于Func1(“a”)返回false,和前面一样的道理,Func2(“b”)会略去不做计算。由于Fun1(“a”) && Func2(“b”)的结果是false,不管Fun1(“c”) && Func2(“d”)的结果是什么,整个表达式得到的结果都是false,因此Fun1(“c”) && Func2(“d”)都将被忽略。

问题(24):运行下面的C#代码,打印出来的结果是什么?

struct Person

{

public string Name;

public override string ToString()

{

return Name;

}

}

class Program

{

static void Main(string[] args)

{

ArrayList array = new ArrayList();

Person jim = new Person() {Name = “Jim”};

array.Add(jim);

Person first = (Person)array[0];

first.Name = “Peter”;

Console.WriteLine(array[0].ToString());

}

}

答案:Person的定义是一个struct,因此是一个值类型。在运行到语句Person first = (Person)array[0]的时候,first是array[0]的一个拷贝,first和array[0]不是一个实例。因此修改first对array[0]没有影响。

问题(25):运行下面的C++代码,打印的结果是什么?

class Base

{

public:

void print() { doPrint();}

private:

virtual void doPrint() {cout << “Base::doPrint” << endl;}

};

class Derived : public Base

{

private:

virtual void doPrint() {cout << “Derived::doPrint” << endl;}

};

int _tmain(int argc, _TCHAR* argv[])

{

Base b;

b.print();

Derived d;

d.print();

return 0;

}

答案:输出两行,分别是Base::doPrint和Derived::doPrint。在print中调用doPrint时,doPrint()的写法和this->doPrint()是等价的,因此将根据实际的类型调用对应的doPrint。所以结果是分别调用的是Base::doPrint和Derived::doPrint2。如果感兴趣,可以查看一下汇编代码,就能看出来调用doPrint是从虚函数表中得到函数地址的。

[程序员网络面试题]

篇8:应届生程序员个人简历

个人信息

yjbys

目前所在:佛山年龄:22

户口所在:佛山国籍:中国

婚姻状况:未婚民族:汉族

身高:168 cm体重:65 kg

求职意向

人才类型:普通求职

应聘职位:软件工程师:程序员,多媒体/游戏开发工程师:,网络工程师:

工作年限:0职称:无职称

求职类型:均可可到职日期:一个星期

月薪要求:1000--1500希望工作地区:佛山,

工作履历

德昌电脑城 起止年月:-07-01 ~ 2008-08-01

公司性质:私营企业所属行业:

担任职位:电脑维护员

工作描述:负责检测、维修客户的电脑软件硬件问题,解答客户的各种电脑问题。

离职原因:要上学 了

教育背景

毕业院校:广州大学华软软件学院

最高学历:大专获得学位:毕业日期:-06-01

专 业 一:软件开发专 业 二:网页设计

起始年月终止年月学校(机构)所学专业获得证书证书编号

-09-012008-06-01广州大学华软软件学院IBM C++课程认证CY410-

2007-09-012008-06-01广州大学华软软件学院IBM SQL课程认证CY350-

2007-09-012008-06-01广州大学华软软件学院IBM 网络基础认证CY360-

2008-02-012008-06-01广州大学华软软件学院IBM 网页程序开发CY710-

2008-02-012008-06-01广州大学华软软件学院IBM Core JAVA认证CY420-

2008-09-01-02-01广州大学华软软件学院全国高等学校非计算机专业计算机水平考试二级网页制作基础1107880910850-

语言能力

外语:英语优秀粤语水平:精通

第二外语: 国语水平:精通

简历自我评价(范文)

本人熟悉C++程序开发,能编写JSP网页以及简单JAVA程序,懂得HTML静态网页开发,SQL数据库开发,OFFICE操作,和3DMAX、MAYA软件的应用。能对电脑软硬件进行日常的维护工作。

求职自我介绍(样板)

本人对待工作认真负责,积极进取,吃苦耐劳,虚心接受批评,服从上级分配任务,乐于发现并解决问题,能多方便对待问题,对于新鲜事物接受能力比较高,对待事物乐观,积极接触新鲜事物。学习能力高,具有团队合作精神,乐于帮助别人。希望能在软件开发这方面学习到更多更新的技术,提高自己对软件开发这方面的知识,并运用到实际应用中,并得到人们的认可。

篇9:应届生程序员个人简历

个人信息

yjbys

国籍: 中国

目前所在地: 广州 民族: 汉族

户口所在地: 潮州 身材: 170 cm 55 kg

婚姻状况: 未婚 年龄: 22 岁

求职意向及工作经历

人才类型: 普通求职

应聘职位: 计算机类:PHP程序员、网站信息管理/内容编辑:网站编辑、

工作年限: 1 职称: 中级

求职类型: 全职 可到职日期: 随时

月薪要求: --3500 希望工作地区: 广州 广州

个人工作经历:

公司名称: 广州奥莱科技网络有限公司起止年月:2008-08 ~ 2009-03


更多相关文章推荐阅读:

1.java程序员个人求职简历范文

2.安卓程序员简历模板

3.程序员求职简历封面下载

4.it程序员英文简历模板

篇10:应届生程序员个人简历

6.程序员英文简历范文

7.程序员简历封面

【网络程序员的个人简历】相关文章:

1.网络ASP.net程序员

2.应届生程序员个人简历

3.大学生PHP程序员个人简历

4.网站程序员的个人简历

5.网络技术支持个人简历

6.网络实习的个人简历

7.网络管理的个人简历

8.网络维护个人简历表格

9.SEO网络推广个人简历

10.网络信息安全工程师个人简历

下载word文档
《网络程序员的个人简历.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度: 评级1星 评级2星 评级3星 评级4星 评级5星
点击下载文档

文档为doc格式

  • 返回顶部