宅基腐闹不住
想成为软件设计师你要看的书包括:
1:数据结构目前清华大学严蔚敏老师的数据结构是一个经典.可能的话,再搜罗其他版本的教程,这样可以互相印证.
2:操作系统(第三版),主要从资源管理的角度来分析系统功能的实现。假设你要设计一个新的操作系统,如何实现它?操作系统理论就是向读者逐步介绍和解释。重点是五大管理职能的实现及其原理。
3:计算机网络(第三版),要学习ISO/OSIRM七层的划分以及各种协议的功能。传输理论、互联设备、Internet知识,和参考模型理论.
4:计算机专业英语,不是软件考试特有的,是专业知识英语水平,考前不需专业准备,平时有意识地上网读点英文专业资料.
5:软件工程(第二版)要熟悉数据流图和流程图
6:数据库理论.这要求熟悉SQL的语言.
7:C语言或者VB语言应该掌握
最后要学习统一建模语言UML,它代表了软件工程的发展趋势,目前是可视化建模的事实上的工业标准。
计算机学习要经历一个从理论———实践———理论的认识不断深化的过程,这一过程是非常艰辛的.但是要相信“天道酬勤”的道理,你最终会成为一名优秀的软件设计师的~~祝你成功
第一阶段课程内容序号课程名称主要内容参考资料课时①编成基础计算机硬件,软件简介,可视化编成20课时②Java基础面向对象编程,JAVA开发环境,JAVA语法,异常处理,集合框架,数据结构,I/O输入输出流,JDBC,线程,jdk新特性。Java就业培训教程.pdf80课时③完全手册.chm20课时④Javascriptcss客户端脚本语言jscript中文参考手册.课时开发工具MYECLIPSE插件,TOMCAT,ANT,Websphere,resin⑤JSP动态网站servlet,JSP运行原理,JSP语法,HTTP协议,JSP内置对象,COOKIE,JDBC。案例:(购物车,聊天室程序,通讯录,留言板)。80课时⑥JSTL标签库JSTL标签库,自定义标签库。20课时⑦B/S软件架构JSPServletJavaBeanJDBC(MVC架构)20课时⑧数据库原理数据库系统简介,数据库原理数据库操作,sql语句,范式,关系,约束,存储过程,触发器,事务。20课时⑨软件工程(组件化)软件需求分析,软件数据建模,软件架构设计,软件开发规范,原形迭代开发模式,软件架构分析。20课时10项目实践常用组件详细讲解,上传文件组件,分页组件,主键生成组件,权限处理,考试管理系统,小型论坛,网上书店管理,等电子商务系统。20课时软件工程概论简介,开发模式,CMMI12课时项目管理项目计划(项目的整体时间,人员安排,阶段性工作内容),任务跟踪。需求分析需求管理与配置管理:需求调研,分析,系统范围配置标识,版本控制,配置审核(VSS,CVS),实际项目需求数据建模业务建模rose2007(类的关系)。拓展:svn40课时软件测试概论1.测试基础(概述,角色,测试所需条件)2.测试目的以及原则3.测试分类4.测试方法5.静态白盒测试,静态黑盒测试,动态白盒测试,动态黑盒测试6.测试计划,测试用例7.需求评审8.原型评审,设计评审9.实际项目需求评审管理工具28课时(语法,控件应用,远程方法访问)AJAX。拓展:dwr深层研究40课时原型开发原型设计规范软件设计数据库设计概要设计架构设计详细设计设计评审面向对象设计20课时XML扩展的标记语言,XML,XSLT,DTD,SAX,DOM,JDOM等解析20课时STRUTS2过滤器,Struts1,Struts2高级部分(标签库,验证框架,拦截器,源码分析,连接池,国际化,插件安装),AOP基础,JNDI。拓展:JSF,Tapestry,velocity40课时SpringIOC,JDBC,MVC,AOP,事务。hibernate数据持久化。拓展:,搜索功能lucenewebserviceSoap协议,分布式。拓展:JMSOracle数据库大型数据库开发。拓展:DB220课时软件测试单元测试集成测试系统测试验收测试60课时毕业答辩演讲能力,面试技巧,面试题,答辩20课时以上是学成软件工程师的课程体系。
黄二小要奋斗
据统计,我国电子商务企业已达到1000多万家,其中大中型企业就有10万多家,初步估计,未来我国对电子商务人才的需求每年约80万人,而我国目前包括高校和各类培训机构每年输出的人才数量不到10万人。人才缺口巨大已成为制约我国电商行业发展的一大瓶颈。 选择江西新华电脑学院云电商工程师专业,你将学习:电子商务概论与政策法规、Photoshop图像处理、电子商务物流管理、HTML5+CSS3、WEB和移动界面商业案例、Windows Server2003服务器操作系统、动态网页设计PHPMYSQL、网络数据库基础(SQLServer)、JavaScript、电子商务安全与网上支付、百度SEM、SEO优化与推广、网络营销及综合实践等。
瑷逮云暮
问题一:软件工程师要学哪些东西? 软件工程师要学习和掌握的东西: (一).NET方面的开发 ⒈熟悉开发体系,熟悉C# ASP .NET; ⒉熟悉SQLServer,Oracle数据库开发; ⒊具有企业管理系统项目经验; 4.了解企业ERP及财务管理软件(用友,金蝶)者优先; 5.善于沟通,能独立撰写方案。为人诚实,善于学习,做事认真负责,积极主动,具有敬业精神,有团队精神。 (二)JAVA应用程序开发 1.熟练使用Struts2+Spring+Hibernate 2.掌握Jquery 3.掌握Java 4.熟悉Oracle 5.掌握xml/webservice 6.掌握OOD、OOP 7.基本文档写作能力 (三)web、数据库方面的开发 ⒈练掌握ASP,NET;等编程语言,熟悉.Net开发环境,理解.Net Framework,理解并能熟练使用WebService、O/R mapping、Remoting、多线程等技术; 2.热衷于抚联网WEB开发,热衷于钻研最新的前沿技术,精通XML,Javascript,CSS,AJAX等WEB前端技术; 3.熟练的技术文档编写能力,熟练使用Rose,Power Design,Visio等建模和设计软件,有一定的架构设计能力; 4.精通SQL server数据库技术,了解数据库性能调优者优先. (四)php项目开发 ⒈使用PHP语言开发互联网应用程序; ⒉网站产品和网站功能模块的开发与维护; ⒊与页面设计师协调沟通,编写部分Javascript和HTML; ⒋参与底层MVC框架的编写与维护。 软件工程师一般指从事软件开发职业的人。软件工程师是一个认证考试,具体地说是从事软件职业的人员的一种职业能力的认证,通过它说明具备了工程师的资格。软件工程师的技术要求是比较全面的,除了最基础的编程语言(C语言/C++/JAVA等)、数据库技术(SQL/ORACLE/DB2等)等,还有诸多如JAVA SCRIPT、AJAX、HIBERNATE、SPRING等前沿技术。此外,关于网络工程和软件测试的其他技术也要有所涉猎。 对于软件工程师,不太重视学历,但并不是对学历没有要求,重点关注项目的经验和学习知识的能力,能否利用软件工程专业知识来解决问题,根据岗位不同,对软件工程师的要求也有所不同。具体能力要根据岗位和自己的兴趣爱好选定自己的职业规划方向,一方面要详细了解软件工程师的要求,可以关注企业的招聘信息;一方面自己要贮备通用的知识技能,广泛阅读相关的计算机材料对自己以后的发展大有帮助。可以确定的是软件工程师的前途在未来的发展依然是不断升温的职业,比较需要有技术和良好前景的专业之一。 工作内容: 1、 指导程序员的工作; 2、 参与软件工程系统的设计、开发、测试等过程; 3 、协助工程管理人保证项目的质量; 4 、负责工程中主要功能的代码实现; 5 、解决工程中的关键问题和技术难题; 6 、协调各个程序员的工作,并能与其它软件工程师协作工作; 7、还要编写各种各样的软件说明书,如:需求说明书,概要说明书等考试科目。工程师是中级职称,考试的题目包括了计算机体系结构、软件工程、数据库、数据结构、编译原理等计算机学科的基础课程。...>> 问题二:学习软件工程师需要学什么 软件工程师吗?目前最好的软件工程师证书就是软考得中级工程师(软件设计师)~很权威~~要想成为软件设计师你要看的书包括:1:数据结构 目前清华大学严蔚敏老师的数据结构是一个经典.可能的话,再搜罗其他版本的教程,这样可以互相印证.3:计算机网络(第三版),要学习ISO/OSIRM七层的划分以及各种协议的功能。传输理论、互联设备、Internet知识,和参考模型理论.4:计算机专业英语,不是软件考试特有的,是专业知识+英语水平,考前不需专业准备,平时有意识地上网读点英文专业资料.5:软件工程(第二版) 要熟悉数据流图和流程图6:数据库理论.这要求熟悉SQL的语言.7:C语言或者VB语言应该掌握最后要学习统一建模语言UML,它代表了软件工程的发展趋势,目前是可视化建模的事实上的工业标准。计算机学习要经历一个从理论―――实践―――理论的认识不断深化的过程,这一过程是非常艰辛的.但是要相信“天道酬勤”的道理,你最终会成为一名优秀的软件设计师的~~祝你成功 请采纳。 问题三:软件工程师都需要学习什么? 1.网络设备技术,这主要涉及网络的硬件建设,包括路由器、交换机、组局网、广网,这方面有代表性的是CISCO、NORTEL; 2.网络操作系统,这主要涉及操作系统的系统管理与网络管理,这方向有代表性的是WINDOWS 2000、UNIX、LINUX等; 3.网络数据库,这主要涉及应用于网络的数据库,这方面有代表性的是SQL和ORACLE等; 4.网络安全,大家不应把网络安全片面的想成对操作系统、应用系统的安全,其实安全问题在网络的各方面都存在,在这方面国内还没有出现比较好、比较全面的认证; 5.网络管理,这涉及一个局网、广网的综合管理、优化、计费等等,也没有一个综合性的认证; 6.网络应用开发,企业的网站的基本开发、互动性开发,技术有HTML、ASP、JSP、JAVA等等。 这六个方面都是企业信息化必备的因素,所以大家如果要补充自己的知识,可以从这六个方面去补充,自己还要作一个定位,是成为一个全面性的人员,还是专业性的人员。不过如果能在这个方面打下扎实的基本功,那么再在工作中选择一个方向,会更加厉害。 总之,大家应分步确定自己的方向,然后努力在多方向充实自己 . 问题四:软件工程师需要什么学历。 软件工程师对学历并没有要求,如果你说的是各种资格考试的话,那只是一个行业认证,如果你就是讲普通意义上的软件工程师,对学历并没有要求,而是对你的技术、专业知识有要求 问题五:软件工程师主要是学什么的啊? 软件工程师主要学习的方面有很多。比如.NET ASP ,c ,c++, c#,java安卓,javaweb(包括主流的框架strtus,hibernate ,spring ,Myibatis,)。AJAX,jQuery,javascript,PHP。用途做客户端应用程序。网站应用程序,还有管理系统比如淘宝网站,O叮办公管理系统,CRM客户关系管理系统,订票管理系统。种类很多。 问题六:做一名软件工程师需要学习和准备什么? 首先让我们来看一下软件工程师考试(高级)要求: (1)理解软件工程管理的概念和任务; (2)理解软件生存期过程; (3)理解软件工程标准; (4)掌握需求分析、测试、维护基本技术; (5)掌握软件度量、软件配置管理方法; (6)理解软件复用概念; (7)理解软件质量保证的手段; (8)理解软件项目对人员的需求; (9)理解软件知识产权的基本知识。 通过本级水平考试的合格人员具有从事软件系统分析与工程系统分析员、工程管理员的实际工作能力和业务水平。 1:数据结构 数据结构可以说是编程的灵魂,它不是一门语言所以没有关键字。它只是给程序开发人员一个开发思路而已,讲的主要是已经成熟的编程思想和算法,而且几乎适用于所有开发语言。就好像学习英语一样,学习编程语言让你会说英语,记住很多英语单词,熟悉英语的很多语法。而学习数据结构能让你编出很漂亮的英语文章。 3:计算机网络(第三版),要学习ISO/OSIRM七层的划分以及各种协议的功能。传输理论、互联设备、Internet知识,和参考模型理论 4:数学,数学是基础,你暂时不太能体会它的作用,但是以后会非常有用。所有的计算原理都要数学作为指导。 5:计算机专业英语,不是软件考试特有的,是专业知识+英语水平,考前不需专业准备,平时有意识地上网读点英文专业资料 6:软件工程(第二版) 要熟悉数据流图和流程图 7:数据库理论.这要求熟悉SQL的语言.几乎所有的编程语言都要和数据库打交道的。 8:C语言或者VB语言应该掌握,不过目前JAVA和是当前比较火的两个编程语言。 想当一个软件工程师,最后要学习统一建模语言UML,它代表了软件工程的发展趋势,目前是可视化建模的事实上的工业标准。 问题七:软件工程师都需要学习什么? 1.网络设备技术,这主要涉及网络的硬件建设,包括路由器、交换机、组局网、广网,这方面有代表性的是CISCO、NORTEL; 2.网络操作系统,这主要涉及操作系统的系统管理与网络管理,这方向有代表性的是WINDOWS 2000、UNIX、LINUX等; 3.网络数据库,这主要涉及应用于网络的数据库,这方面有代表性的是SQL和ORACLE等; 4.网络安全,大家不应把网络安全片面的想成对操作系统、应用系统的安全,其实安全问题在网络的各方面都存在,在这方面国内还没有出现比较好、比较全面的认证; 5.网络管理,这涉及一个局网、广网的综合管理、优化、计费等等,也没有一个综合性的认证; 6.网络应用开发,企业的网站的基本开发、互动性开发,技术有HTML、ASP、JSP、JAVA等等。 这六个方面都是企业信息化必备的因素,所以大家如果要补充自己的知识,可以从这六个方面去补充,自己还要作一个定位,是成为一个全面性的人员,还是专业性的人员。不过如果能在这个方面打下扎实的基本功,那么再在工作中选择一个方向,会更加厉害。 总之,大家应分步确定自己的方向,然后努力在多方向充实自己 . 问题八:软件工程师需要学习哪些专业知识 计算机导论 内容提要:为新学生提供一个关于计算机科学与技术学科的入门介绍,使他们对该学科有一个整体的认识,并了解该专业的学生应具有的基本知识和技能以及在该领域工作应有的职业道德与应遵守的法律准则。 数字电路与数字逻辑 内容提要:介绍数字逻辑与数字系统的基本概念、分析方法和设计原理,包括开关理论基础、组合逻辑、时序逻辑、可编程逻辑器件、数字系统等。 计算机组成原理与汇编语言 内容提要:以冯诺依曼计算机模型为出发点,介绍计算机的组织结构和工作原理,剖析计算机的运算器、存储器、控制器和输入输出设备的结构、工作原理和相互关系;介绍 80X86指令系统、汇编语言与汇编指令、汇编程序与汇编过程、简单汇编程序设计、汇编语言与高级语言的接口、宏汇编等。 计算机网络 内容提要:介绍数据通信的基本概念和计算机网络的基本原理,包括计算机网络的体系结构、数据通信的基本方法和协议、计算机网络的主要应用协议;同时介绍计算机网络系统的安全和管理知识,使学生对数据通信和计算机网络有一个全面理解。 计算机体系结构 内容提要:研究计算机系统结构的基本概念、基本原理、基本结构和基本分析方法,使同学在具有一定的软硬件知识基础上能综合认识计算机系统的软硬件功能分配与各种不同结构类型机器的特性和性能评价方法。为研究、开发、应用高级计算机系统打下基础。确立全面、系统的观点和学会定量分析问题的方法。 离散数学 内容提要:包括 *** 论、数理逻辑、图论、组合数学等内容,形式化的数学证明贯穿此课程。 高级程序设计语言 内容提要:分别以 C、C#或JAVA为例,介绍程序设计和语言,程序的基本数据结构、类型定义、简单类型和结构化类型、程序的基本控制结构、结构化程序设计、面向对象的程序设计等。 算法分析与设计 内容提要: 本课程延续数据结构课程的学习,从算法分析和设计的角度出发,除去传统的分类查找算法和一般的设计方法外,主要内容包括如下几个部分:算法研究的理论基础,递归分析技术,基本算法设计策略(几类经典算法学习), 多项式运算与 FFT ,串匹配,概率分析算法。 希望通过这一课程的学习,使学生能对现代的算法设计及分析的基本工具能有较全面的掌握。 数据结构 内容提要:介绍线性表及其链接存储结构与算法、数组与矩阵、堆栈与队列、广义表的存储结构与多元多项式表示、串与文本编辑、排序、树、图、文件结构。 数据库系统原理 内容提要:介绍数据库系统的基本概念、原理、方法及应用,主要包括数据库系统概论、数据库管理系统实现技术、数据库存储结构及其他类型的数据库系统。 编译技术 内容提要:介绍编译原理的理论和实践,包括编译程序设计、词法分析、语法分析、符号表、声明和存储管理、代码生成以及优化技术。 操作系统 内容提要:介绍操作系统的设计与实现,包括操作系统各组成部分的概述、互斥性和同步性、处理器实现、调度算法、存储算法、设备管理和文件系统。 问题九:要做软件工程师大学选什么专业? 关键主要看学了哪些课程,如果单纯的注重做软件,需要学习数据结唬、逻辑结构与算法、编程语言、数据库、操作系统、网络理论、软件工程理论等,当然这只是一些主要的课程,如果做大师,还需要拓宽范围,学习其他的,如高数、线代、几何、电路分析、模电、数电、单片机、汇编、各种编程语言等等 问题十:如何当一名软件工程师,要学哪些知识 1.网络2.软件3.集成电路如果您希望进入IT行业,那么您先要确定进入这三个方面中的一个。三个方面的就业方向:1.集成电路方向,这是一个非常专业的方向,需要求职者有很强的专业知识,这些专业知识很能通过培训来补充,需要很好的类似于大学教育的培养;这类人才就业面很窄,但如果就业了,其薪水很高(当然要看企业的情况)2.软件方向,这个方面比集成电路设计在专业上相对宽一些,一个好的软件工程师,也需要有扎实的数学基础。常规的培训可以使一个没有软件基础的人成为一个软件蓝领,但要成为软件设计人员,还是需要相当的工作与学习时间;这类人才大多就业于软件企业;3.网络方向,这个方面涉及的面就比前两者宽得多,通过培训可能从一个对网络技术不了解的人逐步成为网络的工程师,因为网络技术是一种更偏向于操作的技术。在就业面也宽得多,因为信息化是一个全社会的工程, *** 、企业都在进行信息化,都需要在网络方面寻找合适的人才进行其网络系统的运行、管理、维护。因此,从就业面来看, 网络工程师>软件工程师>集成电路工程师而不同的是,网络工程师却是各行各业所需要的。1.企业信息化主管:负责信息化建设中的目标与方案决策,信息化建设中的方向研究;2.工程技术人员:负责信息化系统的设计、建设,包括设备、系统、数据库、应用系统的建设;3.运行维护人员:负责信息化系统的运行、维护、管理以及基本的开发;4.操作应用人员:主要应用信息化系统进行本职工作。在企业信息化建设运行的过程来看,一个企业会把建设过程以外包方式交给专业的IT公司来完成,于是一般一个企业不会有IT系统的工程技术人员,可以说IT 系统的工程技术人员都集中于专业的IT公司;而当信息化系统建成后,企业一般会有一个人,或一个组来负责信息化系统的运行、维护、管理,这部份人是企业必配的,而且从成本角度来看,企业会招聘一个对网络设备、网络系统、数据库、网络管理、网络安全以及基本网络开发都有所了解的人来负责其信息化系统,这类人一般叫网管。这类人的知识是水平性的,多方面的,但不是特别专业的。如果当企业真正遇到非常专业的技术问题,一般会让这个网管带着问题咨询专业的IT公司。因此从这个角度来看,网络工程师的就业面会远大于其它两类工程师。1.网络设备技术,这主要涉及网络的硬件建设,包括路由器、交换机、组局网、广网,这方面有代表性的是CISCO、NORTEL;2.网络操作系统,这主要涉及操作系统的系统管理与网络管理,这方向有代表性的是WINDOWS 2000、UNIX、LINUX等;3.网络数据库,这主要涉及应用于网络的数据库,这方面有代表性的是SQL和ORACLE等;4.网络安全,大家不应把网络安全片面的想成对操作系统、应用系统的安全,其实安全问题在网络的各方面都存在,在这方面国内还没有出现比较好、比较全面的认证;5.网络管理,这涉及一个局网、广网的综合管理、优化、计费等等,也没有一个综合性的认证;6.网络应用开发,企业的网站的基本开发、互动性开发,技术有HTML、ASP、JSP、JAVA等等。这六个方面都是企业信息化必备的因素,所以大家如果要补充自己的知识,可以从这六个方面去补充,自己还要作一个定位,是成为一个全面性的人员,还是专业性的人员。
lukylukycat
01、Java基础
认真看一遍 Java核心技术卷一,会常见的集合类用法,最主要两个 ArrayList 和 HashMap,水平到可以刷 leetcode easy 和一些集合类操作的 medium 就OK。其中更进一步可以看看 ArrayList 的源码(这部分源码几乎没有什么难点),有助于理解接口和抽象类的使用。
另外,针对目前主要的Java面试,我觉得Java内存模型、GC、线程安全、线程池这些需要了解,不管面试会不会问,至少应该要知道Java有这些东西,可以通过看深入理解Java虚拟机和Java并发编程实战补充这部分知识,实习工作应该不会接触到这些,但还是那句话,这些概念要知道。
02、熟悉一个数据库和基本SQL语句
数据库主流就是MySQL了,熟悉MySQL的安装、启动、可视化工具(workbench、navicat等),知道什么是隔离级别,SQL语句会写基本的select,insert,update和两张表的 inner join,外加增加字段、修改字段的ddl语句,理解索引原理和innodb特点。这里有条件的可以用学生价买一个云主机,国内阿里云腾讯云都行,熟悉在 CentOS 或者是 Ubuntu 里命令行安装和使用MySQL。
另外,作为拓展,可以去了解一下redis的基本使用,作为现在大热的组件,其实却非常容易上手,一些技术面试很喜欢问。
03、了解一个Java Web框架
推荐 Spring+SpringMVC+Mybatis(我不太推荐一上来就学 Sping Boot),先自己本地搭建一个这样的环境。
有个很好的学习地方就是github,例如:手把手教你整合最优雅SSM框架,跟着这种教程一步一步耐心的配置一个web开发环境。对于Spring重点理解 IOC和AOP。
推荐使用 Intellij IDEA 进行编码,学会 Git 的使用,命令包括切换分支、创建分支,add、commit、push、merge(理解什么叫conflict和怎么修复),不论是用命令行还是IDEA提供的图形界面都可以,我强烈推荐后者,因为用过你就知道它有多好用。
04、了解一点前端知识
这里以我的经验来讲,你需要会简单 html、css、js(angularjs )和 jQuery,其中前两者你还需要知道一个 bootstrap,根据文档能用它的组件实现你需要的效果,你学习这些东西要多久呢?可能三天吧。。。只需要知道其中最基本的写法,能实现项目中的需求,如果之后工作遇到不会的随时可以百度学习,所以我觉得这不算很艰巨的任务。
05、基于SSM框架实现一个项目
用烂的就是网上书店、个人博客这类,虽然老掉牙,但是对熟悉数据库操作、训练增删改查的业务逻辑编写却屡试不爽,其中你需要注意的一些点:
代码风格,包括驼峰命名法、数据库字段、类型、表名等的设置,注意面向接口而不要面向实现编程。
MVC 究竟在干吗,我dao、service里写的代码怎么差不多啊,那为什么要做两层?controller里需要做些什么?
再深入(对于题主需求可能可以忽略但需要了解),登录时的密码存储怎么做?明文么?session管理怎么搞?事务配置怎么设置?我怎么url一变直接跳进后台了,这部分怎么做权限控制?前端分页、后端分页都是怎么弄的等等
最后,将你的应用发布到你买的云主机上试试,熟悉基本的 cd、tar、scp、vi、vim、tomcat配置运行等基本命令,有助于之后的实习工作
06、刷一些简单的手写算法题
这些程序员面试中几乎不可避免,高频的题目无非就是快排、二分查找、topK、二叉树三种遍历、两个栈模拟队列等等。
优质工程师考试问答知识库