黑马就业班入学测试题入学面试考题 是这样的吗

|--排版顺序(大家用editplus打开看,这;|----7K面试题;|----前5天的一些小知识点(面试时有人被考过;|----面相对象的理解(4特性:封装,继承,多;|----异常(异常机制);|----多线程的理解(创建方式和线程重点内容);|----集合(能说出整个体系);|----IO流(写代码多用缓冲区和转换流吧);|----正则表达式(正则的
|--排版顺序(大家用editplus打开看,这个看txt文档是非常好的,Word文档不个人认为不好)
|----7K面试题
|----前5天的一些小知识点(面试时有人被考过写数组循环的)
|----面相对象的理解(4特性:封装,继承,多态,抽象)
|----异常(异常机制)
|----多线程的理解(创建方式和线程重点内容)(sleep和wait区别:释放锁上和怎么样醒自己总结)
|----集合(能说出整个体系)
|----IO流(写代码多用缓冲区和转换流吧)
|----正则表达式(正则的一些功能)
|----泛型(泛型的理解)
|----JDK1.5新特性
|----反射(说出反射的功能和作用)
|----代理(动态代理和代理的区别,动态代理三种创建方式)
|----线程池
|----类加载器(定义和创建过程)
|----归纳的一些面试被问的零散问题
|----面试时还被问到eclipse的快捷键(哥一口气说了十几个,这个始料未及)
(我由于说了是在传智播客毕业的,又自己复习了两月,老师基础就只问了我线程,其他全问的高新技术,高新技术全部都被涉及到了)
7k面试题---交通灯管理系统(自己的理解)
首先使用名词提炼法,汽车过马路,有汽车,马路,红绿灯,红绿灯的控制系统四个名词。车通过红绿灯过马路,车只有开启和停下的功能,他过
马路这个动作不是他控制的,是通过马路来判断的,马路上面有车的集合,某个时刻,马路上少了一辆车,就判断说车过了红绿灯。创建路的对象road,路
是代表的某个方向的名字,所以在创建对象时加入name参数表示是哪个方向上的路,当我们创建路的对象的时候,创建某个方位的路的对象,那条路上就应
该有产生车和车过马路的共性行为,所以要创建两个线程来分别操作产生车和定时器来移除车,这里使用到Executors类,能产生单线程和控制器,控制器
通过判断这条路当前的灯是否为绿来让车同行,并确定同行的实现。
再来说红绿灯这个类,我们可以用枚举来实现,因为有12条路,就应该有12个灯,对象是固定取值的,由于当前路上的灯亮时,对面路上的灯也会
亮,当前路上灯为红时,下一路口上的灯为绿,所以我们可以创建一个有参的构造,参数分别为下一个路口的灯,对面路口的灯和当前灯的明暗情况,由于
在调用时下面的对象还未创建,所以参数用字符串表示。灯有亮和不亮这两个属性。
还需要定义一个控制系统,设置成单例模式,来构造第一个为绿的灯,启动一个定时器,启动一个定时器,每隔10秒将当前灯变红和将下一个灯变
绿。主函数创建路的对象,把路的名字作为参数循环穿进去,开启控制系统。
7k面试题---银行业务系统(这个是抄的张老师的PPT,自己没时间总结)
首先明确对象,售票窗口,号码产生机器,号码管理机器 号码产生器只有一个对象,所以采用单例,定义三个成员变量分别指向三个NumberManager对象,分别表示普通、快速和VIP客户的号码管理器,定 义三个对应的方法来返回这三个NumberManager对象。
号码管理器定义一个用于存储上一个客户号码的成员变量和用于存储所有等待服务的客户号码的队列集合。
定义一个产生新号码的方法和获取马上要为之服务的号码的方法,这两个方法被不同的线程操作了相同的数据,所以,要进行同步
售票窗口,根据服务窗口的类别分别循环调用三个不同的方法所以开启一个线程,使用Executors类。线程里面根据不同的客户来执行售票方法,
所以号码的类型需要使用枚举,定义三种类型的对象,如果是快速窗口,首先获得快速号码管理器对象,得到马上要服务的号码,如果没有号码产生,则执
行普通窗口的方法
主函数里面用for循环创建出4个普通窗口,再创建出1个快速窗口和一个VIP窗口。接着再创建三个定时器,分别定时去创建新的普通客户号码、新
的快速客户号码、新的VIP客户号码
2.面相对象的理解(我自己的理解,不一定准确)
面相对象基于面相过程,面相过程也是解决问题的一样思想,当我们需要解决一个问题时,我们需要设定好怎么一步步的去解决它,而具体的每
一步都需要我们自己亲自去完成,面对的是具体的每一个功能函数,功能相互协调完成需求。随着需求的更改和方法的增多,发现自己去实现每一个的功能
已近忙不过来了,所以我们就想到把这些方法都封装起来,当我们要解决这一类问题的时候,只需要找到封装这一类方法的实例,问题就很轻松了,我们就
会发现我们面对的是一个个的封装某一类功能的实例,这个实例就是对象,面向对象是解决问题的一种思维模式,将复杂的问题简单化。
举例:!比如说想找朋友聊天,按照面向过程来理解就是找到朋友,让后面对面交流!用面向对象来理解就是把找到朋友这个过程封装起来,我们不
用管这个过程,利用一个对象来实现跟朋友聊天的功能,这个对象就是手机。面相对象中我
们更多的是指挥者,使功能的实现更简单。
在实际开发中在怎么理解面相对象 首先名词提炼法(由于任何对象都是Object类的子类,object就是物体的意思,就一名词),其次是说拥有数据,谁就
对外提供操作这些数据的方法。
面相对象有四个比较重要的特征(封装,继承,多态和抽象) |----封装:将现实世界中存在的某个客体的属性与行为绑定在一起,并放置在一个逻辑单元内。(该逻辑单元负责将所描述的属性隐藏起来,外界
对客体内部属性的所有访问只能通过提供的用户接口实现) 即将对象封装成一个高度自治和相对封闭的个体,对象状态(属性)由这个对象自己的行为
(方法)来读取和改变。这样做既可以实现对客体属性的保护作用,又可以提高软件系统的可维护性。只要用户接口不改变,任何封装体内部的改变都不会对
软件系统的其他部分造成影响。结构化设计方法没有做到客体的整体封装,只是封装了各个功能模块,而每个功能模块可以随意地对没有保护能力客体属性实
施操作,并且由于描述属性的数据与行为被分割开来,所以一旦某个客体属性的表达方式发生了变化,或某个行为效果发生了改变,就有可能对整个系统产生
影响。举例:比如说手机打电话,发短信的操作系统都在手机内部封装起来了,外部只给我们按键来使用。
|----继承:继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。继承性是面向对象程序设计语言不同于其它语言的最重要
的特点,是其他语言所没有的,不过只能单继承,接口可以实现多继承所不能做的事,继承就比如说10年前的手机,那种大哥大,只能够打电话和发短信,现
在的手机继承了开始手机的打电话和发短信的功能,但是他又具备其他的特有功能,比如说聊QQ等等,这里引入OverLoad和Override,并且说明这两种方式都
是多态的体现
|----多态:多态是指事物存在的多种体现形式,提高了代码的复用性,打个比方 对于吃饭这件事.中国人是用筷子吃. 外国人呢用刀和差子就是同
一件事,不同的对象做起来,产生的效果会不一样.父类的引用指向子类对象,不过只能操作父类特有的方法,不能操作子类特有的方法,但是多态的转型能够
满足这一需求,向上转型Fu f =new Zi(); 向下转型 Zi z1 = (Zi)f; 多态前提:存在继承或者接口,即覆盖,当要使用子类特有功能时,就需要使用向下转
型,向下转型的好处:可以使用子类特有功能。弊端是:需要面对具体的子类对象;在向下转型时容易发生ClassCastException类型转换异常。在转换之前必
须做类型判断。
抽 就是抽离;象 ,表象。表示出来的部分, 编程上将对象抽象化是很有用的一个方法,能将枯燥的数据与单一对象对应起来,这样易于理解,也便于编程。
例如在编写学员管理系统。 学生的定义,首先要有名字,再有性别,再有学号,等等等等。这些就是抽象出来的属性。而在定义这些属性的时候就不要定义 a =&张三& b=1 c=122222 这些不容易辨识的属性名字。而是用 name=&张三& sex=&male& no=&122223& 这样一眼能认出来的名字。这样不容易搞错,理解起来也不会困难。
(一接口为例,都是理解的,定义方面的内容自己写)接口就是类里面共性方法的抽取,在实际开发中只要知道了类实现的接口的功能,就
能大致猜测这个类的做什么的,比如说手机它实现一个接口能打电话和发短信,我们只要得到这个接口就能够知道这个类是用来描述一个手机的,在我们查看
API的时候,接口也往往在最前面,在开发中,尽量使用接口来解决某一类的问题,这样会使方法看的简单,当方法多了时继承会使代码显得笨重。
instanceof 运算符可以用来决定某对象的类是否实现了接口
2.2抽象类和接口的区别(自己补)
接口和抽象类的概念不一样。接口是对动作的抽象,抽象类是对根源的抽象。
抽象类表示的是,这个对象是什么。接口表示的是,这个对象能做什么。比如,男人,女人,这两个类(如果是类的话……),他们的抽象类是人。说明,他们都是人。
人可以吃东西,狗也可以吃东西,你可以把“吃东西”定义成一个接口,然后让这些类去实现它.
所以,在高级语言上,一个类只能继承一个类(抽象类)(正如人不可能同时是生物和非生物),但是可以实现多个接口(吃饭接口、走路接口)。
第一点. 接口是抽象类的变体,接口中所有的方法都是抽象的。而抽象类中不一定都是抽|----抽象: 抽象就是把一个对象分析出各个属性, 来替代表达的手法 。
包含各类专业文献、行业资料、高等教育、幼儿教育、小学教育、各类资格考试、专业论文、黑马面试45等内容。 黑马程序员入学面试题_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
黑马程序员入学面试题
上传于|0|0|文档简介
&&黑马程序员入学面试题精华版
阅读已结束,如果下载本文需要使用2下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩27页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢ios黑马入学考试exam_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
ios黑马入学考试exam
上传于|0|0|暂无简介
你可能喜欢【黑马程序员】----7K面试题
------- 、、期待与您交流! ----------
因为以前没有参加过实际的开发,而且目前所学的知识都比较的零散,而这个项目可以说是综合了前面所学的几乎所有知识。&&&
交通灯管理系统
&&&&&&&&&每个方向的车辆都有直行车辆,左转车辆,右转车辆,4个方向中共有12条线路。同方向的车辆中,先放行直行的车辆然后再放行左转的车辆,右转车辆不受信号灯的控制,为了统一编程模型,可以理解为右转信号灯为常绿状态,相对方向的信号灯的状态是一样的,所以只考虑4条线路的切换。
&&&&&&&&&根据张老师的讲解,先考虑一个方向的灯。
&&&&&&&&逻辑:
&&&&&&&&先放行南边开来的直行方向的车,直行车辆放行完了之后再放行从南边向西边转弯的车辆。时间到了之后,再看东边方向的车辆,同样还是先放行直行的车辆,直行的车辆放行完了之后再放行从东边向西边转弯的车辆。时间到了之后又变成从南边开来的车辆放行,这样不断地循环。
面向对象的分析和设计:
&&&&&&&&&红绿灯:
&&&&&&&&&控制灯变红变绿的一个控制系统:
&&&&&&&&&因为车走不走是由路上的信号灯和车在路上的位置所决定的,如果灯变绿了,车在&路上的第一个位置的话,车就走,否则车就不能走,要等到变成第一辆车才能走,车想要知道自己在路上的位置,就只能问路了,路上存储着车辆的集合,路上有增加车辆和减少车辆的方法。我们不需要知道体现出车移动的过程,我们只需要捕捉到车穿过路口的过程即可,所以不能把车作为对象。路看自己的灯是否变绿,如果变绿,就把自己的车取走,而且还在随机的给后面增加车。所以路是一个对象。
&&&&&&&&&(重要经验:谁拥有数据谁就应该对外提供操作该数据的方法)
&&&&&&&&最后再加上测试类,这个程序中一共有4个
&&&&&&&&具体类的设计:
路的设计:
&&&&&&&&每一个Road类里面有两个成员变量,一个代表方向也就是路的名字,一个代表方向上车辆的集合。车辆用字符串表示,集合里边有增加车辆和减少车辆的方法。
&&&&&&&&&车开到路上的方法:
&&&&&&&&&通过for循环向任意一条路上增加车辆,为了控制车辆增加的速度,通过Executors.newSingleThreadExecutor产生一个ExecutorService类型的线程池&控制1秒到10秒内随机时间增加车辆用了Math类中的方法Random:(newRandom().nextInt(10)
1)*1000;&路每隔1秒钟要检验一次自己方向的灯是否变绿,这里就用到了定时器:
&&&&&&&&通过Executors.newScheduledThreadPool得到一个ScheduledExecutorService类型的定时器timer。
&timer里面的方法schedule可以实现每隔1秒钟检查一次灯是否变绿的功能,&timer.scheduleAtFixedRAte()里面有4个参数,其中第一个参数是要干什么事情,里面的内容是检查自己的灯的状态。&第二个参数是指过多长时间去干这些事,第三个参数是过多长时间以后接着干这件事,第四个参数是用来说明前面两个参数的度量单位TimeUnit.单位。
&&&&&&&&&控制器完成以后,要做的就是路减少车辆的操作,路上有车的时候,信号灯变绿了路上的第一辆车就会穿过路口。
&&&&&&&&&信号灯:
&&&&&&&&&每一条路线上面都有一个灯,12个路线上就有12个灯,而且不管什么时候,都是12个不会改变,每一条路线上的灯都是不变的,这很符合枚举的特性,所以我们用枚举。
&&&&&&&&&枚举类的每一个元素都相当于枚举类的对象。整个系统里面永远只有12个对象。这12
个对象中有4
个是常绿状态(控制右转弯的灯),剩余的8咯噔是成对存在的它和它相反方向上的灯的状态一样,所以把它们关联起来,只控制4个灯就可以了,这4个灯肯定会保持红或者绿,而且每次变红,把下一个方向的灯变绿。
&&&&&&&&&信号灯的逻辑:
&&&&&&&&&一个方向的灯变亮的时候,相反方向的灯也要跟着变亮,一个方向的灯变红的时候,相反方向的灯也变红。而且把下一个方向的灯变绿。所以成员变量有对面的灯,下一个方向的灯,以及自己的状态而在右转方向的车辆,要保持常绿状态,并且没有对应方向和下一个方向的灯。
&&&&&&&&&信号灯的设计:
&&&&&&&&&信号灯的设计中用枚举类创建出12个信号灯,先从一个方向进行分析:
&&&&&&&&&从南边来的车的方向:S2N(南到北),S2W(南到西);
&&&&&&&&&从东面来的车的方向:E2W(东到西),E2S(东到南);
&&&&&&&&&与这4条线路对应的线路是:
&&&&&&&&&从北面来的车的方向:N2S(北到南),N2E(北到东);
&&&&&&&&&从西面来的车的方向:W2E(西到东),W2N(西到北);
&&&&&&&&&还有剩余的4条线路是右转车辆:
&&&&&&&&&S2E(南到东),E2N(东到北),N2W(北到西),W2S(西到南)
&&&&&&&&&灯有一个boolean类型的变量lighted,还有一个用于检查灯是红的还是绿的的方法:public
isLighted().返回灯的状态。如果返回值是true,那么灯的状态就是绿色,与之对应的灯的状态也是绿的,如果返回值是false,那么灯的状态就是红色,与之对应的灯也是红的。
&&&&&&&&&另外还有两个变量,一个代表的是与之对应的灯,一个代表的是下一个灯。
&&&&&&&&&灯与灯之间的关联:
&&&&&&&&&S2N("N2S","S2W",false),S2W("N2E","E2W",false)
&&&&&&&&&E2W("W2E","E2S",false),E2S("W2N","S2N",fslae)&
&&&&&&&&&N2S(null,null,false),N2E(null,null,false)
&&&&&&&&&W2E(null,null,false),W2N(null,null,false)
&&&&&&&&&S2E(null,null,true),E2N(null,null,true)
&&&&&&&&&N2W(null,null,true),W2S(null,null,true)
&&&&&&&&&信号灯的运行:当前灯变绿的时候,要检查当前灯有没有对应的灯,如果有,那么当前灯对应的灯变绿。
&当前灯变红的时候,同样也要检查有没有下一个灯,如果有,那么当前灯对应的灯也变红,而且还要将下一个灯变绿。
&控制系统的设计:
&&&&&&&&&控制系统首先有一个变量记住当前的灯(current),有一个构造方法,里面有当前的灯,并且将当前灯的状态设置为绿色。
&&&&&&&&&在控制系统里面有一个定时器Executors.newScheduledThreadPool(1),线程池里面有一个线程。&在控制器里面要做的事情就是把当前的灯变黑。
&&&&&&&&&测试类:
&&&&&&&&&在测试类里边new12条路,new一个信号灯控制系统。
&&&&&&&&&new的路要和灯的方向对应,为了写起来方便,将12条路放到一个String类型的数组里面。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。君,已阅读到文档的结尾了呢~~
黑马程序员入学测试题答案程序,答案,试题,黑马入学,测试题,黑马程序员,入学测试题,黑马测试题
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
黑马程序员入学测试题答案
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口}

我要回帖

更多关于 黑马程序员入学测试题 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信