1. java源代码怎样制作成成果
http://jingyan..com/article/14bd256e272d17bb6d261214.html
http://jingyan..com/article/4f34706ed6fa0de387b56dcc.html
可以包装生jar包或者生成exe文件。上面两个网址说专了详细的属方法。
2. Java是什么
最短的答案是:它是个面向网络的程序设计语言,用来让程序员创建应用程序,这些应用程序可以通过网络下载,而且可在任何计算平台上安全地运行。如果再加上万维网和公司内部网体系,你将会拥有一个标准的网络计算环境,Java作为一个分布式的,面向对象的程序设计语言,可以让位于任何地方的任何计算机应用网络上的应用程序。
如果在商业角度看待Java,Java是个时髦话。同不少已经有20年历史的其他程序设计语言相比,Java吸收了计算机科学领域的各种最新成果,另外一方面,由于Java还比较年轻,它缺少诸如Visual Basic 或C++那样的丰富的编程工具的支持。
同C++一样, Java是个面向对象的语言,这就意味着软件可以以部件的形式编制,为了满足某种任务,软部件可以互相配合。运行Java,不必非得在网络环境中进行,Java同其他传统的诸如COBOL或 Basic这样的程序设计语言一样,可以创建独立运行的应用程序。只不过Java对互联网上的应用开发更拿手。
Java适宜于互联网的开发应用,其中一个原因是它使用了虚拟机,虚拟机是个用来解释Java指令的软件包,可以让Java在任何机器上运行,比如有运行在Mac或 UNIX下的虚拟机软件包。虚拟机并不是Java语言本身,它是个为特定机器编写的解释器软件。Java的虚拟机策略就相当于世界语,这是个人造的国际语言,目的是使得不同语言之间的翻译和沟通更加容易。
要称作一个通用的计算机语言,Java是最适合不过的,这意味着它可以在所有的计算机上运行,(尽管需要为各种机器编写Java虚拟机软件),可以根据需要提供软部件,并且具有内在的安全机制。
用Java编写的操作系统,称为JavaOS,是个基于语言的操作系统,它看起来似乎没有机会来占据PC市场。但是它为Microsoft Windows和MacOS未来的发展提供了线索。它也许将来会应用到各种仪器设备中,包括电视遥控器和温控器。
基于网络的内容供应商对Java技术很感兴趣,因为它增加了交互性和动画功能,这是吸引观众的关键因素。对于软件商来说, Java有希望可以让人们采用租用软件的方式,诸如字处理器或者电子表格软件,而无需购买软件,这就改变了目前的商业模式。
Java也使得网络计算机成为现实,无须硬盘的,价值500美元的PC
将可以取代Wintel 结构的计算机。所有这一切都显出Java的重要性,它的支持者把它视作对付微软和盖茨的最后的和最好的希望,这就是为什么一些人对Java表现出狂热的崇拜的原因。
3. JAVA是什么
JAVA是什么
简言之,Java环境可用来开发能在任何计算平台上运行的应用软件。它实际上是一种非常基本且结构紧凑的技术,而它对WorldWide Web以及商业的总体影响已可同电子表格对PC机的影响相比拟。
Java是巨大的推动力量
Java已用动态的交互应用软件使Web栩栩如生。它使开发人员具有‘编写一次到处运行TM”的巨大能力。而且,借助其JavaAPI及其编程语言上的Java虚拟机,它已产生一种分布信息的崭新模式。这种模式叫做Java企业计算,正在帮助各企业以各种不同的方法取得竞争优势。网管和控制已大大简化。软件分配基本上是免费的,而且立即可实现。电子贸易已获得。占有成本大幅度降低。信息和应用软件到处可存取。
Java建立在简单的前提基础上,即所有微处理器都应讲同一种语言??所有内部采用芯片的产品都应能一起工作,无缝而方便地共享信息。它已经改变企业和个人同Internet大交道的方式。现在,它正在对消费类产品产生明显的影响,而且从总体上更加深刻地影响企业计算。
借助Java,您可自由自在地使用您已拥有的硬件和软件。这是因为Java是独立于平台的。它还可使您超越企业计算,使应用软件在便携式计算机、信息亭、电视、蜂窝电话和其他大量设备上运行。
全世界的公司都已发现Java数不胜数的用途。所有用途可从其无可比拟的能力,即提高可靠性、安全性和简化各种不同计算产品和环境的能力中受益非浅,而且节省的时间和费用十分可观。
Java无处不在。它已拥有几百万个用户,其发展速度要快于在它以前的其他任何一种计算机产品。它可位于任何地方,而且能到处运行。Java正在迅速被用做传播信息的事实上标准,这是因为它既可给企业,也可给最终用户带来似乎数不清的好处。
因此,请您仔细考察一下Java。它的优点是很容易发现的。
“Java正在进入企业、家庭和学校。 它正在象Internet本身一样成为普遍存在的技术。” ---Oracle 公司董事长和首席执行官 Larru Ellison
“Java正在改变我们使用Internet的方法,改变我们在公司内部存取信息的方法,甚至改变我们使用蜂窝电话的方法。它正在从根本上改变制作信息、销售信息 和分配信息的方法。” ---EarthWeb公司董事长和首席执行官 Jack Hidary
Java的来龙去脉
Sun公司一小组工程师聚集在一起,认真思考日常生活中的数字系统??因为烤面包机、恒温器、游戏机和其他无数设备 都包含越来越复杂的CPU??以及他们如何能使这些数字系统共享信息。
创造未来的计算
制造产品的人当然全都从不同的方面来考虑其设计,视他们所使用的硬件平台、操作系统和应用软件而定。但是,如果您要 使这些产品中的一些产品一起工作,那怎么办?安全性、可靠性和网络问题又这么样呢?
因此,Sun公司这些工程师把各种不同的产品折开来,然后又把它们重新组装起来,其目标是要使这些不同的设备相互交谈。 他们把这些研究对象相互传来传去,并理解所有其他研究对象的特性,以便使他们能更好地一起工作。这就把制造商的问题缩减 到最低程度,并使消费者能方便地进行集成。当传统的语言证明是不适用时,工程师们就打算找到某种简单的现代新语言。
于是,Java应运而生。人们很快发现,Java有可能超越工程师的想象。Java的魅力在 于它提供给开发人员和用户的简便性。开发人员拥有广大的用户基 础、平台独立性、降低的开发费用和始终如一的执行环境,而用户 则可从生动的内容、即时软件和增大的安全性中受益。但是,Java正是从置于World Wide Web那时起才真正起飞。
Java 使全世界大为震动,因为它使Web页面栩栩如生,而且不久变得很明 显,Java拥有大得多的潜力。人们之所以采纳Java,是因为它有独特 的能力来编制和部署能在任何一个网络、任何一个操作系统上运行的 应用软件。分配软件的时间和费用实际上已不复存在,使得各公司可 把更多的资源用来开发其产品。而且,某些工业专家认为,Java可能会改变软件销售模式,从固定价格改变为按使用量收费,这样做更有 利可图,而且可阻止非法盗版。
Java是一种网络计算的通用开放标准平台。这种平台可从电话一 直扩展到极端重要的应用,建立在您现有的硬件和软件体系结构基础 上,从而创造出一个全部联网的企业或者制造出超出的创新产品。
“由于Java具有可缩放性,因而我们可以把Java应用于小应用软件或大应用软件,把它芯片组以及大型计算机和服务器,并 使它为各种不同的应用领域服务。” ---三菱公司系统营销副总裁 Steve Hester
“借助Java,您可以用一种能最有效地使用的方式动态地分 发和分配交互式商务应用软件一一在需要运行应用软件的地方, 在需要运行应用软件的时候。” ---Novell公司开发者服务部副总和总经理 Gary Mueller
Java扎下根来
在某种意义上,Java具体体现了Sun Microsystiems公司自其14年 前创建以来所追述的目标。当时,它创造了“网络就是计算机”这局名 言。它市基于Web的新网络计算模式的完美平台,因为它建立在各个 组织现有的硬件和软件体系结构基础上,能建立一个全部联网的企业。
Java是一个完整而全面的解决方案
Java远不止是一种编程语言,它是企业内外的完整计算环境,而 且万事齐备,从开发工具、操作系统、服务器软件和瘦/肥客户机一 直到网络管理工具、支持、培训、咨询和集成服务,一应俱全。Java 使用起来非常简单,部分原因是Sun提供一种全面统一的解决方案。
主要组成部分包括:
*Java开发工具和服务:有助于简化开发Java应用软件的产品和服务
*JavaOS:一种结构紧凑的操作系统,可使Java应用软件在网络计算机和蜂窝电话等设备上运行
*Java虚拟机:一层软件,嵌入Windows、Macintosh和UNIX等计算机操作系统,或在这些操作系统上运行,从而使计算机能运行Java应用软件
*Java API:标准软件界面,位于Java应用软件和数据库检索和安全性等服务软件之间
*Java芯片:一系列为Java优化的为处理器
*Solstice WorkShop:Java启动的网络管理工具
*Java培训:一个由教师指导和基于多媒体的完整课程,教会编程员如何开发Java应用软件,包括一个用来验证熟练程度的认证计划
*JavaWorkShop支持:900号电话服务,可为Java WorkShop用户(仅限美国用户)立即提供按需支持这些产品依靠由Sun的核心技术和服务提供的基础,包括:
*Solaris操作系统
*Sikstuce企业管理系统
*WorkShop开发者工具
*SunSpectrum支持服务
*Internet咨询和集成服务
*Java和Internet教育服务
*ultra工作站和Ultra Enterprise服务器;Netra服务器
难怪大公司和日益增多的全球2000公司正在把Java计算用做系统以及其终产品的主要方面。
“您不会把您自己锁住在任何一家公司的专有技术中。开放意味着选择。而Java使您有选择余地。
4. java中“:”是什么意思
是计算机的一种语言
Java起源于80年代的中末期,当时西方有一种很时髦的产品:Active
TV,Java就是Sun公饲喂这种产品开发的一种语言,其目标是在小型嵌入式系统上运行。但是由于动态图像压缩标准MPEG却始终未能出台,因而这个时期的Java也就中途夭折了。到了1990年,Sun公司副总裁James
Gosling再次提出Java的设计,其目标是希望仿效C和C++那样设计出一种更简单、更有效、更容易使用的跨多种计算机平台(硬件、操作系统等),可移植的通用语言。到了90年代中期,互联网迅速崛起,短短几年得到了巨速的发展,成千上万的计算机,其中有个人的、企业的、政府的,公司加入到了互联网上,致使互联网深入到了生活、社会、经济、政治、军事的每一个角落,因此急需开发一种跨平台软件开发工具,这给Java得到了一个极好的发展机遇,1995年Sun公司首次推出Java语言。短短的几年中Java得到了极大的发展,成立互联网开发和应用发展的一个重要工具。
二、Java的某些特点
1.通用性:指的是跨平台、跨网络、跨语种和跨时间。
跨平台:指的是Java与计算机平台(硬件、操作系统)无关。
跨网络:指的是Java与网络平台无关,可以穿越多种常用的网络类型(平台)。它的结构确切地说是B/S模型(浏览器/服务器模型,亦称Web模型)。B/S模型是一种三层结构的模型:客户端/应用服务器(Web服务器)/数据库服务器。
跨语种:指的是Java的应用软件不存在语言本地化问题,它本身带有语言机制。它主要是通过所谓“国际语言管理”(International
Language
Management)模块实现的。
跨时间:技术更新和保护投资的方案、产品升级容易,只需编写一个新的模块,替换老模块即可。
2.可移植性:Java的源代码是可移植的,而且对现有的几乎所有操作系统无须修改便能运行,还具有多线程同步、与平台无关的用户接口、内置联网功能、对象会打印功能、出错处理、内存管理等功能。CPU可移植性和虚拟操作系统。
3.支持分布式环境:
1)
分布式对象支持:类似于微软的OLE(对象的链接和嵌入??Object
Linking
and
Embedding)。支持面向对象的“继承”特性。
2)
分布式计算环境支持:通过不断扩充的Java网络类库支持分布式计算环境。Java提供一个URL(统一资源定位器)对象,用以打开并访问网上对象。其方式几乎与访问文件系统几乎完全相同。Java的客户机/服务器模式把运算从服务器分散到客户端。以提高系统执行效率,增加动态可扩充性。
5. 什么是java开源项目谁能简单地给我讲一下!目的过程成果用途
开源项目就是Open Source Project,对于Java来说,上apache网站上可以找到很多这样的程序,他们遵守GPL, Apache, Berkeley等稍有差别的开源协议,但大体意思都是可以自己修改代码用于自己的程序的,包括商业用途。这类程序一般通用性的比较多,比如服务器、数据库、浏览器、论坛、博客等等,缺点是维护起来对技术要求比较高。
6. 如何励志成就JAVA
我学习Java语言也很久了,虽然算不上是高手,但也能有点自己的发言权,我个人觉得:
1、不要先直接学习Java语言,Java的强大能够让你忽略程序设计的本质,面向对象的开发理念其实不适合初学者,建议你先学习C语言,熟悉变量的分配、内存的管理和几种基本的控制语句,熟悉面向过程的程序设计能够让你对计算的执行流程有个概念,一开始就接触面向对象不利于你对计算机系统的理解。
2、我个人觉得Java很强大的一点在于其异常丰富的类库,譬如集合类,所以你得通过不断地练习去学会这些常用类库的使用。
3、其实最重要的还是你的程序设计思想本身,语言的机制本身并不会给程序带来多大的影响。
4、关于书本的问题,有些人不推荐Thinking in Java,说不适合初学者。的确看这本书很头痛,但是你会学到很多深入的东西,譬如最简单的String类,一般的书只会跟你说怎么用,但是Thinking会告诉你为什么String特殊,以及怎样合理的使用String,Javac编译器会怎样优化代码中的String,以及String“不可更改”的本质;还有在介绍IO流的时候,一般的书只会告诉你几个用法,但是不会告诉你为什么要采用这种“嵌套”的方式·····
5、你的学会正确看待Java,他只是一种语言,仅此而已,基本的控制结构什么的,所有的语言都差不多
7. Java语言的发展历史
任职于太阳微系统的詹姆斯•高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言,应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。
由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展,Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
Java语言的发展历史分为以下几个阶段:
1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言。希望用于控制嵌入在有线电视交换盒、PDA等的微处理器
1994年将Oak语言更名为Java
1998年JDK1.2时,更名为Java 2 Platform
分为标准版J2SE,企业版J2EE,微型版J2ME
Java 既安全、可移植,又可跨平台,而且人们发现它能够解决Internet 上的大型应用问题
Internet使Java成为网上最流行的编程语言
Java对Internet的影响也意义深远
B/S的兴起 & C/S的没落
8. 请问一下各位学过java的人,我想知道学了javase最终的成果是什么是不是为了学习javaee和
SE 的最终成果?学海无边的,呵呵,与时俱进吧
SE是针对桌面的客户端的开发。客户桌面的需求是多样丰富的
漂亮的桌面,丰富的图形,比如一些测绘软件,复杂的地图要会写。
股票客户端,复杂的曲线要会画。图形控件的拖拽、触摸要会写。
网络接收发送要会写,安全协议要求要能实施。。
涉及Java 2D 3D JCP等等。
办公商用的开发为主,都要会做。
SE新整合JavaFX2.x,为了取代淘汰swing/SWT桌面GUI,不跟进的话怎么叫最终?
如果跟进,FX等同于整个flash那套声光影音的技术有很多要掌握熟悉甚至创造。
然后,还有Java EE....
9. 简历上的项目描述(JAVA)怎么写
想要成为合格的Java程序员或工程师到底需要具备哪些专业技能,面试者在面试之前到底需要准备哪些东西呢?本文陈列的这些内容既可以作为个人简历中的内容,也可以作为面试的时候跟面试官聊的东西,你可以把这些内容写到你的简历中,当然更需要的是你在面试的时候向面试官展示这些专业技能。相信此文对正在寻觅Java程序员(Java工程师)职位的freshman以及希望成为中高级Java开发者的junior都会有所帮助。
专业技能
1.熟练的使用Java语言进行面向对象程序设计,有良好的编程习惯,熟悉常用的JavaAPI,包括集合框架、多线程(并发编程)、I/O(NIO)、Socket、JDBC、XML、反射等。
2.熟悉基于JSP和Servlet的JavaWeb开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行JavaWeb项目开发的经验。
3.对Spring的IoC容器和AOP原理有深入了解,熟练的运用Spring框架管理各种Web组件及其依赖关系,熟练的使用Spring进行事务、日志、安全性等的管理,有使用SpringMVC作为表示层技术以及使用Spring提供的持久化支持进行Web项目开发的经验,熟悉Spring对其他框架的整合。
4.熟练的使用Hibernate、MyBatis等ORM框架,熟悉Hibernate和MyBatis的核心API,对Hibernate的关联映射、继承映射、组件映射、缓存机制、事务管理以及性能调优等有深入的理解。
5.熟练的使用HTML、CSS和JavaScript进行Web前端开发,熟悉jQuery和Bootstrap,对Ajax技术在Web项目中的应用有深入理解,有使用前端MVC框架(AngularJS)和JavaScript模板引擎(HandleBars)进行项目开发的经验。
6.熟悉常用的关系型数据库产品(MySQL、Oracle),熟练的使用SQL和PL/SQL进行数据库编程。
7.熟悉面向对象的设计原则,对GoF设计模式和企业应用架构模式有深入的了解和实际开发的相关经验,熟练的使用UML进行面向对象的分析和设计,有TDD(测试驱动开发)和DDD(领域驱动设计)的经验。
8.熟悉Apache、NginX、Tomcat、WildFly、Weblogic等Web服务器和应用服务器的使用,熟悉多种服务器整合、集群和负载均衡的配置。
9.熟练的使用产品原型工具Axure,熟练的使用设计建模工具PowerDesigner和EnterpriseArchitect,熟练的使用Java开发环境Eclipse和IntelliJ,熟练的使用前端开发环境WebStorm,熟练的使用软件版本控制工具SVN和Git,熟练的使用项目构建和管理工具Maven和Gradle。
说明:上面罗列的这些东西并不是每一项你都要烂熟于心,根据企业招聘的具体要求可以做相应的有针对性的准备。我个人觉得前6项应该是最低要求,是作为一个Java开发者必须要具备的专业技能
项目介绍
本系统是X委托Y开发的用于Z的系统,系统包括A、B、C、D等模块。系统使用了Java企业级开发的开源框架E以及前端技术F。表示层运用了G架构,使用H作为视图I作为控制器并实现了REST风格的请求;业务逻辑层运用了J模式,并通过K实现事务、日志和安全性等功能,通过L实现缓存服务;持久层使用了M封装CRUD操作,底层使用N实现数据存取。整个项目采用了P开发模型。
说明:上面的描述中,E通常指Spring(Java企业级开发的一站式选择);F最有可能是jQuery库及其插件或者是Bootstrap框架,当然如果要构建单页应用(SPA)最佳的方案是前端MVC框架(如AngularJS)和JavaScript模板引擎(如HandleBars);G显然是MVC(模型-视图-控制),最有可能的实现框架是SpringMVC,除此之外还有Struts2、JSF以及Apache为JSF提供的MyFaces实现,可以使用JSP作为MVC中的V,也可使用模板引擎(如Freemarker和Velocity)来生成视图,还可以是各种文档或报表(如Excel和PDF等),而Servlet和自定义的控制器是MVC中的C,当然SpringMVC中提供了作为前端控制器的DispatcherServlet;J通常是事务脚本,K应该是AOP(面向切面编程)技术,L目前广泛使用的有memcached和Redis;M的选择方案很多,最有可能的是Hibernate和MyBatis,也可以两种技术同时运用,但通常是将增删改交给Hibernate来处理,而复杂的查询则由MyBatis完成,此外TopLink、jOOQ也是优秀的持久层解决方案;底层的数据存取传统上是使用关系型数据库,可以是MySQL、Oracle、SQLServer、DB2等,随着大数据时代的来临,也可以采用NoSQL(如MongoDB、MemBase、BigTable等)和其他大数据存取方案(如GFS、HDFS等);项目的开发模型P可以是瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型、RAD模型等。
项目开发流程
1.可行性分析>>>可行性分析报告/项目开发计划书
2.需求分析>>>需求规格说明书
1.OOAD(用例图、时序图、活动图)
2.界面原型:帮助理解需求、业务层设计时推导事务脚本
3.设计>>>概要设计说明书/详细设计说明书
1.抽取业务实体(领域对象):类图、E-R图(概念设计阶段)
2.分层架构:确定各层的技术实现方案(具体到使用的框架、数据库服务器、应用服务器等)。业务层设计:事务脚本模式(事务:用户发送一次请求就是一个事务;脚本:一个方法或一个函数;事务脚本:把一次请求封装为一个方法或一个函数;事务脚本模式:一个事务开始于脚本的打开,终止于脚本的关闭)。业务层涉及的对象本有三种类型:事务脚本类(封装了业务的流程)、数据访问对象(DAO,封装了持久化操作)、数据传输对象(DTO,封装了失血/贫血领域对象),三者之间的关系是事务脚本类组合(聚合)数据访问对象,这二者都依赖了数据传输对象
3.正向工程(UML类图生成Java代码)和逆向工程(Java代码生成UML类图)
4.数据库物理设计(ER图转换成表间关系图、建库和建表、使用工具插入测试数据)
4.编码5.测试>>>测试报告/缺陷报告
1.单元测试:对软件中的最小可测试单元进行检查和验证,在Java中是对类中的方法进行测试,可以使用JUnit工具来实施。
2.集成测试:集成测试也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求组装成为子系统进行测试。
3.系统测试:将已经确认的软件、硬件、外设、网络等元素结合在一起,进行信息系统的各种组装测试和确认测试,系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,从而提出更加完善的方案。
4.验收测试:在软件产品完成了单元测试、集成测试和系统测试之后,产品发布之前所进行的软件测试活动。它是技术测试的最后一个阶段,也称为交付测试。验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。
5.交付和维护>>>用户手册/操作手册
项目管理
版本控制:CVS/SVN/Git
自动构建:Ant/Maven/Ivy/Gradle
持续集成:Hudson/Jenkins
系统架构
负载均衡服务器:F5、A10
应用服务器:
HTTP服务器:Apache、NginX(HTTP、反向代理、邮件代理服务器)
Servlet容器:Tomcat、Resin
EJB容器:WildFly(JBossApplicationServer)、GlassFish、Weblogic、Websphere数据库服务器:MySQL、Oracle
第三方工具(插件)应用
图表工具:基于jQuery的图表插件(如jQchart、Flot、Charted等)、Chart.js、Highcharts等。
报表工具:PentahoReporting、iReport、DynamicReports等。
文档处理:POI、iText等。
工作流引擎:jBPM、OpenWFE、Snaker、SWAMP等。
作业调度:Quartz、JobServer、Oddjob等。
缓存服务:EhCache、memcached、SwarmCache等。
消息队列:Open-MQ、ZeroMQ等。
安全框架:Shiro、PicketBox等。
搜索引擎:IndexTank、Lucene、ElasticSearch等。
Ajax框架:jQuery、ExtJS、DWR等。
UI插件:EasyUI、MiniUI等。
富文本框:UEditor、CKEditor等。
面试提问
项目是为哪个公司开发的?
项目的投入是多少?
有多少人参与了项目开发?
整个团队中,测试人员、开发人员、项目经理比例是多少?
项目开发了多长时间?
项目总的代码量有多少?
你的代码量有多少?
项目采用了怎样的开发模型或开发流程?
项目的架构是怎样的?
项目的技术选型是怎样的?
你在项目中承担了怎样的职责?
是否经常开会或加班?
项目完成后有哪些收获或是经验教训?
项目中最困难的部分是什么?
如何解决团队开发时遇到的各种冲突?
明:对于没有实际项目经验的,可以在前程无忧、智联招聘、拉勾网等网站上搜索招聘Java程序员的公司,找到他们的官方网站了解他们做的项目,查看项目的详细介绍,然后尝试完成其中一部分功能,最好请教一下高人看看自己的设计和代码是否恰当,这样相当于积累了一定的项目经验。
面试时可以反问面试官的问题
我注意到你们使用了X技术,请问你们是如何解决Y问题的?
为什么你们的产品使用了X技术而不是Y技术?据我所知,X技术虽然有A、B、C等好处,但也存在D和E问题,而Y技术可以解决D和E问题。
我对您说的X技术不是太熟悉,但我感觉它是一个不错的解决方案,您能多讲讲它的工作原理吗?
你们团队是如何进行项目规划的?一周会有几次例会?每周的代码量大概是多少?
就X问题我能想到的解决方案目前就只有Y了,请问您会怎么解决这个问题?
录用谈判
要理直气壮的提出具体的待遇要求
开出比预期稍高的价码
不要只盯着薪水(很多公司更愿意就薪水之外的条件做出让步)
使用最合适的方法(可以尝试在电话或E-mail中谈判待遇)
自我评价
学习能力(搞IT行业的人需要不断的了解新的技术、工具和方法)
团队意识(相比个人英雄主义,IT行业更倡导团队合作)
抗压能力(很多IT企业的工作强度相对来说还是比较大的)
自学编程,免费获取精品IT教程以及资料,搜索:黑马程序员
网页链接
10. 自学JAVA如何才算有成果
对于开发工作最低的技术要求,一个人能够开发出一个比较完善的系统,比如进销回存。一个人能够答开发,是指,能理解整个开发过程中的每个环节,并且有解决开过过程中遇到的问题的能力。
当然这只是一个程序员最低的标准。
对于初学者开说,建议通过做一个真实的例子来驱动学习。这样效率会更高一些。
只能说学无止境,是对自己的负责任。