logo资料库

java最全最强面试大全.doc

第1页 / 共147页
第2页 / 共147页
第3页 / 共147页
第4页 / 共147页
第5页 / 共147页
第6页 / 共147页
第7页 / 共147页
第8页 / 共147页
资料共147页,剩余部分请下载后查看
1. 学习方向与面试简历的相关问题
1.如何过简历关?
2.为什么说不需要做出完整的项目吗?
3.业务重要?还是编码实战更重要?
4.是培训内容和信息量大好?还是培训内容少而精的好?
5. IT行业中也会出现蚁族和民工吗?
2. 笔试答题技巧与若干问题
3. 笔试题之Java基础部分
1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?
2、Java有没有goto?
3、说说&和&&的区别。
4、在JAVA中如何跳出当前的多重嵌套循环?
5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上?
6、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1
7、char型变量中能不能存贮一个中文汉字?为什么?
8、用最有效率的方法算出2乘以8等於几?
9、请设计一个一百亿的计算器
10、使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
11、"=="和equals方法究竟有什么区别?
12、静态变量和实例变量的区别?
13、是否可以从一个static方法内部发出对非static方法的调用?
14、Integer与int的区别
15、Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
16、下面的代码有什么不妥之处?
1、请说出作用域public,private,protected,以及不写时的区别
2、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
3、4月21号班同学贡献的一些题?
4.5月15号班同学贡献的一些题?
3、构造器Constructor是否可被override?
4、接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承具体类(c
5、写clone()方法时,通常都有一行代码,是什么?
6、面向对象的特征有哪些方面
7、java中实现多态的机制是什么?
8、abstract class和interface有什么区别?
9、abstract的method是否可同时是static,是否可同时是native,是否可同时是s
10、什么是内部类?Static Nested Class 和 Inner Class的不同。
11、内部类可以引用它的包含类的成员吗?有没有什么限制?
12、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它
13、super.getClass()方法调用
14. jdk中哪些类是不能继承的?
2、String是最基本的数据类型吗?
111、String s = "Hello";s = s + " world!";这两行代码执行后,
41、是否可以继承String类?
27、String s = new String("xyz");创建了几个String Object
5、String 和StringBuffer的区别
8.StringBuffer与StringBuilder的区别
3、如何把一段逗号分割的字符串转换成一个数组?
38、数组有没有length()这个方法? String有没有length()这个方法?
39、下面这条语句一共创建了多少个对象:String s="a"+"b"+"c"+"d";
43、try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code
7、下面的程序代码输出的结果是多少?
12、final, finally, finalize的区别。
5、运行时异常与一般异常有何异同?
15、error和exception有什么区别?
50、Java中的异常处理机制的简单原理和应用。
33、请写出你最常见到的5个runtime exception。
96、JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,final
99、java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend
13、sleep() 和 wait() 有什么区别?
16、同步和异步有何异同,在什么情况下分别使用他们?举例说明。
17. 下面两个方法同步吗?(自己发明)
56、多线程有几种实现方法?同步有几种实现方法?
30、启动一个线程是用run()还是start()? .
47、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法
58、线程的基本概念、线程的基本状态以及状态之间的关系
71、简述synchronized和java.util.concurrent.locks.Lock的
28、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。
28、子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环10
3、介绍Collection框架的结构
3、Collection框架中实现比较要实现什么接口
3、ArrayList和Vector的区别
4、HashMap和Hashtable的区别
5、List 和 Map 区别?
35、List, Set, Map是否继承自Collection接口?
109、List、Map、Set三个接口,存取元素时,各有什么特点?
7、说出ArrayList,Vector, LinkedList的存储性能和特性
4、去掉一个Vector集合中重复的元素
9、Collection 和 Collections的区别。
39、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()?
53、你所知道的集合类都有哪些?主要方法?
45、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这
46、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compa
112、说出一些常用的类,包,接口,请各举5个
100、java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些
102、字节流与字符流的区别
105、什么是java序列化,如何实现java序列化?或者请解释Serializable接口的作用。
54、描述一下JVM加载class文件的原理机制?
18、heap和stack有什么区别。
24、GC是什么? 为什么要有GC?   
51、垃圾回收的优点和原理。并考虑2种回收机制。
103、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回
23、什么时候用assert。
101、java中会存在内存泄漏吗,请简单描述。
8、能不能自己写个类,也叫java.lang.String?
2. Java代码查错
4. 算法与编程
1.判断身份证:要么是15位,要么是18位,最后一位可以为字母,并写程序提出其中的年月日。
1、编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.t
1、编写一个程序,将d:\java目录下的所有.java文件复制到d:\jad目录下,并将原来文件的
1、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截
1、有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数。
1、说明生活中遇到的二叉树,用java实现二叉树
1、从类似如下的文本文件中读取出所有的姓名,并打印出重复的姓名和重复的次数,并按重复次数排序:
48、写一个Singleton出来。
7、递归算法题1
7、递归算法题2
94、排序都有哪几种方法?请列举。用JAVA实现一个快速排序。
7、有数组a[n],用java代码将数组元素顺序颠倒
2.金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)->(一千零一拾一元整)输出。
5. html&JavaScript&ajax部分
1. 判断第二个日期比第一个日期大
1. 用table显示n条记录,每3行换一次颜色,即1,2,3用红色字体,4,5,6用绿色字体,7,
1、HTML 的 form 提交之前如何验证数值文本框的内容全部为数字? 否则的话提示用户并终止提交
2、请写出用于校验HTML文本框中输入的内容全部为数字的javascript代码
1、说说你用过那些ajax技术和框架,说说它们的区别
6. Java web部分
1、Tomcat的优化经验
1、HTTP请求的GET与POST方式的区别
62、解释一下什么是servlet;
1、说一说Servlet的生命周期?
4、Servlet的基本架构
3、SERVLET API中forward() 与redirect()的区别?
60、什么情况下调用doGet()和doPost()?
66、Request对象的主要方法:
19、forward 和redirect的区别
4、request.getAttribute() 和 request.getParameter()
1. jsp有哪些内置对象?作用分别是什么? 分别有什么方法?
2. jsp有哪些动作?作用分别是什么?
59、JSP的常用指令
3. JSP中动态INCLUDE与静态INCLUDE的区别?
4、两种跳转方式分别是什么?有什么区别?
63、页面间对象传递的方法
64、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
1、MVC的各个部分都有那些技术来实现?如何实现?
68、我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种
1.现在输入n个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面显示按什么排序,结
7. 实际项目开发
1、在eclipse中调试时,怎样查看一个变量的值?
2、你们公司使用的代码配置管理工具是什么?
3、你们的项目总金额多少,多少人开发,总共花了多少个月?
7. 数据库部分
1、用两种方式根据部门号从高到低,工资从低到高列出每个员工的信息。
2、列出各个部门中工资高于本部门的平均工资的员工数和部门号,并按部门号排序
1、存储过程与触发器必须讲,经常被面试到?
1、数据库三范式是什么?
1、说出一些数据库优化方面的经验?
2、union和union all有什么不同?
3.分页语句
3.用一条SQL语句 查询出每门课都大于80分的学生姓名 
4.所有部门之间的比赛组合
4.每个月份的发生额都比101科目多的科目
4.统计每年每月的信息
5.显示文章标题,发帖人、最后回复时间
3.删除除了id号不同,其他都相同的学生冗余信息
4.航空网的几个航班查询题:
5.查出比经理薪水还高的员工信息:
6、求出小于45岁的各个老师所带的大于12岁的学生人数
7.求出发帖最多的人:
10、一个用户表中有一个积分字段,假如数据库中有100多万个用户,若要在每年第一天凌晨将积分清零,你
10、一个用户具有多个角色,请查询出该表中具有该用户的所有角色的其他用户。
8. xxx公司的sql面试
1、注册Jdbc驱动程序的三种方式
1、用JDBC如何调用存储过程
1、JDBC中的PreparedStatement相比Statement的好处
1. 写一个用jdbc连接并访问oracle数据的程序代码
2、Class.forName的作用?为什么要用?
3、大数据量下的分页解决方法。
4、用 JDBC 查询学生成绩单, 把主要代码写出来(考试概率极大).
5、这段代码有什么不足之处?
36、说出数据连接池的工作机制是什么?
4、为什么要用 ORM?  和 JDBC 有何不一样?
8. XML部分
1、xml有哪些解析技术?区别是什么?
2、你在项目中用到了xml技术的哪些方面?如何实现的?
3、用jdom解析xml文件时如何解决中文问题?如何解析?
4、编程用JAVA解析XML的方式.
70、XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?
9. 流行的框架与新技术
1、谈谈你对Struts的理解。
2、谈谈你对Hibernate的理解。
3、AOP的作用。
3、你对Spring的理解。
11、谈谈Struts中的Action servlet。
119、STRUTS的应用(如STRUTS架构)
110、说说struts1与struts2的区别。
110、hibernate中的update()和saveOrUpdate()的区别,session的
110、简述 Hibernate 和 JDBC 的优缺点? 如何书写一个 one to many 配
7、iBatis与Hibernate有什么不同?
7、写Hibernate的一对多和多对一双向关联的orm配置?
9、hibernate的inverse属性的作用?
10、在DAO中如何体现DAO设计模式?
10、spring+Hibernate中委托方案怎么配置?
10、spring+Hibernate中委托方案怎么配置?
8. hibernate进行多表查询每个表中各取几个字段,也就是说查询出来的结果集没有一个实体类与之
8.介绍一下Hibernate的二级缓存
111、Spring 的依赖注入是什么意思? 给一个 Bean 的 message 属性, 字符串类
120、Jdo是什么?
什么是spring的IOC AOP
STRUTS的工作流程!
spring 与EJB的区别!!
10. 软件工程与设计模式
111、UML方面
112. 软件开发的
92、j2ee常用的设计模式?说明工厂模式。
113、开发中都用到了那些设计模式?用在什么场合?
11. j2ee部分
117、BS与CS的联系与区别。
2、应用服务器与WEB SERVER的区别?
32、应用服务器有那些?
3、J2EE是什么?
67、J2EE是技术还是平台还是框架? 什么是J2EE
95、请对以下在J2EE中常用的名词进行解释(或简单描述)
80、如何给weblogic指定大小的内存?
81、如何设定的weblogic的热启动模式(开发模式)与产品发布模式?
82、如何启动时不需输入用户名与密码?
83、在weblogic管理制台中对一个应用域(或者说是一个网站,Domain)进行jms及ejb或
84、说说weblogic中一个Domain的缺省目录结构?比如要将一个简单的helloWorld.
85、在weblogic中发布ejb需涉及到哪些配置文件
86、如何在weblogic中进行ssl配置与客户端的认证配置或说说j2ee(标准)进行ssl的配置
87、如何查看在weblogic中已经发布的EJB?
12. ejb部分
8、EJB是基于哪些技术实现的?并说出SessionBean和EntityBean的区别,State
2、简要讲一下 EJB 的 7 个 Transaction Level?
3、EJB与JAVA BEAN的区别?
31、EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的
73、EJB容器提供的服务
77、EJB的激活机制
78、EJB的几种类型
79、客服端调用EJB对象的几个基本步骤
13. webservice部分
4、WEB SERVICE名词解释。JSWDL开发包的介绍。JAXP、JAXM的解释。SOAP、UD
88、CORBA是什么?用途是什么?
14. Linux
118、LINUX下线程,GDI类的解释。
15. 问得稀里糊涂的题
65、四种会话跟踪技术
69、简述逻辑操作(&,|,^)与条件操作(&&,||)的区别。
16. 其他
1、请用英文简单介绍一下自己.
2、请把
3、
传智播客——IT 就业培训专家 http://www.itcast.cn 提示:本大全每半月更新一次,请持续保持关注!谢谢! 索取网址:www.itcast.cn 从享受生活的角度上来说:“程序员并不是一种最好的职业,我认为两种人可以做程序 员,第一,你不做程序员,你就没有什么工作可做,或者说是即使有可以做的工作但是你非 常不愿意去做;第二,你非常痴迷和爱好程序,并且在这方面有一些天赋和优势。程序员的 结局也是有两种:第一,默默退休,第二以程序员为起点或跳板,注意积累,跟对了好的老 板或团队,找到和很好的搭档自己创业,成为 IT 金领和富翁。” 人们在时间面前是平等的,吾生也有涯,所以,你的经验更丰富点,那不算什么,经验 是用时间积累的,你一生只有那么多时间,你能积累多少经验呢?最重要的是你的学习能力 和学习方法,这个发挥的能量可以有很大差异,要提高学习能力和学习方法首先要学会思考 和总结,要学会掌握事物的根本性的东西,而不是一些表面的细节。学习方法和学习能力对 于 IT 工作者来说尤为重要,因为 IT 行业技术更新太快,并且细节太多,同一个技术的细节 变来变去也是常有的事情,所以,IT 技术学习者绝不能照着书籍和老师的讲解死记硬背和 生搬硬套。搞 IT 工作很累人,如果学习方法不对、学习能力不强,那就更累了,不过,这 怨不得别人,你的学习方法和学习能力只适合做刷盘子的工作,却非要跑到程序员圈子里来 混,那谁能有办法拯救你! 在没有人指引的情况下,只能是自己一个知识点、一个知识点地漫无目的学习,等到积 累了足够的知识量后,才有能力开始思考和琢磨原理方面的问题,这个学习过程很漫长。如 果能在好老师的指引下,老师会启发你先思考原理问题,然后再去学习一个具体的知识点, 让你能够举一反三、触类旁通,这样的学习效率就会更高。 多学了几个知识,并不能说明你就很厉害了,只能说是你比别人投入了更多的时间和精 力而已,别人想做也能做到!不是你学了多少知识就算厉害了,关键是要用好学到的知识, 要让学到的知识发挥出最大的社会价值和经济价值,这才是最厉害的。 另外,一个人的未来和造化,会深受环境的影响,所谓孟母三迁,近朱者赤、近墨者黑 的大大道理,这些典故大家不一定能深刻领悟和感受,我们就不多说了。就拿现代比较接近 我们生活的事例来说,如果你周围的朋友全是以擦皮鞋为生、每月辛辛苦苦下来就挣 1500 元,那么估计你的职业也是跟着擦皮鞋了,即使你再聪明和再勤奋,顶多每月比你那帮朋友 多挣 300 元,合下来也就区区 1800 元/月。前几年只要抓住了大势,没钱全部找银行贷款了 在北京买房、到山西开煤矿,是头猪也能每年大把大把地捞钱,如果你周围的朋友全是投机 倒把的买房和开煤矿者,你的职业自然也是与他们干同样的事情,即使你再差,每年也能挣 到百来万不成问题,这就是环境的重要性。聪明的你因为没有机会置身于炒房团中,比那些 有机会接触炒房者的猪挣得就要少、就要累。到传智播客的环境中来,你就很有机会拿到高 薪了,你可以不参加传智播客的培训,但只要想办法与传智播客的学员们住在一起,成功的 机会就大多了。 自从我们开设 3G 的课程后,许多学员都找到了月薪在 7k 或更高的 3g 开发工作,这是 他们的能力还完全不能与之相称的一份好工作,这些学员眼看到嘴的肥肉又舍不得放弃,最 后就害苦我们这些老师了,学员纷纷把他们面试和工作中的要解决的问题带回来让我们老师 帮助做,有些问题虽然老师能做,但也是要花费很大的时间和精力才能做的,这相当于学员 把自己的工作交给我们老师替他去干了,可不是一句话两句话就解决的问题。哀哉!我们老
传智播客——IT 就业培训专家 http://www.itcast.cn 师自己还有很繁重的备课和教学任务,我们的工作请谁来帮助做呢?同学们似乎没有替我们 想过这个问题。 一个两个学员偶尔回来这么干还可以,但架不住一批批的学员都来这么干,加上有的学 生还不太会说话,让人很无奈: “很简单的,顶多占用你一个小时就搞定了!”,这么简单,你为何自己不干啊? “今天晚上你必须做出来,明天就要交上去了”,哎,我再熬夜命都要丢了,老婆就要 来砸电脑了,你叫我怎么办啊? “你没时间干,那你吩咐其他老师干,也可以啊!”,当老师都是我的奴隶,我随时随地 叫他们干啥,他们就干啥吗?老师能把教学做好,就很给我面子了。 现在这些公司怎么都越来越狡猾了,他们把日后工作中要解决的问题、并且是他们自己 都很难解决的问题拿出来让面试求职者去搞,不管面试求职者的水平怎样,他们都说谁能搞 定,谁就来上班,我们学生很高兴,不管自己水平是否适合做这份工作,反正有传智播客的 老师可以依靠,拿回来就让我们做,还说“做好了就有高薪工作,这关于我一辈子的幸福, 老师你自己看这个忙帮不帮吧?”,软件公司这招够狠!我们这批老师成了这些公司免费使 用的超级劳工。如果奥巴马说你能把伊拉克摆平,我就让你当伊拉克总统,这个奥巴马都摆 不平的事情,但因为做完了就可以当伊拉克总统,我们学生也可能拿回来让我们帮助做,让 我们帮他摆平伊拉克,这对我们来说也是很难很难的事情啊。 1. 学习方向与面试简历的相关问题 1.如何过简历关? 我先讲解几个软件求职相关的真实故事,以帮助大家了解大多数软件开发企业是如何赛 选简历和录用新员工的。 1.传智播客学员 A 是大四在读的应届毕业生,他自信技术学得很不错,实质上确实也达 到用人单位的标准,他不愿意编写两年工作经验的虚假简历,希望凭借自己的真实情况去面 对求职,投递了很多份简历,都没有回应;而他周围的很多相似背景的学员因为使用了假简 历,都很快找到了薪水 4.5k/月左右的工作,最后万不得已,他修改了自己的简历,增加了 一些水分,以两年工作经验的身份去投递简历,结果就很快找到了满意的工作。 2.一个穿着和气质给人的印象都很不错的女生咨询时,问:“如果在传智播客学完了, 能找到工作吗?”,我问了她一些基本情况后,得知她是郑州航空工业管理学院本科毕业, 并且毕业时间已经有两年,谈话中感觉很有工作经验,英语也不错,所以,我斩钉截铁地告 诉她:“她学完后绝对能找到一份满意的工作”,并说出了一些原因:(1)她本身的谈吐气质 就决定了她找工作没问题,应聘工作除了要求有那些必需的技能外,关键一点还要看这个人 的性格和素养,按她的条件,如果她要找软件开发方面的工作,只需要把技术补上就可以了, 这一点在传智播客学习是很容易补上的;(2)要想找到好工作,除了掌握必需的技术外,通 常都需要编写两年工作经验的简历,她的毕业是证确实两年前的,编造两年软件开发的工作 经验更容易,至少不用专门去做假的毕业证了。她听完后,很赞同我的观念,说她现在就在 一家软件公司做人力资源,负责挑选应聘者的简历,按领导的吩咐:“凡是工作经验低于两 年的简历直接删除到垃圾桶”,可见,如果你的简历首先到达了类似这个女生的人力资源之 手,即使你的技术再厉害,如果你的工作经验一栏上写得低于了两年,那简历就永无露脸之 日了,何谈后来的笔试和面试呢?
传智播客——IT 就业培训专家 http://www.itcast.cn 3.与传智播客同一楼的一个软件开发单位,因为项目经理读过传智播客老师们的书籍和 看过传智播客的视频,所以他们公司想到了从传智播客学员中招聘开发人员,提出薪水在 2800 元左后,我们公司老师对他们谁,2800 元薪水,我们学员肯定看不上!他们公司说对 于没有实际经验的新手开出 2800 元的薪水已经很不错了,我们老师说,传智播客学员通过 简历包装都能找到平均 4500 元的工资,楼下公司说假简历他们一聊就能聊出来,没工作经 验的人是骗不住他们的,我们的老师当时就无语了,…,因为就在前几天,我们就有一个学 员成功潜伏进了他们公司,并且工资就是 4500 元,但我们老师不能当他们的面来说这事, 就让他们一直蒙在鼓里还很自信吧!我用一个大饼的故事来说明这个问题吧,假如市场上卖 的大饼都是 10 元一个,我也做了一个这样的大饼,比同类大饼还要好吃一点,我也买 10 元一个,你肯定愿意买,但是,一旦我告诉你,我这个大饼的原材料才 5 毛钱,你心里还会 平衡吗?只会骂我太黑,5 毛钱的成本居然卖出 10 元的暴利,你不会买我的大饼,因为这 超出了你的心理承受,只要我不告诉你这么个实际情况,你则能欣然接受。也就是说,给你 讲实话,你心里会难受,给你说假话,你心里则舒坦,相比市场上的同类产品,我这假话也 算不上欺骗,毕竟你花 10 元买人家的大饼,还不如买我这个大饼好吃! 4.前面谈到简历上的工作经验很重要,可是大多数要找工作的同学往往是没有工作经验 的,所以,只能在简历上加点水分。但是,只要你将简历上写成了两年以上的工作经验,是 不是一定就能得到笔试和面试的机会呢?写两年工作经验只是有效简历的开始,离简历被用 人单位相中还有一段差距。一个好的毕业学校、优秀的英语水平、中共党员的政治面貌、某 省或直辖市的优秀毕业生、奥林匹克竞赛获几等奖等荣耀都会给用人单位一个很好的印象, 如果你有这些荣耀,一定要在简历的基本信息部分写清楚。但是,很多人是没有这些荣耀的, 那么只能平平淡淡列出自己的一些基本信息,这也没有很大的关系,顶多就是自己的简历不 能脱颖而出,但是,对于软件工程师岗位来说,学历一栏怎么着也不能写为高中,起码也要 写个大专或以上,毕业院校编个二线城市的不知名的小学院,如果你不愿意去做假证,等到 别人面试你时,再说“闲弃以前上的学校不好,因为对编程太感兴趣,就辍学了!” 2.为什么说不需要做出完整的项目吗? 1.众所周知,在实际的软件项目中,都是很多人一块共同做一个项目,每个人只是做项 目中的一部分内容,甚至是只做了项目中的一个模块,项目越大,越是如此!随便拿出一个 中等大小的项目,也需要好多个熟练的开发人员开发好多个月才能勉强做得差不多,培训期 间没有这么多时间,并且你还要先学会了很多技术后才能开始做项目。 2.一个项目中的很多东西都是重复性的工作量的累积,技术方面都大同小异。做一个 项目就好比盖一座楼房,只要告诉你整个楼房的整体结构,然后带着你盖上一间两间房子, 其他剩下的几百间房子,老师想继续盖给你看,或者让你自己盖剩下的房间,你肯定也不愿 意吧。以后有的是练手的机会,拿着人家发给你的工资,你再去做这些重复性的工作也不迟, 岂不是更好! 3.业务重要?还是编码实战更重要? 1.对软件企业来说,两者都很重要,有的项目是业务为重心,有的则是以技术作为核心; 以业务为重心的项目大都是企业信息化建设方面的项目,与做鞋差不多,没有多大技术含量 和壁垒,只有积累了一定的经验,谁都可以做,利润很薄,例如大多数管理系统,靠的是人 海战术和时间纠缠,做这种项目的程序员工作都很辛苦,经常要加班加点。而以技术为核心
传智播客——IT 就业培训专家 http://www.itcast.cn 的项目则很有技术壁垒,不是谁都能做的,利润率很高,例如,360 杀毒软件、baidu,qq, 迅雷下载,大型 bbs 项目和淘宝这样的电子商务网站。 2.对程序员来说,编码实战更重要,业务则不算什么!程序员和软件公司的工作就是 要把用户的需求和业务变成代码,即为人作嫁,一开始,需求和业务都在用户那里,用户最 懂业务,你不用了解业务,你的任务就是了解用户的业务后编写代码,在开始做项目前,用 户会把业务告诉给你的。一个软件公司从来都不是只做自己熟悉业务的项目,而是来了业务 不熟悉的项目机会,肯定也会冲上去做,软件公司通常都是在做自己以前没做过的项目,即 做以前不了解业务的项目,只有项目做完了才完全熟悉了业务,这才叫做项目,否则就成了 卖产品了,所以,软件工程里说的需求调研和理解业务的过程,也是在从侧面说明,程序员 是在接到项目之后才开始了解其业务的,而在此之前,对业务可以是完全不懂的。 4.是培训内容和信息量大好?还是培训内容少而精的好? 答:虽然这两种方式都能让学有所获和找到工作,并且,前者对于老师和学生要求都很 高,老师教得很辛苦,学生学得也很辛苦,学生甚至会产生畏惧心理,即使水平已经很高, 可能还是没有信心;后者对于老师和学生的要求都不高,老师教得轻松,学生学得愉快,学 生很容易产生自信,成了井底之蛙,还自以为不得了。但是,内容和信息量大培训课程体系, 对大多人来说是更收益的,因为,程序员做的工作总是在变化的,没有一成不变的工作,为 了适应这种变化,你的知识面必须很广泛。如果你学的知识内容很少,即使你把这些内容练 的滚瓜烂熟了,除非你出去找的一份工作正好就是你以前练习的那些东西,这时候会让人感 觉你比谁都厉害,但这种千载难逢的好事怎么就被你碰上了呢?软件开发毕竟不同于刷盘 子,不是在重复干一件事情。软件开发的工作总是要面临不同的需求和问题,如果培训课程 的内容和信息量很大,即使由于时间关系,你暂时没有完全消化和熟练这么多内容,但是, 你在工作中不管遇到什么新问题,都有那么一点点印象,知道大概的解决办法和思路,你就 可以慢慢地通过查阅资料和最终解决这个问题,软件开发的工作本来就是这么一种现状,如 果你学的知识量很少,一旦遇到了新问题,你完全就没有了思路,完全无从下手,这是何等 痛苦,只有灰溜溜走人的份了吧。总之,知识面越宽广,了解的信息越多,解决问题的能力 就越强,好比以前治疗哮喘没有很好的办法,即使是一个哮喘病专家医生,也需要让病人吃 上半年的药,还不能完全治愈,现在,如果有了一种新药,病人只需要吃上一周,就能彻底 治愈,所谓好的哮喘病专家医生,他要做的工作就是迅速知道有这么一种新药问世了,否则, 他就成名符其实的庸医了。建筑大师可能自己连一个厕所都盖不出来,但是他能指导别人去 干,建筑大师一定要阅历广泛,他经历过的项目很多,但每个项目的很多细节不是他亲力亲 为。如果砌砖都是他亲力亲为,那他一辈子可能都是干砌砖工作了。 别的培训机构培养的是技术单一的熟练技工,传智播客培养的是具有很强学习和解决问 题能力的技术高手和未来技术经理。很多工厂说,清华毕业的学生刚进工厂时的动手操作不 如技校毕业的学生熟练,但过一段时间后,清华学生则能解决工厂生成过程出现中的各种新 问题和弊端,甚至能提出创新和发明,后劲十足,因为清华培养的就不是一个单一工种的熟 练工人,而是知识全面和具有创新能力的高级工程师。别的机构和传智播客培养出来的学生 差别好比如此。 5. IT 行业中也会出现蚁族和民工吗? 先看看 IT 蚁族和 IT 民工的悲惨命运吧!
传智播客——IT 就业培训专家 http://www.itcast.cn http://news.csdn.net/a/20100316/217473.html http://topic.csdn.net/u/20100317/16/2dba32e3-90f4-40b5-b1fd-0bf3709297c6.ht ml?97395 搜素 程序员的悲哀,还有更多辛酸的故事,但是,我并不同情他们,我只是说他们自 己无能!程序员这个职业能创造出许多年轻的富翁,不靠父母不靠天,还有那个职业比 IT 行业更有机会和诱惑呢。不过,程序员毁坏身体是真,可是,不让你做程序员,你去打游戏, 聊 QQ 不也照样坏身体吗? SSH(struts,spring,hibernate)是当前做管理信息系统最基本和最流行的通用技术, 这几个技术都出现 7,8 年了,应该很普及了,确实没什么新意。现在培训机构教的都是这些 玩意,用来混饭吃,还是管点用的。每个做增删改查的人基本都会 SSH,所以,SSH 没什么 了不起的,SSH 这套东西对培训公司和个人发展来说,都不能成为核心竞争力,都难以成大 气候。一些公司内部所谓的核心技术,就是那些非 SSH 的知识,传智播客教的不只是大家都 会的 SSH。有点档次的项目,确实不怎么用 SSH,但是大多数 OA 类的项目都是增删改查,虽 然没有技术含量,但是用工需求量大,这也就是能诞生出 IT 蚁族和 IT 民工的由来。 但是,java 不只是有 SSH 这套技术,如果你不想成为 IT 蚁族,如果你不想厌烦软件开 发,那就不能只学 SSH,这个没有太多技术含量的单一熟练工种。 2. 笔试答题技巧与若干问题 说明,为了节省大家的时间和提高学习效率,一些过时知识点和被笔试概率极低的题目 不再被收录和分析。 回答问题的思路:先正面叙述一些基本的核心知识,然后描述一些特殊的东西,最后再 来一些锦上添花的东西。要注意有些不是锦上添花,而是画蛇添足的东西,不要随便写上。 把答题像写书一样写。我要回答一个新技术的问题大概思路和步骤是:我们想干什么,怎么 干,干的过程中遇到了什么问题,现在用什么方式来解决。其实我们讲课也是这样一个思路。 例如,讲 ajax 时,我们希望不改变原来的整个网页,而只是改变网页中的局部内容, 例如,用户名校验,级联下拉列表,下拉树状菜单。用传统方式,就是浏览器自己直接向服 务器发请求,服务器返回新页面会盖掉老页面,这样就不流畅了。 对本面试宝典中的题目有信心吗?本来有信心的,结果听你讲完后,就没信心了!我非 常理解。因为他觉得我的太深,他想记住我的些东西,可是记不住,所以没信心了。我又问: 听懂了吗?他说听懂了。你到现在只要把你的理解尽量清晰地、有条理地表达出来,就很棒 了。 这套面试题主要目的是帮助那些还没有 java 软件开发实际工作经验,而正在努力寻找 java 软件开发工作的朋友在笔试时更好地赢得笔试和面试。由于这套面试题涉及的范围很 泛,很广,很杂,大家不可能一天两天就看完和学完这套面试宝典,即使你已经学过了有关 的技术,那么至少也需要一个月的时间才能消化和掌握这套面试宝典,所以,大家应该早作 准备,从拿到这套面试宝典之日起,就要坚持在每天闲暇之余学习其中几道题目,日积月累, 等到出去面试时,一切都水到渠成,面试时就自然会游刃有余了。 答题时,先答是什么,再答有什么作用和要注意什么(这部分最重要,展现自己的心得)
传智播客——IT 就业培训专家 http://www.itcast.cn 答案的段落分别,层次分明,条理清晰都非常重要,从这些表面的东西也可以看出一个 人的习惯、办事风格、条理等。 要讲你做出答案的思路过程,或者说你记住答案的思想都写下来。把答题想着是辩论赛。 答题就是给别人讲道理、摆事实。答题不局限于什么格式和形式,就是要将自己的学识展现 出来! 别因为人家题目本来就模棱两可,你就心里胆怯和没底气了,不敢回答了。你要大胆地 指出对方题目很模糊和你的观点,不要把面试官想得有多高,其实他和你就是差不多的,你 想想,如果他把你招进去了,你们以后就是同事了,可不是差不多的吗? 关于就业薪水,如果你是应届生,那不能要高工资,好比大饼的故事,没有文凭还想拿 高工资,就去中关村缺什么补什么吧!少数人基础确实很好,在校期间确实又做过一些项目, 那仍然是可以要到相对高的工资的。 公司招聘程序员更看重的要用到的编码技术、而不是那些业务不太相关的所谓项目经 历: 1.公司想招什么样的人 2.公司面试会问什么,.3.简历怎么写 4 怎样达到简历上的标准 (培训中心教项目的目的) 对于一些公司接到了一些项目,想招聘一些初中级的程序员过来帮助写代码,完成这个 项目,你更看重的是他的专业技术功底,还是以前做过几个项目的经历呢?我们先排除掉那 些编码技术功底好,又正好做过相似项目的情况,实际上,这种鱼和熊掌兼得的情况并不常 见。其实公司很清楚,只要招聘进来的人技术真的很明白,那他什么项目都可以做出来,公 司招人不是让你去重复做你以前的项目,而是做一个新项目,业务方面,你只要进了项目团 队,自然就能掌握。所以,大多数招聘单位在招聘那些编码级别的程序员时也没指望能招聘 到做过类似项目的人,也不会刻意去找做过类似项目的人,用人单位也不是想把你招进,然 后把你以前做过的项目重做一遍,所以,用人单位更看重招进来的人对要用到的编码技术的 功底到底怎样,技术扎实不扎实,项目则只要跟着开发团队走,自然就没问题。除非是一些 非常专业的行业,要招聘特别高级的开发人员和系统分析师,招聘单位才特别注重他的项目 经验和行业经验,要去找到行业高手,公司才关心项目和与你聊项目的细节,这样的人通常 都不是通过常规招聘渠道去招聘进来的,而是通过各种手段挖过来的,这情况不再我今天要 讨论的范围中。 技术学得明白不明白,人家几个问题就把你的深浅问出来了,只要问一些具体的技术点, 就很容易看出你是真懂还是假懂,很容看出你的技术深度和实力,所以,技术是来不得半点 虚假的,必须扎扎实实。 由于项目的种类繁多,涉及到现实生活中的各行各业,什么五花八门的业务都有,例如, 酒店房间预定管理,公司车辆调度管理,学校课程教室管理,超市进销存管理,知识内容管 理,等等……成千上万等等,但是,不管是什么项目,采用的无非都是我们学习的那些目前 流行和常用的技术。技术好、经验丰富,则项目做出来的效率高些,程序更稳定和更容易维 护些;技术差点,碰碰磕磕最后也能把项目做出来,无非是做的周期长点、返工的次数多点, 程序代码写得差些,用的技术笨拙点。如果一个人不是完完全全做过某个项目,他是不太关 心该项目的业务的,对其中的一些具体细节更是一窍不知,(如果我招你来做图书管理,你 项目经历说你做过汽车调度,那我能问你汽车调度具体怎么回事吗?不会,所以,你很容易 蒙混过去的)而一个程序员的整个职业生涯中能实实在在和完完整整做出来的项目没几个,
传智播客——IT 就业培训专家 http://www.itcast.cn 更别说在多个不同行业的项目了,有的程序员更是一辈子都只是在做某一个行业的项目,结 果他就成了这个行业的专家(专门干一件事的家伙)。所以,技术面试官通常没正好亲身经历 过你简历写的那些项目,他不可能去问你写的那些项目的具体细节,而是只能泛泛地问你这 个项目是多少人做的,做了多长时间,开发的过程,你在做项目的过程中有什么心得和收获, 用的什么技术等面上的问题,所以,简历上的项目经历可以含有很多水分,很容易作假,技 术面试官也无法在项目上甄别你的真伪。 简历该怎么写:精通那些技术,有一些什么项目经历 教项目是为了巩固和灵活整合运用技术,增强学习的趣味性,熟悉做项目的流程,或得 一些专业课程中无法获得的特有项目经验,增强自己面试的信心。讲的项目应该真实可靠才 有价值,否则,表面上是项目,实际上还是知识点的整合,对巩固技术点和增强学习的趣味 性,但无法获得实际的项目经验。(项目主要是增加你经验的可信度,获得更多面试机会, 真正能不能找到工作,找到好工作,主要看你键盘上的功夫了),好的面试官几下就能面出 你是否真有工作经验,他们问技术以外的公司的人和事,并且问开始、过程、结果,看你怎 么编。 建议大家尽量开自己的 blog,坚持每天写技术 blog。在简历上写上自己的 blog 地址, 可以多转载一些技术文章。 3. 笔试题之 Java 基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的 语法,集合的语法,io 的语法,虚拟机方面的语法,其他。有些题来自网上搜集整理,有些题来自传智播 客学员面试后的反馈,说真的,少数一些网上的面试题,我真怀疑其是否还有存在价值! 1、一个".java"源文件中是否可以包括多个类(不是内部 类)?有什么限制? 可以有多个类,但只能有一个 public 的类,并且 public 的类名必须与文件名相一致。 2、Java 有没有 goto? java 中的保留字,现在没有在 java 中使用。 3、说说&和&&的区别。 &和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为 true 时, 整个运算结果才为 true,否则,只要有一方为 false,则结果为 false。 &&还具有短路的功能,即如果第一个表达式为 false,则不再计算第二个表达式,例如,对于 if(str != null && !str.equals(“”))表达式,当 str 为 null 时,后面的表达式不会执行,所以不会出现 NullPointerException
传智播客——IT 就业培训专家 http://www.itcast.cn 如果将&&改为&,则会抛出 NullPointerException 异常。If(x==33 & ++y>0) y 会增长,If(x==33 && ++y>0) 不会增长 &还可以用作位运算符,当&操作符两边的表达式不是 boolean 类型时,&表示按位与操作,我们通常 使用 0x0f 来与一个整数进行&运算,来获取该整数的最低 4 个 bit 位,例如,0x31 & 0x0f 的结果为 0x01。 备注:这道题先说两者的共同点,再说出&&和&的特殊之处,并列举一些经典的例子来表明自己理解 透彻深入、实际经验丰富。 4、在 JAVA 中如何跳出当前的多重嵌套循环? 在 Java 中,要想跳出多重循环,可以在外面的循环语句前定义一个标号,然后在里层循环体的代码中 使用带有标号的 break 语句,即可跳出外层循环。例如, ok: for(int i=0;i<10;i++) { for(int j=0;j<10;j++) { System.out.println(“i=” + i + “,j=” + j); if(j == 5) break ok; } } 另外,我个人通常并不使用标号这种方式,而是让外层的循环条件表达式的结果可以受到里层循环体 代码的控制,例如,要在二维数组中查找到某个数字。 int arr[][] = {{1,2,3},{4,5,6,7},{9}}; boolean found = false; for(int i=0;i
分享到:
收藏