1569下载站:值得大家信赖的游戏下载站!

所在位置: 首页 >  范文大全 >  程序员年度工作总结

程序员年度工作总结

发布时间:2023-12-17 13:23:31 来源:1569下载站 作者:小何 程序员年度工作总结

1569下载站小编为您挑选了一篇关于“程序员年度工作总结”的精彩文章,希望能给您带来丰富的收获。标准范文的格式应该是怎样的呢?指导、解惑、答疑都离不开文档,在动笔之前,可以先看一下范文的写作格式。模仿范文的写作思路和风格会对提升我的文学写作能力有所帮助,欢迎您品尝阅读此篇文章!

程序员年度工作总结 篇1

伴随着新年钟声的临近,我们依依惜别硕果累累的20xx年,满怀热情的迎来即将到来的20xx年。在这年终之际,现对我来公司这一年来时间里,总结自己所做的工作,分析在工作中的得与失,现汇报如下:

来到贵公司已经26天了,日子虽短,但学到的很多。在学校的两年半,只是掌握了一些基础的我,能在贵公司上班,我感到很庆幸也很感谢你给我这个机会。

在这里,学校学了的东西终于能够派上用场。这26天里,每天我都看文档,学东西,看的越多发现自己学的和掌握的实在是太少。来到公司就有一个练手的项目,这项目对公司的产品有一定的帮助,感觉刚来公司就参与了公司的研发,这对自己也是种莫大的鼓舞,在这个项目中总结自己所学到是主要有:ssh框架下的struts与hibernate技术,虽然这技术在学校有学过,但当时的我没有掌握,现在真有点后悔当初没有学好。其次是mysql,之前,由于自己学过sqlserver,所以学起来上手比较快。最后是android,虽然手机开发公司已经做得很不错了,但自己兴趣在这,相信自己学的越好,对公司的帮助也就越大。对自己以后在公司的计划主要如下:

首先,做程序员的要记住第一条经验:“学历代表过去、能力代表现在、学习代表未来。”我个人觉得学历并不代表全部,我们每天都可以学到新的知识,知识是可以一点点积累的,只要肯努力,一切皆有可能。

其次,一定要确定自己的发展方向,并为此目的制定可行的计划。

不要说什么,“我刚毕业,还不知道将来可能做什么?”,“跟着感觉走,先做做看”。因为,这样的观点会通过你的潜意识去暗示你的行为无所事事、碌碌无为。一直做技术,将来成为专家级人物?向管理方向走,成为职业经理人?先熟悉行业和领域,将来自立门户?还是先在行业里面混混,过几年转行做点别的?这很重要,这是你值得深思的问题,它将决定你近几年、十年内“做什么事情才是在做正确的事情!”。

软件开发团队中,技术不是万能的,但没有技术是万万不能的!所以要尽量掌握你能掌握的技术。

详细制定自己软件开发专业知识学习计划,并注意及时修正和调整。刚来就有个导师代领我这个新员工来定期培训,这点我觉得公司做的很好,因为他会让你有个很详细的学习计划,知道自己将要学什么,与必须掌握什么,比自己盲目的看文悼词悠狄玫枚唷“如果一个软件开发人员在1、2年内都没有更新过自己的知识,那么,其实他已经不再属于这个行业了。”不要告诉自己没有时间。时间就像海绵里的水,多学一些技能对于我们来说亏不到自己,我们的工作从学而来,就是靠着每天的学习,交流,做人中得到。

程序员年度工作总结 篇2

来公司担负程序员一职已一年多时间,在这一年时间里,我学到了很多东西。每一个人都是在不断的总结中成长,在不断的审阅中完善自己。在这半年里自己也是在总结、审阅中脚踏实地地完成好本职工作,现将这半年的工作总结以下:

一、 思想方面:

严格依照一个程序员应有的素养要束缚自已,爱岗敬业,具有强烈的责任感和事业心,积极主动认真的学习专业知识,工作态度端正,认真负责,服从公司的安排,积极配合全友家私完善 ERP 系统,任劳任怨。

二、 工作方面:

酷爱自己的本职工作,能够正确认真的对待每项工作,工作投进,热情为大家服务,认真遵守劳动纪律,按时上放工,有效利用工作时间,坚守岗位,需要加班完成工作按时加班加点,保证工作能按时完成。在这半年里,我本着把工作做的更好这样一个目标,开辟创新意识,积极美满的完成了以下本职工作:

三、 存在不足:

一公司领导和部分领导同事的帮助和指教,使我的工作有了很大进步,固然我还存在着很多不足的地方,处理题目思路简单,不够成熟,工作中轻易产生急躁情绪,需要更深进学习专业知识,进步自己的工作水平。

程序员年度工作总结 篇3

通过今年的实践和学习,明年是一个新的开始,立足当前的优缺,肩负起一个软件工程师应有的工作和性质。希望为公司明年的发展尽最大的努力,也希望自己明年有更大的收获。明年计划在以下几方面有所突破,有所建树:

一、在编程语言掌握方面,达到本公司的编程思想—不被语言所束缚。在这方面伍经理是我的榜样,积极努力的提高自身的技术水平,真正做到不被语言所束缚。

二、数据库方面,在当前已有的基础上提升自己,明年自己给自己定的目标是,能非常合理的去使用数据库各类技术,掌握更多的数据库优化思想和技术点。有时间多向许总交流。

三、加强软件开发的辅助性知识使用和积累。针对当前软件开发中的一些情况,明年更加积极的学习Javascrip、Aja和Fle等技术。能辅助性的把软件做的更好。

四、工作质量上,现在编程我是属于会写会编和局部效率,并不是全局的效率,明年一定要做到,编一个高效率的代码。这就要综合上面的三点,才能使其达到全局的高效。

程序员年度工作总结 篇4

要说20xx年,收获较大的,就是养成了看书的习惯,现在也习惯了每天睡觉之前看书,在之前很长一段时间里,我曾经很迷茫,看书也比较浮躁,杂乱,总感觉静不下心来,书看了,但是效果甚微,后来在一次下班的交流中,跟老大还有发哥,老大说了下他平时看书的方法,一本书,反复看,看完后回复看,我才意识到,我太浮躁了,自己都不知道自己想看写什么,一本书看完,两个月后,什么也没留下,这次,在四个多月的时间里,我把之前的《大话设计模式》重温了一下,然后把之前晦涩难懂的《深入理解JAVA虚拟机》重要章节反复看了好几次,看了《java并发编程的艺术》(正在进行,还没结束),看了大学时老师推荐的《我是一只IT小小鸟》,最近找到一本《spring源码深度解析》,感觉很不错,希望通过这本书,我能找到更好的适合自己的学习源码的方法,(spring的源码是最优秀的源码之一,值得好好学学)。20xx年,希望自己能看更多优秀的书籍,能认真看一本关于linux的书籍。老大说得对,基础的东西,才是王道。张无忌练习《九阳神功》花了十余载,而学习《乾坤大挪移》只花了几天时间。厚积薄发,20xx,在基础方面,要继续加强,算法,操作系统,代码结构这些才是程序员的根与基。

20xx,希望阅读更多的经典。

程序员年度工作总结 篇5

程序员年终工作总结及明年工作计划


一、年终工作总结


2021年对我来说是一个充实而有挑战性的一年。在这一年里,我全身心地投入到我的编程工作中,并在技术上有了长足的进步。以下是我对这一年工作的


1.技术能力提升:


在过去的一年里,我不断学习和探索最新的编程语言和技术。我参加了一些技术研讨会和培训班,阅读了很多专业书籍,积极参与开源项目的贡献。这些努力不仅加深了我对编程的理解,也增强了我解决问题和创新的能力。


2.团队合作能力:


我在今年的项目中积极与团队成员合作,取得了很好的效果。我意识到团队的力量是无穷的,通过与其他程序员共同努力,能够更好地解决问题和提高项目的质量。我积极参与团队讨论和代码审查,不断改进自己的代码质量,并互相学习和分享经验。


3.项目管理能力:


在今年的项目中,我担任了一些负责人的角色,负责协调团队成员的工作、安排任务和解决问题。通过这些经历,我取得了一定的成果,并提高了自己的项目管理能力。我学会了制定合理的计划,合理安排时间,有效分配任务,并与团队成员保持良好的沟通和合作。


4.学习能力:


我一直相信学习是程序员职业发展的关键。通过不断学习,我能够迅速适应新的技术和工具。在过去的一年里,我学习了一些新的编程语言和框架,并将其应用到我的工作中。我也积极参与技术社区,与其他程序员交流学习经验,不断探索和实践。


二、明年工作计划


在新的一年里,我希望通过进一步提升我的技术能力和管理能力,成为更优秀的程序员。以下是我明年的工作计划:


1.技术深度学习:


我会更加深入地学习和掌握一些主流的编程语言和框架,例如Python、Java、React等,以适应不同的项目需求。我会持续关注最新的技术动态,并通过阅读技术文档和参与实践项目来不断提升自己。


2.项目管理能力:


我会进一步提升自己的项目管理能力,学习更多的项目管理方法和工具。我会加强与团队成员的沟通和协作,更好地理解项目需求,并有效地组织团队完成工作。我也会注重项目的质量和进度控制,确保项目按时交付,并持续改进项目流程。


3.成为技术导师:


我希望能够分享我的技术经验和知识,帮助其他团队成员提升他们的技术能力。我会积极参与团队内部的培训和分享活动,并鼓励其他成员互相学习和交流。我相信通过教授他人,不仅可以巩固自己的技术能力,还可以培养团队的技术氛围。


4.个人成长:


除了技术能力的提升,我也会注重自己的个人成长。我会更积极地参加一些职业培训和活动,不仅局限于技术,还包括沟通能力、领导力和团队合作等方面的培养。我会定期反思自己的工作和表现,并设定个人目标和计划,努力成为一个全面发展的程序员。


回顾过去的一年,我对自己的成长感到满意,但我也深知自己还有很大的提升空间。在新的一年里,我会继续努力学习和实践,成为一名更出色的程序员,为团队和项目的成功做出更大的贡献。希望明年能够取得更大的进步和成就!

程序员年度工作总结 篇6

光阴如梭,一年的工作转瞬即将成为历史,伴随着新年钟声的临近,我们依依惜别硕果累累的过去,满怀热情的迎来即将到来的新的一年。在这年终之际,现对来公司一年的时间里所作的工作总结如下:

从了解xx项目的背景、及计划安排,熟悉xx公司制度及业务流程,再到熟悉新能开发模式,之后我根据需求调研报告,从基本的数据库创建,到编码,完成了销售部、生产部、采购部、质检部四个模块的基本单据的制单、审核、选单、查询、打印等系列的编码工作;完成了xx项目的模块测试及流程测试。

通过这段时间的努力,使我个人的耐心、细心程度及对工作的合理安排得到了锻炼,学会了在繁忙之中找条理,危难之中找希望。同时自己也有一些不足之处,一些细节地方技术上还不太成熟,还需加以学习与钻研。

从x月初开始进行xx项目的实施,每天早起赶在企业上班前赶到企业进行erp的实施。实施期间主要是软件的安装实施及对企业的erp系统的使用人员进行软件使用培训;纪录客户使用过程中出现的问题,晚上下班后加班加点将每天的小错误及客户变更修改完毕。通过这项工作,使我原本欠缺的业务能力得到了很大的提高,并学到了很多与客户交流的技巧及业务上的知识,更加明晰了erp系统的流程。但离一个成功程序开发人员的标准还差得很远,在今后工作中,定会多多注意,加以改善。

帮助的编写使我熟悉了xx的使用,为后期的oa开发也奠定一定的基础,使用说明的编写,使我更加加深了项目开发的整体思路与技术要点,总结了前期开发和实施中碰到的问题,并又一次的对软件整体进行了测试,对暴露出的小bug进行了最后的修改。

平时注意收集有关xx方面的资料文件,提高自己的处理新问题和解决新问题的能力,并加强学习java及oa方面的知识,为后期的工作打好基础。

展望临近的新一年,我会更加努力、工作上认真负责,再接再厉,更上一层楼。相信自己会完成新的任务,能迎接新的挑战。

程序员年度工作总结 篇7

OC语言(★★)

有人可能会问对于我们学iOS的同学来讲,面试还会问Objective-C基础吗?答案是会的,但是不会太多,因此我给了两颗星的重要程度。一般笔试的时候出现Objective-C基础题的概率比较大,口头面试的时候比较少,比如自己在面试的时候一些对基础知识比较看重的面试官会深究着Objective-C基础去问,比如Objective-C内存管理等等。

一、Objective-C语法

1.面向对象都有哪些特性以及你对这些特性的理解

继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。继承让变化中的软件系统有了一定的延续性,同时继承也是封装程序中可变因素的重要手段。

封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口。面向对象的本质就是将现实世界描绘成一系列完全自治、封闭的对象。我们在类中编写的方法就是对实现细节的一种封装;我们编写一个类就是对数据和数据操作的封装。可以说,封装就是隐藏一切可隐藏的东西,只向外界提供最简单的编程接口。

多态性:多态性是指允许不同子类型的对象对同一消息作出不同的响应。简单的说就是用同样的对象引用调用同样的方法但是做了不同的事情。多态性分为编译时的多态性和运行时的多态性。如果将对象的方法视为对象向外界提供的服务,那么运行时的多态性可以解释为:当A系统访问B系统提供的服务时,B系统有多种提供服务的方式,但一切对A

系统来说都是透明的。方法重载(overload)实现的是编译时的多态性(也称为前绑定),而方法重写(override)实现的是运行时的多态性(也称为后绑定)。运行时的多态是面向对象最精髓的东西,要实现多态需要做两件事:1.方法重写(子类继承父类并重写父类中已有的或抽象的方法);2.对象造型(用父类型引用引用子类型对象,这样同样的引用调用同样的方法就会根据子类对象的不同而表现出不同的行为)。

抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。

2.我们说的Objective-C是动态运行时语言是什么意思? (When we call objective c is runtime language what does it mean?)主要是将数据类型的确定由编译时,推迟到了运行时。这个问题其实浅涉及到两个概念,运行时和多态。简单来说, 运行时机制使我们直到运行时才去决定一个对象的类别,以及调用该类别对象指定方法。多态:不同对象以自己的方式响应相同的消息的能力叫做多态。意思就是假设生物类(life)都用有一个相同的方法-eat;那人类属于生物,猪也属于生物,都继承了life后,实现各自的eat,但是调用是我们只需调用各自的eat方法。也就是不同的对象以自己的方式响应了相同的消息(响应了eat这个选择器)。因此也可以说,运行时机制是多态的基础.,readonly, aign,retain,copy,nonatomic, strong, weak属性的作用?并区别strong(强引用)、weak(弱引用)?什么情况使用copy,aign和retain? readwrite 是可读可写特性;需要生成getter方法和setter方法时;

readonly 是只读特性只会生成getter方法不会生成setter方法,不希望属性在类外改变;

Aign 是赋值特性,setter方法将传入参数赋值给实例变量;仅设置变量时;, aign用于简单数据类型,如NSInteger,double,bool;retain 表示持有特性,setter方法将传入参数先保留,再赋值,传入参数的retaincount会+1;

Copy 表示赋值特性,setter方法将传入对象复制一份;需要完全一份新的变量时;nonatomic 非原子操作,决定编译器生成的setter getter是否是原子操作;atomic表示多线程安全,一般使用nonatomic。

retain 和copy用户对象,copy用于当 a指向一个对象, b也想指向同样的对象的时候,如果用aign,a如果释放,再调用b会crash,如果用copy 的方式,a和b各自有自己的内存,就可以解决这个问题。retain 会使计数器加1,也可以解决aign的问题。另外:atomic和nonatomic用来决定编译器生成的getter和setter是否为原子操作。在多线程环境下,原子操作是必要的,否则有可能引起错误的结果。

其实从这个也可以引申到内存管理的一系列问题.面试官会让你讲讲MRC和ARC的理解,随即也引申出Block的内存机制,为啥推荐Block用copy,Block会存在哪些内存问题?循环引用?

4.分别描述内存管理要点、autorelease、release、NSAutoreleasePool?并说明autorelease是什么时候被release的?简述什么时候由你负责释放对象,什么时候不由你释放?[NSAutoreleasePool release]和[NSAutoreleasePool drain]有什么区别? 内存管理要点: Objective-C 使用引用计数机制(retainCount)来管理内存。内存每被引用一次,该内存的引用计数+1,每被释放一次引用计数-1。当引用计数 = 0 的时候,调用该对象的 dealloc 方法,来彻底从内存中删除该对象。alloc,allocWithZone,new(带初始化)时:该对象引用计数 +1;

retain:手动为该对象引用计数 +1;copy:对象引用计数 +1;

mutableCopy:生成一个新对象,新对象引用计数为 1;release:手动为该对象引用计数-1;

Autorelease:把该对象放入自动释放池,当自动释放池释放时,其内的对象引用计数-1。

NSAutoreleasePool: NSAutoreleasePool是通过接收对象向它发送的autorelease消息,记录该对象的release消息,当自动释放池被销毁时,会自动向池中的对象发送release消息。autorelease 是在自动释放池被销毁,向池中的对象发送release只能释放自己拥有的对象, 区别是:在引用计数环境下(在不使用ARC情况下),两者基本一样,在GC(垃圾回收制)环境下,release 是一个no-op(无效操作),所以无论是不是GC都使用drain

面试中内存管理,release和autorelease的含义?这里尤其要强调下autorelease,它引申出自动释放池,也能引申出Run loop!5.自动释放池是什么,如何工作 ? 当 您向一个对象发送一个autorelease消息时,Cocoa就会将该对象的一个引用放入到最新的自动释放池。它仍然是个对象,因此自动释放池定义的作用域内的其它对象可以向它发送消息。当程序执行到作用域结束的位置时,自动释放池就会被释放,池中的所有对象也就被释放。

1>.Objective-C 是 通过一种"referring counting"(引用计数)的方式来管理内存的, 对象在开始分配内存(alloc)的时候引用计数为1,以后每当碰到有copy,retain的时候引用计数都会加1, 每当碰到release和autorelease的时候引用计数就会减1,如果此对象的计数变为了0, 就会被系统销毁.2>.NSAutoreleasePool 就是用来做引用计数的管理工作的,这个东西一般不用自己管理.3>.autorelease和release没什么区别,只是引用计数减1的时机不同而已,autorelease会在对象的使用真正结束的时候才做引用计数减 OS有没有垃圾回收?autorelease 和垃圾回收制(gc)有什么关系? IPhone OS 中没有垃圾回收。autorelease只是延迟释放,gc是每隔一段时间询问程序,看是否有无指针指向的对象,若有,就将它回收。他们两者没有什么关系。

7.简述NotificationCenter、KVC、KVO、Delegate?并说明它们之间的区别? KVO(Key-Value-Observing):是键值监听,键值观察机制,当观察者为一个对象的属性进行了注册,被观察对象的isa指针被修改的时候,isa指针就会指向一个中间类,而不是真实的类。所以 isa指针其实不需要指向实例对象真实的类。所以我们的程序最好不要依赖于isa指针。在调用类的方法的时候,最好要明确对象实例的类名

KVC(Key-Value-Coding)内部的实现:是键值编码,一个对象在调用setValue的时候,(1)首先根据方法名找到运行方法的时候所需要的环 境参数。(2)他会从自己isa指针结合环境参数,找到具体的方法实现的接口。(3)再直接查找得来的具体的方法实现。Delegate:代理的目的是改变或传递控制链。允许一个类在某些特定时刻通知到其他类,而不需要获取到那些类的指针。可以减少框架复杂度。消息的发送者(sender)告知接收者(receiver)某个事件将要发生,delegate同意然然后发送者响应事件,delegate机制使得接收者可以改变发送者的行为。通常发送者和接收者的关系是直接的一对多的关系。

Notification:消息的发送者告知接收者事件已经发生或者将要发送,仅此而已,接收者并不能反过来影响发送者的行为。通常发送者和接收者的关系是间接的多对多关系。

1).效率肯定是delegate比nsnotification高。

2).delegate方法比notification更加直接,最典型的特征是,delegate方法往往需要关注返回值,也就是delegate方法的结果。比如-windowShouldClose:,需要关心返回的是yes还是no。所以delegate方法往往包含should这个很传神的词。也就是好比你做我的delegate,我会问你我想关闭窗口你愿意吗?你需要给我一个答案,我根据你的答案来决定如何做下一步。相反的,notification最大的特色就是不关心接受者的态度,我只管

把通告放出来,你接受不接受就是你的事情,同时我也不关心结果。所以notification往往用did这个词汇,比如NSWindowDidResizeNotification,那么nswindow对象放出这个notification后就什么都不管了也不会等待接受者的反应。

1)两个模块之间联系不是很紧密,就用notification传值,例如多线程之间传值用notificaiton。

2)delegate只是一种较为简单的回调,且主要用在一个模块中,例如底层功能完成了,需要把一些值传到上层去,就事先把上层的函数通过delegate传到底层,然后在底层call这个delegate,它们都在一个模块中,完成一个功能,例如说 NavgationController 从 B 界面到A 点返回按钮(调用popViewController方法)可以用delegate比较好。

What is lazy loading? 就是懒汉模式,只在用到的时候才去初始化。也可以理解成延时加载。我觉得最好也最简单的一个列子就是tableView中图片的加载显示了。一个延时载,避免内存过高,一个异步加载,避免线程堵塞。

有多继承吗?没有的话可以用什么方法替代? 多继承即一个子类可以有多个父类,它继承了多个父类的特性。Object-c的类没有多继承,只支持单继承,如果要实现多继承的话,可以通过类别和协议的方式来实现,OC类似于多继承,是在用protocol委托代理来实现的;可以实现多个接口,通过实现多个接口可以完成C++的多重继承;Category是类别,一般情况用分类好,用Category去重写类的方法,仅对本Category有效,不会影响到其他类与原有类的关系。

10.分别描述类别(categories)和延展(extensions)是什么?以及两者的区别?继承和类别在实现中有何区别?为什么Category只能为对象添加方法,却不能添加成员变量? 类别:在没有原类.m文件的基础上,给该类添加方法;

延展:一种特殊形式的类别,主要在一个类的.m文件里声明和实现延展的作用,就是给某类添加私有方法或是私有变量。两个的区别:延展可以添加属性并且它添加的方法是必须要实现的。延展可以认为是一个私有的类目。

继承和类别在实现中的区别:类别可以在不获悉,不改变原来代码的情况下往里面添加新的方法,只能添加,不能删除修改。并且如果类别和原来类中的方法产生名称冲突,则类别将覆盖原来的方法,因为类别具有更高的优先级。Category只能为对象添加方法,却不能添加成员变量的原因:如果可以添加成员变量,添加的成员变量没有办法初始化

有私有方法么?私有变量呢?如多没有的话,有没有什么代替的方法? objective-c类里面的方法只有两种, 静态方法和实例方法.但是可以通过把方法的声明和定义都放在.m文件中来实现一个表面上的私有方法。有私有变量,可以通过@private来修饰,或者把声明放到.m文件中。在Objective‐C中,所有实例变量默认都是私有的,所有实例方法默认都是公有的12.#include与#import的区别? #import与@cla的区别? #import指令是Object-C针对#include的改进版本,#import确保引用的文件只会被引用一次,这样你就不会陷入递归包含的问题中。

#import与@cla二者的区别在于:

1>#import会链入该头文件的全部信息,包括实体变量和方法等;而@cla只是告诉编译器,其后面声明的名称是类的名称,至于这些类是如何定义的,暂时不用考虑。

2>在头文件中,一般只需要知道被引用的类的名称就可以了。不需要知道其内部的实体变量和方法,所以在头文件中一般使用@cla来声明这个名称是类的名称。而在实现类里面,因为会用到这个引用类的内部的实体变量和方法,所以需要使用#import来包含这个被引用类的头文件。

3>在编译效率方面考虑,如果你有100个头文件都#import了同一个头文件,或者这些文件是依次引用的,如A–>B, B–>C, C–>D这样的引用关系。当最开始的那个头文件有变化的话,后面所有引用它的类都需要重新编译,如果你的类有很多的话,这将耗费大量的时间。而是用@cla则不会。

4>如果有循环依赖关系,如:A–>B, B–>A这样的相互依赖关系,如果使用#import来相互包含,那么就会出现编译错误,如果使用@cla在两个类的头文件中相互声明,则不会有编译错误出现。所以,一般来说,@cla是放在interface中的,只是为了在interface中引用这个类,把这个类作为一个类型来用的。在实现这个接口的实现类中,如果需要引用这个类的实体变量或者方法之类的,还是需要import在@cla中声明的类进来.13.浅复制和深复制的区别? (Difference between shallow copy and deep copy?)浅层复制(copy):只复制指向对象的指针,而不复制引用对象本身。意思就是说我有个A对象,复制一份后得到A_copy对象后,对于浅复制来说,A和A_copy指向的是同一个内存资源,复制的只不过是是一个指针,对象本身资源还是只有一份,那如果我们对A_copy执行了修改操作,那么发现A引用的对象同样被修改,这其实违背了我们复制拷贝的一个思想。

深层复制(mutableCopy):复制引用对象本身。深复制就好理解了,内存中存在了两份独立对象本身,当修改A时,A_copy不变。

用网上一哥们通俗的话将就是:

浅复制好比你和你的影子,你完蛋,你的影子也完蛋

深复制好比你和你的克隆人,你完蛋,你的克隆人还活着。

14.类变量的@protected,@private,@public,@package声明各有什么含义? 变量的作用域不同,@protected 该类和所有子类中的方法可以直接访问这样的变量,这是默认的;@private 该类中的方法可以访问这样的变量,子类不可以;@public除了自己和子类方法外,也可以被其他类或者其他模块中的方法访问;@package 目前尚未得出结论. 关键字的作用? 1>函数体内 static 变量的作用范围为该函数体,不同于 auto 变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值;

2>在模块内的 static 全局变量可以被模块内所用函数访问,但不能被模块外其它函数访问;

3>在模块内的 static 函数只可被这一模块内的其它函数调用,这个函数的使用范围被限制在声明 它的模块内;

4>在类中的 static 成员变量属于整个类所拥有,对类的所有对象只有一份拷贝;

5>在类中的 static 成员函数属于整个类所拥有,这个函数不接收 this 指针,因而只能访问类的static 成员变量

16.关键字volatile有什么含意?并给出三个不同的例子

一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子:

? 并行设备的硬件寄存器(如:状态寄存器)

? 一个中断服务子程序中会访问到的非自动变量(Non-automatic variables)? 多线程应用中被几个任务共享的变量

与C、C+++之间的联系和区别?

Objective-C和C++都是C的面向对象的超集。

Object与C++的区别主要点:Objective-C是完全动态的,支持在运行时动态类型决议(dynamic typing),动态绑定(dynamic binding)以及动态装载(dynamic loading);而C++是部分动态的,编译时静态绑定,通过嵌入类(多重继承)和虚函数(虚表)来模拟实现。

Objective-C 在语言层次上支持动态消息转发,其消息发送语法为 [object function];而且C++ 为 object->function()。两者的语义也不同,在 Objective-C 里是说发送消息到一个对象上,至于这个对象能不能响应消息以及是响应还是转发消息都不会 crash;而在 C++ 里是说对象进行了某个操作,如果对象没有这个操作的话,要么编译会报错(静态绑定),要么程序会 crash 掉的(动态绑定)。

18.目标-动作机制

目标是动作消息的接收者。一个控件,或者更为常见的是它的单元,以插座变量(参见"插座变量"部分)的形式保有其动作消息的目标。

动作是控件发送给目标的消息,或者从目标的角度看,它是目标为了响应动作而实现的方法.程序需要某些机制来进行事件和指令的翻译。这个机制就是目标-动作机制。

19.动态绑定

在运行时确定要调用的方法 , 动态绑定将调用方法的确定也推迟到运行时。在编译时,方法的调用并不和代码绑定在一起,只有在消实发送出来之后,才确定被调用的代码。通过

动态类型和动态绑 定技术,代码每次执行都可以得到不同的结果。运行时因子负责确定消息的接收者和被调用的方法。运行时的消息分发机制为动态绑定提供支持。当向一个动态类型确定了的对象发送消息时,运行环境系统会通过接收者的isa指针定位对象的类,并以此为起点确定被调用的方法,方法和消息是动态绑定的。而且,不必在Objective-C 代码中做任何工作,就可以自动获取动态绑定的好处。在每次发送消息时,特别是当消息的接收者是动态类型已经确定的对象时,动态绑定就会例行而透明地发生

开发与iPhone开发有什么不同?

开发iPad和iPhone应用使用的是相同的SDK,它们之间的区别主要体现在设备硬件和UI操作上。

(1)设备硬件:由于iPad不具备电话功能,iPad1也没有相机,所以相关的特性如电话、SMS等无法使用。

(2)UI操作:由于iPad屏幕大小为英寸,而iPhone的屏幕是英寸,这就决定了两者操作方式的不同。有些控件,如UIPopoverController, UISliptViewController 只能在iPad中使用,而不能在iPhone中使用;而且当需要presentModalViewController时,Window presentation style 只对iPad有效;除此之外,iPad产品开发中还需针对iPad大屏幕考虑加入多指手势以增加用户体验

21.换肤技术使用了什么技术? 22.谈谈你对runtime的了解? 23.算法和数据结构

程序员年度工作总结 篇8

(1)参与公司软件项目的开发与测试;

(2)负责安徽省路警联合指挥中心软件系统的维护工作。通过完成上述工作,使我认识到一个称职的开发人员应当具有良好的语言表达能力、扎实的技术能力、较强的逻辑处理能力、灵活的应变问题能力、有效的对外联系能力。

在参与项目开发的过程中,发现很多看似简单的工作,其实里面还有很多技巧。四、不足和需改进方面。虽然加入公司这个大家庭已经半年有余,对开发技术掌握的还不是很深,对发现问题的处理还不是很全面,对分工的工作还没有形成系统的计划。随着对公司和工作的进一步熟悉,我也希望能够在今后的工作中更加迅速的提升自己的业务能力以及技术能力,我觉得多做一些工作更能体现自己的人生价值。“业精于勤而荒于嬉”,在以后的工作中我要不断学习业务知识,通过多看、多问、多学、多练来不断的提高自己的各项业务技能。

学无止境,时代的发展瞬息万变,各种学科知识日新月异。我将坚持不懈地努力学习各种知识,并用于指导实践。在今后工作中,要努力做好开发人员的本职工作,把自己的工作创造性做好做扎实,为项目的开发以及公司的发展贡献自己的力量。时光流转间,我已到公司工作三个多月。非常感谢公司领导对我的信任,给予我体现自我、提高自我的机会。这三个多月的试用期工作经历,使我的工作能力得到了由校园步入社会后最大幅度的提高。在此,在对试用期的工作情况及心得体会做一汇报后,我想借此机会,正式向公司领导提出转正请求。希望公司领导能对我的工作态度、工作能力和表现,以正式员工的要求做一个全面考虑,能否转正,期盼回复。

我会以炙热的工作热情继续投入到今后的工作当中,以自己踏实努力的工作,报公司知遇之恩!

作为刚从学校出来的应届毕业生,第一份工作就落在智通,来到智通,深深地被这个企业的文化所感染,我很认同智通的企业文化,智通的企业精神“统一,专一,事业第一”体现出了这一行业优秀企业文化的特点。在这三个月的学习与亲身感受之下,我更加坚定地要使自己成为一名合格并争取优秀的智通人,我对自己有信心,对智通更有信心。作为一名在技术岗位的职员,要具备一定的专业知识,不断地充实自己,在不断的工作学习与研究中成长,要有很好的团队协作精神,有很强的执行力,能真正为企业做实事。在智通上班的三个月里,我主要完成了以下工作项目:

一、刚来的两个星期,由于目前网站工作的需要,师傅指导一边熟悉工作职位环境一边学习asp,用了两个星期系统地学习了这门从未接触过的asp语言,为接下来一个月的工作打了坚实的基础。

二、接下来的时间,主要配合网站先前asp的后台管理系统进行某些功能优化与系统维护工作。先后完成了销售管理模块的最新注册企业查询、职业推荐给求职者、把求职者推荐给企业、会员职位刷新、职位刷新统计等几个模块的功能修改与优化,解决了业务员带权限控制的查询、推荐时间的控制与查询速度优化、企业职位刷新时的权限控制与企业职位时效性的控制以及完成对各销售组成员的职位数统计,职位刷新数统计的功能设计。在完成这些各种功能需求的时候,对后台管理系统进行了深入的分析研究,因此对销售管理模块非常熟悉,给目前网站新版开发的后台设计提了不少建设性的想法。之后还完成了logo管理模块中的投票项目添加优化与投票结果统计查询修正、logo、banner的管理与文本文件的生成。还完成了客服管理模块中后台开通资料查询的改进,企业管理、个人管理模块查询功能的改进。期间还完成了部分功能错误的修正,如校园招聘管理图片不能上传、文章类别不能修改、文章不能删除等。

三、目前新版是用jsp开发的,在这三个月里,我进一步对java,jsp的深入学习,了解了mvc模式开发,在这阶段的学习期间,我以一个小商务系统的开发作为学习任务。还对当前流行的jive代码与开发思想进行了初步的学习研究。(党支部书记述职报告)

程序员述职报告范文3篇程序员述职报告范文3篇四、作为一名系统开发与维护工作者,当然不能忽视对数据库知识的学习,在这段时间我也进一步对sql语句进行了深入的学习,对sql语句的查询进行了分析,比较重视数据库性能分析与调整这方面的知识学习。通过这阶段的学习,把这些知识与方法运用到了对后台管理系统会员查询的速度优化功能上,在实际工作中得以实践运用。

五、网站新版开发方面,主要还为新版做了几个数据库对照表。

六、还参加了网站新版的第二轮测试工作,主要以后台管理系统为主做测试,还参与了前台个人管理与企业管理的流程测试,测出了不少关键性的bug。

七、入职以来,还担任了网站部群发邮件的工作。三个月内完成了好几批邮件群发的工作,每天定时定量地给在无忧无虑网站上注册的企业或会员群发几十万封邮件。还配合客服部群发了两批特殊活动的邮件,配合网站营销活动群发了两批群件,每天坚持固定给注册会员群发。在网站技术部工作的三个月里,自己感受非常多。首先,作为刚从学校出来的毕业生,在实际开发中的经验尚不够成熟,还需要在工作中不断的提升自己。其次,要进一步提高自己的开发技能,使自己的技能满足今后的需求,主动获取并学习当今最新技术信息,平衡自己的知识结构,在不断的学习中提高自己。然后,要加强与同事们的沟通,融入团队,互相学习、相互提高,在团队中不断完善自己。我相信,通过我的努力,一定能成为智通的优秀员工,一定会在优秀成绩之上提升自己。同时我希望公司能根据情况给我培训深造的机会,也希望部门内能有经常性的专业技术学习。

在此,我要感谢我的师傅xxx对我的指导,感谢李经理、范主管以及网站部的同事们对我的关心与帮助,感谢公司提供我发挥自己才能的机会。

程序员年度工作总结 篇9

我是一名程序员。一年来,软件研发部门团结协作,在公司充满拼搏的环境中,以认真的工作态度和锲而不舍的精神努力工作。完成了公司各项工作,在软件研发、团队合作和个人成长方面取得了一定的成绩。在公司一年的工作已经结束,特向公司汇报如下:

1.软件研发

根据公司安排和项目需要。通过自己的努力,在x经理的帮助,以及团队的配合下,我克服了很多技术难关,增加了工作经验,收获颇丰:

1.xx开发

我以前在其他公司也做过一些开发,但是没有涉及到底层、架构和页面样式。通过今年公司项目的培训,我成长并学到了很多东西。

首先,面向对象语言的好处。当前编程的主流思想是对象,任何东西都可以用对象来表示。在过去,这些话很难理解。是从表面上理解的,而不是从深度体验中理解的。通过对xx项目的深入了解,无论是数据还是一些外部条件,我们都可以抽象成对象,用对象来表示。使用语言中的类squares等。xx就是这样,c#和java一样。

其次,具备独立完成知识的能力。之前没做过vb的东西,这次做了深入的工作。这次涉及的领域很广,把最常用和最重要的都涉及到了,还增加了xml和java实际操作中的空白部分。通过今年的发展,我能够胜任这方面的工作,可以独立完成这方面的工作。

还是有一些不足。通过这款软件的开发,LocALhOST也发现了自身的不足,比如缺乏基础知识,缺乏整体的编程思路。这些都是工作中需要细化和改进的。

2. 数据库开发

数据库是与项目一起使用的最常见和最普通的技术。以前只知道对数据库的一些简单常用的操作。经过今年项目实战,积累了一些丰富的数据库操作经验。为以后工作和经验的积累打下了坚实的基础。同时项目中还用到了oracle和access数据库,是我的收获。

优点:熟练使用数据库技术进行开发。尤其是sql数据库的操作,经过这么长时间的积累,基本可以合理的设计和新建一个数据库了,同时也加强了对数据库在数据结构方面的理解。通过项目的实践,我现在可以熟练使用和编写各种SQL语句了。我也掌握了一些优化数据库中SQL语句的方法,可以进行一些简单的优化。

缺点:数据是一种比较先进的技术。不是你会写一些sql语句,而是你可以建几个数据库,你是一个数据库工程师。成为一名优秀的数据库管理员,就是长期的工作积累。针对自己的不足,在以后的工作和学习中,要多接触,多利用新的知识点。丰富您的经验和知识储备。

二、团队合作

以上的成功和收获,除了自己的努力,还有公司的支持。是这支球队造就了我。我们的团队也是一个具有务实、拼搏和创新精神的团队,因为我们的团队成员努力工作、合作。我和软件开发团队是一个整体,这里的团队总结就是我在这个团队中的收获。

务实:公司下达的任务和任务,都是用心完成的。我们团队中没有人在工作的同时除了工作以外的任何事情,而且他们实际上都在做对公司有益的与工作相关的事情。相信在吴经理的带领下,现在是这样,以后也一样。

努力工作:不管公司下达的每一项任务有多么艰巨,如果工作没有完成,我们就会在晚上加班,一定要尽可能完成一天的工作。如果工作真的很忙,为了赶进度,我们放弃周末休息,尽早做项目。

创新:现在当我们开始一个项目时,我们会进行讨论。一般情况下,我们会进行高效、合乎逻辑的分析和讨论,以确保程序的前提是正确的,并尽可能提高程序的效率。

互助:只要我们群里的任何人有技术或其他问题,我们都会尽可能地互相帮助。没有人会支持整个项目。

沟通:我们会在项目期间及时沟通我们的收获,特别是一些针对性的技术问题。这节省了大量重复研究的时间,这是相当多的时间。

只要懂得沟通,我就不会小气。我会主动和你沟通。我的团队有句名言“强者使团队强,弱者使团队更弱”。

3. 个人成长

通过公司近一年的培训和学习,我确实进步了很多,无论是技术还是工作,都不像以前那样了。 我在公司学到的东西让我快速成长。

技术上:无论是语言还是做事的逻辑都有很大的提升。 现在在软件团队,我可以独立完成部分工作,承担自己的责任。

程序员年度工作总结 篇10

黑马程序员:IOS面试宝典之c语言

C语言语法

1.局部变量能否和全局变量重名?

答:能,局部会屏蔽全局。要用全局变量,需要使用"::";局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同 名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。

2.如何引用一个已经定义过的全局变量?

答:extern 可以用引用头文件的方式,也可以用extern关键字,如果用引用头文件方式来引用某个在头文件中声明的全局变理,假定你将那个编写错了,那么在编译期 间会报错,如果你用extern方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报错。

3.全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么?

答:可以,在不同的C文件中以static形式来声明同名全局变量。

可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此时连接不会出错.4.关键字volatile有什么含意?并举出三个不同的例子?

一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子:

1)并行设备的硬件寄存器(如:状态寄存器)

2)一个中断服务子程序中会访问到的非自动变量(Non-automatic variables)3)多线程应用中被几个任务共享的变量

关键字的作用是什么?

(1)函数体内 static 变量的作用范围为该函数体,不同于 auto 变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值;

(2)在模块内的 static 全局变量可以被模块内所用函数访问,但不能被模块外其它函数访问;

(3)在模块内的 static 函数只可被这一模块内的其它函数调用,这个函数的使用范围被限制在声明

它的模块内;

(4)在类中的 static 成员变量属于整个类所拥有,对类的所有对象只有一份拷贝;

(5)在类中的 static 成员函数属于整个类所拥有,这个函数不接收 this 指针,因而只能访问类的static 成员变量。

6.堆和栈的区别是什么?

管理方式:对于栈来讲,是由编译器自动管理,无需我们手工控制;对于堆来说,释放工作由程序员控制,容易产生memory leak。

申请大小:栈:在Windows下,栈是向低地址扩展的数据结构,是一块连续的内存的区域。这句话的意思是栈顶的地址和栈的最大容量是系统 预先规定好的,在WINDOWS下,栈的大小是2M(也有的说是1M,总之是一个编译时就确定的常数),如果申请的空间超过栈的剩余空间时,将提示 overflow。因此,能从栈获得的空间较小。堆:堆是向高地址扩展的数据结构,是不连续的内存区域。这是由于系统是用链表来存储的空闲内存地 址的,自然是不连续的,而链表的遍历方向是由低地址向高地址。堆的大小受限于计算机系统中有效的虚拟内存。由此可见,堆获得的空间比较灵活,也比较大。

碎片问题:对于堆来讲,频繁的new/delete势必会造成内存空间的不连续,从而造成大量的碎片,使程序效率降低。对于栈来讲,则不会存在这个 问题,因为栈是先进后出的队列,他们是如此的一一对应,以至于永远都不可能有一个内存块从栈中间弹出 分配方式:堆都是动态分配的,没有静态分配的堆。栈有2种分配方式:静态分配和动态分配。静态分配是编译器完成的,比如局部变量的分配。动态分配由 alloca函数进行分配,但是栈的动态分配和堆是不同的,他的动态分配是由编译器进行释放,无需我们手工实现。

分配效率:栈是机器系统提供的数据结构,计算机会在底层对栈提供支持:分配专门的寄存器存放栈的地址,压栈出栈都有专门的指令执行,这就决定了栈的 效率比较高。堆则是C/C++函数库提供的,它的机制是很复杂的全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?

答: 1)全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同。这两者的区别在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。而静态全局变量则限制了其作用域,即只在定义该变量的源文件内有效,在同一源程序的其它源文件中不能使用它。由于静态全局变量的作用域局限于一个源文件内,只能为该源文件内的函数公用,因此可以避免在其它源文件中引起错误。

2)从以上分析可以看出,把局部变量改变为静态变量后是改变了它的存储方式即改变了它的生存期。把全局变量改变为静态变量后是改变了它的作用域,限制了它的使用范围。

3)static函数与普通函数作用域不同,仅在本文件。只在当前源文件中使用的函数应该说明为内部函数(static),内部函数应该在当前源文件中说明和定义。对于可在当前源文件以外使用的函数,应该在一个头文件中说明,要使用这些函数的源文件要包含这个头文件

综上所述: static全局变量与普通的全局变量有什么区别:

Static全局变量只初使化一次,防止在其他文件单元中被引用;

Static局部变量和普通局部变量有什么区别:

Static局部变量只被初始化一次,下一次依据上一次结果值;

Static函数与普通函数有什么区别:

Static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝

8.关键字const的作用分别是什么?

Const int a;int const a;const int *a;int const *a;int * const a;int const * const a;1> 前两个的作用是一样:a 是一个常整型数

2> 第三、四个意味着 a 是一个指向常整型数的指针(整型数是不可修改的,但指针可以)3> 第五个的意思:a 是一个指向整型数的常指针(指针指向的整型数是可以修改的,但指针是不可修改的)4> 最后一个意味着:a 是一个指向常整型数的常指针(指针指向的整型数是不可修改的,同时指针也是不可修改的)与union的区别是什么?

设有以下说明和定义:

typedef union

{ long i;int k[5];char c;} DATE;

Struct data { int cat;DATE cow;double dog;} too;

DATE max;

则语句 printf("%d",sizeof(struct data)+sizeof(max));的执行结果是:___52____ 考点:区别struct与union.(一般假定在32位机器上)

答:DATE是一个union, 变量公用空间.里面最大的变量类型是int[5], 占用20个字节.所以它的大小是是一个struct, 每个变量分开占用空间.依次为int4 + DATE20 + double8 = 32.所以结果是 20 + 32 = 52.当然...在某些16位编辑器下, int可能是2字节,那么结果是 int2 + DATE10 + double8 = 20 10.关于指针的理解

1.请写出下题输出结果:

(){ a[5] = {1,2,3,4,5};

*ptr =(int *)(&a+1);(“%d,%d”,*(a+1),*(ptr – 1));5.} 答:2,5

*(a+1)就是a[1],*(ptr-1)就是a[4],执行结果是,&a+1不是首地址+1,系统会认为加一个a数组的偏 移,是偏移了一个数组的大小(本例是5个int,int *ptr=(int *)(&a+1);则ptr实际 是&(a[5]),也就是a+5原因如下:

&a是数组指针,其类型为 int(*)[5];而指针加1要根据指针类型加上一定的值,不同类型的指针+1之后增加的大小不同。a是长度为5的int数组指针,所以要加 5*sizeof(int)所以ptr实际是a[5],但是prt与(&a+1)类型是不一样的(这点很重要),所以prt-1只会减去sizeof(int*),a,&a的地址是一样的,但意思不一样,a是数组首地址,也就是a[0]的地址,&a是对象(数组)首地址,a+1是数组下一元素的地址,即a[1],&a+1是下一个对象的地址,即a[5].2.写出下列代码的输出内容

#include

int inc(int a)

{ return(++a);}

int multi(int*a,int*b,int*c)

{

return(*c=*a**b);}

typedef int(FUNC1)(int in);

typedef int(FUNC2)(int*,int*,int*);

void show(FUNC2 fun,int arg1, int*arg2)

{

FUNC1 p=&inc;

int temp =p(arg1);

Fun(&temp,&arg1, arg2);

printf("%dn",*arg2);

}

main()

{

int a;

//局部变量a为0;

Show(multi,10,&a);

return 0;

}

答:110

3.以下为Windows NT下的32位C++程序,请计算sizeof的值void Func(char str[100]){

Sizeof(str)= ? } void *p = malloc(100);sizeof(p)= ? 答案:这题 很常见了,Func(char str[100])函数中数组名作为函数形参时,在函数体内,数组名失去了本身的内涵,仅仅只是一个指针;在失去其内涵的同时,它还失去了其常量特性,可以作自增、自减等 操作,可以被修改。Windows NT 32位平台下,指针的长度(占用内存的大小)为4字节,故sizeof(str)、sizeof(p)都为4。

程序员年度工作总结 篇11

20xx年发生的第一件大事就是,在一个月紧张准备论文和几天喝得“醉生梦死”的毕业宴之后,终究为自己十余载的学生生涯画上了一个圆满的句号。从学生到上班族,从校园到职场,无论是社会角色的转变还是生存环境的转变,对我来说,都是一道坎,所幸的是,大学的时候,选择了一个自己喜欢的专业,出了校门,能将自己喜欢的东西变成自己的职业,则更为欣喜。校园和职场,是两个绝缘不同世界,大学里的我们,眼界狭窄,见识浅短,在一个小小的世界自娱自乐着,好在始终没有放下自己热爱的东西。大学阶段找了两份开发的工作,也正是这曾经的两段经历,让我意识到自己的不足,和专业职位需求之间的差距。开始有意识的去补充一些东西。

20xx年,我正式成为一名程序员,来到了“社会”这个更为广阔的天地,在这个纷繁复杂的社会上,有着很多资历深厚的前辈,有着无穷无尽的资源,当然也充斥着机会和误区,不过,不管怎样,对于全新的生活,我已做好了准备,希望自己能踏踏实实,走出属于自己的路。

  • 热门游戏资讯
  • 最新游戏资讯
  • 热门新闻资讯
  • 最新新闻资讯
  • 下载排行榜
  • 下载新品榜