1.as2与as3.的最主要区别是什么?
答:首先,as2和as3是完全不同的语言,几乎没有兼容性可言。as2编译用的AVM1虚拟机,as3用的AVM2,速度快,提供了一些基础异常处理。 as3是纯的OOP,强类型语言。as2不是。具体的差别有太多太多。
2.flex的开发框架有哪些,它们有什么优缺点?
答: 最常见的当然是Cairngorm、Puremvc了,此外还有Mate,Swiz等等,据说被广泛应用的已经有10几款了。Cairngorm作为Adobe官方出品,有着贵族血统的它比较全面,是这些框架中已知bug最少的,但是基于他的应用相对臃肿复杂一些,需要对每个可以被触发的事件写一个对应的Command,编码量巨大,并且单元测试很不容易,不适合敏捷开发。Puremvc应该是现在用的最多的as框架了。比较完善、并且与Cairngorm相比,更适合中小型应用的开发,它与Cairngorm一样,也是以MVC模式为中心,并以Façade作为中央存储器的单件类的形式进行开发的。说下Mate,它是一个比较奇怪的框架,是基于标签的事件驱动型的。也就是说你不能再随意的写as类的,在使用Mate的情况下,只能用MXML来做这些事情。Swiz是Mate的孪生兄弟,长的挺像,没具体用过,不大了解。
3.在flex开发中,很多代码都写在mxml文件里,为了做到mvc模式,你是怎么处理的。
我认为mxml并不影响mvc模式啊。分两种情况来讨论,首先,是自己创建整个应用结构的时候,那我们可以手动将UI所在的mxml归为一类,然后由Mediator去操作或者说控制这些组件既可了,然后Mediator又统一交给Controller去操作。如果采用其他框架来进行开发的话,那就更不用来考虑这个问题了,像Cairngorm、Puremvc之类的框架已经很好的为我们解决了这些问题。只要按照它们的使用规范来进行开发,自然没有问题。
4.如果发生内存泄露,你是如何解决的?
在profile观察中已经内存泄漏是没有很好的解决办法的,至少我不知道,我能做的只是尽量去避免这种情况的发生,比如说 注意不要循环引用,特别是在使用Timer的时候要格外注意,不要忘记全局对象上的引用的清除,在创建控制器和模型的时候要注意一定要使用单件模式。在addEventListener时候尽量采用弱引用、自引用、或者子对象引用,以避免内存泄漏。
5。as3.0垃圾回收器是如何工作的?
flash player 8之前采用的是引用计数法,在flash player 8 之后用的是标记法,简单的说就是:从应用的根节点开始,遍历所有其上的引用,标记每个它所发现的
对象。然后迭代遍历每个被标记的对象,标记它们的子对象。这个过程第归进行,直到Player遍历了应用的整个对象树并标记了它所发现的每个东西。在这个过程技术的时候,可以安全地认为,内存中那些没有被打标记的对象没有任何活动引用,因此可以被安全地释放内存。一般来说,flash player采用的是一种低频的垃圾回收机制,Flash Player的垃圾回收发生在Flash Player需要另外请求内存之前。但并不是每次应用申请内存时都会导致垃圾回收的执行,只有当Flash占用的内存紧张到一定程度时才会执行真正的垃圾回收,一定程度上取决于客户端计算机的物理内存的大小。
6 flex和后台语言是如何交互的?
无疑就这两种方法:remote object 或者是Http service
7。你是如何处理前端速度慢的问题?
flex前端速度慢 其实仔细说应该分2部分,1.是flex生成的swf由于SDK庞大的关系,swf体积也跟着庞大了,这我们可以做的就是用Module动态加载,还有就是RSL了。2.处理速度慢,远程方法速度慢,这是AVM的硬伤了,基本没有很好的解决方法,我们能做的只是让这个异步进行的更完美一些,让用户在等待的过程中,做其他的事情,以至于让用户忽略这段等待的时间。
8.flash与flex是如何协调开发的?
这个问题可以这样来理解,如果是确实需要用到FLEX SDK的应用,那我们就可以建立一个flex工程,具体需要flash做UI的时候,输出成swc作为flex的skin,如果说并不需要flex sdk,只是为了编码方便而选择flex的话,那我们只要建立一个as工程,让flex作为flash的编码器。
9.使用Flex Bulider3建立一下新的.mxml的页面时默认的背景是蓝色的,请问用什么办法能修改掉此背景颜色,以至于下次创建时背景不是为默认的蓝色的呢?请写出你认为正确的方法.
还真不会,我的做法一般是在这个工程里面,建一个总的css,都在里面规范起来,包括背景色啊,还有字体大小等等。。
10.使用Flex Bulider3如何跟踪程序?
装个debug版本的flash player,到时候在FB里面F11 debug它咯。
11. 请问enterFrame和timerEvent这2个事件有什么区别?请说下具体的使用方法和相关的使用场合?
不会 我觉得差不多,不过我一般用enterFrame,还请高人指点。。
12. 请说下你理解AS3的事件机制是什么机制?你认为正确的就可以说出来.
AS3事件流分三个阶段:
1.捕获阶段 (即由根节点流向子节点,检测每个节点是否注册了监听器)
2.目标阶段 (激发在目标对象本身注册的监听程序)
3.冒泡阶段 (从目标节点到根节点,检测每个节点是否注册了监听器)
当中涉及了两个属性target和currentTarget,target是事件的派发者,currentTarget是正在检测的对象,当开始了事件流,事件的currentTarget属性处于不断变化中.
PS:注册事件时捕获阶段默认是关闭的,无论事件是否开启了捕获,事件流只会两选一去执行注册的监听程序
关于EventDispatcher三个函数的参数:
1.addEventlistener(事件类型,监听函数,是否打开捕获阶段,监听器优先级别,是否打开弱监听)
2.removeEventListener(事件类型,监听函数,是否打开捕获阶段) (前两个参数是必须的,如果注册监听器时打开了捕获阶段,那么第三个参数也是必须的,否则会出现错误)
3.dispatchEvent(new Event(事件类型,是否冒泡,是否可以取消事件))
关于Event扩展有两点要注意:
1.可以定义字符串常量代表事件类型.
2.构造函数必须调用父类的构造函数,super(type,bubbles,cancelable)
3.扩展Event可以使Event带自定义变量,从而可以传递数据.
13.请问addEventListener里面有几个参数,你能说出具体的使用方法嘛?
这题出的有点像考API记忆力呵呵, 它的五个参数分别是addEventlistener(事件类型,监听函数,是否打开捕获阶段,监听器优先级别,是否打开弱监听)
具体使用方法:详见手册,这里我copy来了。。
addEventListener | () | 方法 |
public function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
语言版本 : | ActionScript 3.0 |
RuntimeVersions: | AIR 1.0, Flash Player 9 |
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。可以为特定类型的事件、阶段和优先级在显示列表的所有节点上注册事件侦听器。
成功注册一个事件侦听器后,无法通过额外调用 addEventListener() 来更改其优先级。要更改侦听器的优先级,必须首先调用 removeListener()。然后,可以使用新的优先级再次注册该侦听器。
请记住,注册该侦听器后,如果继续调用具有不同 type 或 useCapture 值的 addEventListener(),则会创建单独的侦听器注册。例如,如果首先注册 useCapture 设置为 true 的侦听器,则该侦听器只在捕获阶段进行侦听。如果使用同一个侦听器对象再次调用 addEventListener(),并将 useCapture 设置为 false,那么便会拥有两个单独的侦听器:一个在捕获阶段进行侦听,另一个在目标和冒泡阶段进行侦听。
不能只为目标阶段或冒泡阶段注册事件侦听器。这些阶段在注册期间是成对出现的,因为冒泡阶段只适用于目标节点的始祖。
如果不再需要某个事件侦听器,可调用 removeEventListener() 删除它,否则会产生内存问题。由于垃圾回收器不会删除仍包含引用的对象,因此不会从内存中自动删除使用已注册事件侦听器的对象。
复制 EventDispatcher 实例时并不复制其中附加的事件侦听器。(如果新近创建的节点需要一个事件侦听器,必须在创建该节点后附加该侦听器。) 但是,如果移动 EventDispatcher 实例,则其中附加的事件侦听器也会随之移动。
如果在正在处理事件的节点上注册事件侦听器,则不会在当前阶段触发事件侦听器,但会在事件流的稍后阶段触发,如冒泡阶段。
如果从正在处理事件的节点中删除事件侦听器,则该事件侦听器仍由当前操作触发。删除事件侦听器后,决不会再次调用该事件侦听器(除非再次注册以备将来处理)。
参数
| type:String — 事件的类型。 |
|
|
| listener:Function — 处理事件的侦听器函数。此函数必须接受 Event 对象作为其唯一的参数,并且不能返回任何结果,如下面的示例所示: function(evt:Event):void 函数可以有任何名称。 |
|
|
| useCapture:Boolean (default = false) — 确定侦听器是运行于捕获阶段、目标阶段还是冒泡阶段。如果将 useCapture 设置为 true,则侦听器只在捕获阶段处理事件,而不在目标或冒泡阶段处理事件。如果 useCapture 为 false,则侦听器只在目标或冒泡阶段处理事件。要在所有三个阶段都侦听事件,请调用 addEventListener 两次:一次将 useCapture 设置为 true,一次将 useCapture 设置为 false. |
|
|
| priority:int (default = 0) — 事件侦听器的优先级。优先级由一个带符号的 32 位整数指定。数字越大,优先级越高。优先级为 n 的所有侦听器会在优先级为 n -1 的侦听器之前得到处理。如果两个或更多个侦听器共享相同的优先级,则按照它们的添加顺序进行处理。默认优先级为 0。 |
|
|
| useWeakReference:Boolean (default = false) — 确定对侦听器的引用是强引用,还是弱引用。强引用(默认值)可防止您的侦听器被当作垃圾回收。弱引用则没有此作用。 类级别成员函数不属于垃圾回收的对象,因此可以对类级别成员函数将 useWeakReference 设置为 true 而不会使它们受垃圾回收的影响。如果对作为嵌套内部函数的侦听器将 useWeakReference 设置为 true,则该函数将作为垃圾回收并且不再是永久函数。如果创建对该内部函数的引用(将该函数保存到另一个变量中),则该函数将不作为垃圾回收并仍将保持永久。 |
14.请问我想判断一个字体是否是数字,用什么办法去判断呢?
这问题问的有点奇怪。字体怎么可能是数字。。。如果是问,类型是否为数字,那就typeof一下,看他是不是int或者Number,如果是问字符串内容是否为数字,那也有很多办法,比如说,读出每个字符的ascii码,判断范围,或者是
var a:String="1232d4";
var b:Number=Number(a);
var c:String=String(b);
if(a==c){
Alert.show("yes");
}else{
Alert.show("no");
}
虽然山寨了点,但也不失为一种选择。
15.请问我想判断一个字符或者一个对象的类型怎么判断呢?
应该没人出这样的题吧? if 咯。类型的话就typeof
16.请问你了解 internal 控制符么?能说下具体使用方法和场合嘛?
internal比private访问权限稍微放宽一些,可以包内访问,什么时候用的话,那就要根据情况酌情处理了。。
17. 我想在某一点不去执行任何内容,也就是说我想停止执行了,你知道要怎么做嘛?
不知道,期待高人指点
18.请问 undefined 和 null 是否一样,如果不一样能否说出其中的区别呢?
不一样,null是没有值的意思。undefined是申明未完成,或者类型未定等情况。
19. 创建常量知道怎么创建嘛?说下你是怎么创建的.
比如说:public static const STARTUP:String = "startup";
const PI:Number = 3.1415926;
20. 请问用什么方法自定义一个事件呢?说下具体的方式.
自定义事件,要么就直接调用Event的构造函数,或者继承于Event,写一个子类。
21. 请问怎么样检测本机的内容呢,比如说,我想知道本机的操作系系,是否有视频等这些.
答:flash.system.Capabilities.os 是系统类型
flash.system.Capabilities.playerType 是视频播放器类型
22. 请问用什么办法解决安全域的问题?如果你不知道安全域的问题的话,可以在本机中绑定一下图片,然后再放到服务器上,就会出现此问题了.
答:配置相关的安全沙箱的策略xml。
23. 有三种基本数字类型: number, int, 和uint 请问有什么区别.具体说一下.
答:number数字类型包含浮点型(正0负); int 整型(正0负); uint(无符号整型)
24. parseInt此方法转化为int型的方法,请问你知道此方法的第二个参数是什么意思嘛?
答:进制 2 8 16 等
25. Math.round( ), Math.floor( ) 和Math.ceil( ) 三个方法都是四舍五入,请问有什么区别?
答:都是取整:round 是原数+0.5后取整(3.0->3.0+0.5=3.5->4;3.9->3.9+0.5=4.4->4);floor向下取 整(3.4->3;3.9->3);ceil向上取整(1.3->2;2.8->3)
26. 请问一个数组里可以放不同的类型嘛?
答:可以 var x:Array = ['a',1,new Button()];
27. var letters:Array = ["a", "b", "c"];我想在这个数组里搜索 ‘b’ 字符,请问怎么办?
答:/*1*/for(var i:* in letters)
if(letters == 'c') trace("c's position is " + i);
/*2*/if(letters.toString().indexOf('c') > 0)
trace( "c's position is " + (letters.toString().indexOf('c')- letters.length + 1) );
28. 怎么样转换数组为字符串,怎么样将字符串转化为数组?
答:数组->字符串:trace(new Array('a','b','c').join("").toString());
字符串->数组: var arr:Array = new String("a,b,c").split(',');
29. 我想创建的视图居中怎么办?
答:布局策略里面限定为剧中。即 horizontalAlign="center" verticalAlign="middle"
或者在每个控件都以舞台的中心作为相对坐标来计算各自的xy值。
30. 请问知道层级的概念嘛?如果知道请问怎么样交换2个组件的层级呢?
答:知道层级,不知如何交换。
以下问题有待解决:
23.请问你知道loader,URLLoader,URLStream这个三种动态加载资源的具体使用场合,以及有什么区别嘛?
24.如何把MouseEvent 的localX 和localY 属性转化成全局坐标?
25.请问我现在有一个正方形的图片,我想把他做成圆形,有什么办法呢?前提是用flex或者as3
26.请问新创建的一个sprite能否被直接加到ui容器里?如果不能请说出用什么办法能加入.
27.我怎么设置把一个文本框,设置成一个密码框?
28.我想在文本框里只能输入abcd,有什么办法能做到呢?如果我想输入除abcd以外的其它都能输入又怎么做呢?
29.请问condenseWhite 这个属性在TextInput里是表示什么意思?
30.我现在刚创建的文件的text为 this is a text,我想设置光标在 is 上,请问怎么设置?
31.请问怎么样在文本框里添加超链接?
32.我想获取系统里的字体,请问怎么办?
33.substring( ),substr( ), slice(),请说下3种解析字符串的不同之处,以及适用场合?
34. var fruits:XML =
Apple
Orange
Pear
Watermelon
;
以下有一个字符串,我现在知道了color为orange,我想知道此color相对应的name节点的值,我应该怎么做?
35.请说下目前使用flex和后台交互的几种方法,以及适用场合.
36.我现在想在flex里调用JS方法,我要怎么办呢?
37.我想用JavaScript调用ActionScript函数,我要怎么办呢?
38.FileReference 请说下此对象的几个相关事件
组件
1.我不想在容器里显示滚动条怎么办?
2.请问Flex bulider3可以创建几种不同的项目?
3.你了解RSL嘛?请说明下RSL的使用方法,以及使用RSL为了解决什么问题?
4.请问SWC是做什么用的,怎么样自己制作一个SWC?
5.flex生成出来的文件都是很大,请问你用什么办法进行缩小呢?
6.请问 trace( NaN == NaN ) 结果为true 还是false,为什么?
7.warning: unable to bind to property ” on class ‘Object’ (class is not an IEventDispatcher) 在使用ItemRender时,经常会出现这种警告,请问想去除的话怎么办呢?
8.现在流行MVC,但是as代码有的时候还是大部分写在mxml里面,请问我想代码分离怎么办呢?
9.我想继续UIComponent重新写一个正方形的组件,我应该怎么做?请说重点部分即可.
10.常用的几个切换数据的组件比如: TabNavigator等都有属性 creationPolicy 你知道这种策略的使用方式是什么嘛?以及优,缺点呢?
11.我想在application里获取当前运行的URL,我要怎么获取.
12.请说下事件里的currentTarget 和 target的区别?
13.请列举下你常用的几种effects,并说明使用原因.
14.HBox,VBox和canvas有什么区别呢?试说出其中几点
15.请问我想在list里选中多行信息,我要怎么做呢?
16.Alert里面有几个属性,我想设置图片怎么办呢?
17.请问你是否设置过样式呢,我想动态设置样式怎么办呢?如果我想在as代码里设置样式我又要怎么办呢?
18.你能说一下UIComponent的生命周期嘛?以及相关的使用场合呢?
19.请问你是否发现过 flex3里的bug呢,请列举一些?
20.列举出flex里面的几个绑定数据对象的方式
21.请问我自己定义了一个组件,我想在组件里的属性里设置几个默认值,我要怎么设置呢?
22.callLater()方法怎么使用,为什么要使用这个方法呢?
23.请问你是否使用过module这种方法去做项目呢?他的优,缺点是什么呢?使用组件的方式加载的话,他的优,缺点是什么呢?
24.目前网页里都有导航,请问在Flex要做导航要注意一些什么呢?以及怎么样做呢?
25.我想在一个错误的图片链接里,定义一下默认的图片怎么做呢?
26.请试写一个自定义的验证组件
27.请说明下tigger tiggerEvent 在验证组件里是什么意思,具体怎么使用呢?
28.ExternalInterface, LocalConnection 2者有什么区别?
29.你是否使用过flex的测试工具呢?请说明下具体是哪种,以及使用方式,你为什么使用这种工具?
30.我能把CSS编译成swf嘛?
31.请用as3列举下你用过的模式
32.Embed绑定图片有什么缺点?
33.TitleWindow的组件是可以拖动的,我不想让他拖动我要怎么办呢?
34.你是否使用过profile,你觉得这个工具怎么样,优,缺点是什么呢?
35.你是否做过flex 前端的性能优化,你觉得怎么做是比较完美的?
36.你是否了解E4X,请说明一下优,缺点?
37.请列举一下你知道的影响性能的几个因素?
38.请说明一下ShareObject的使用方法?以及优,缺点?
39.请列举一下,你认为不错的网站或者blog.
40.我现在给你100万做一个flex项目,你认为成功的要素在哪呢?
1.使用flex bulider3建立一下新的.mxml的页面时默认的背景是蓝色的,请问用什么办法能修改掉此背景颜色,以至于下次创建时背景不是为默认的蓝色的呢?请写出你认为正确的方法.
2.使用flex bulider3如何跟踪程序?
3.请问enterframe和timerevent这2个事件有什么区别?请说下具体的使用方法和相关的使用场合?
4.请说下你理解as3的事件机制是什么机制?你认为正确的就可以说出来.
5.请问addeventlistener里面有几个参数,你能说出具体的使用方法嘛?
6.请问我想判断一个字体是否是数字,用什么办法去判断呢?
7.请问我想判断一个字符或者一个对象的类型怎么判断呢?
8.请问你了解 internal 控制符么?能说下具体使用方法和场合嘛?
9.我想在某一点不去执行任何内容,也就是说我想停止执行了,你知道要怎么做嘛?
10.请问 undefined 和 null 是否一样,如果不一样能否说出其中的区别呢?
11.创建常量知道怎么创建嘛?说下你是怎么创建的.
12.请问用什么方法自定义一个事件呢?说下具体的方式.
13.请问怎么样检测本机的内容呢,比如说,我想知道本机的操作系系,是否有视频等这些.
14.请问用什么办法解决安全域的问题?如果你不知道安全域的问题的话,可以在本机中绑定一下图片,然后再放到服务器上,就会出现此问题了.
15.有三种基本数字类型: number, int, 和uint 请问有什么区别.具体说一下.
16.parseint此方法转化为int型的方法,请问你知道此方法的第二个参数是什么意思嘛?
17.math.round( ), math.floor( ) 和math.ceil( ) 三个方法都是四舍五入
,请问有什么区别?
18.请问一个数组里可以放不同的类型嘛?
19.var letters:array = ["a", "b", "c"];我想在这个数组里搜索 'b' 字符,请问怎么办?
20.怎么样转换数组为字符串,怎么样将字符串转化为数组?
21.我想创建的视图居中怎么办?
22.请问知道层级的概念嘛?如果知道请问怎么样交换2个组件的层级呢?
23.请问你知道loader,urlloader,urlstream这个三种动态加载资源的具体使用场合,以及有什么区别嘛?
24.如何把mouseevent 的localx 和localy 属性转化成全局坐标?
25.请问我现在有一个正方形的图片,我想把他做成圆形,有什么办法呢?前提是用flex或者as3
26.请问新创建的一个sprite能否被直接加到ui容器里?如果不能请说出用什么办法能加入.
27.我怎么设置把一个文本框,设置成一个密码框?
28.我想在文本框里只能输入abcd,有什么办法能做到呢?如果我想输入除abcd以外的其它都能输入又怎么做呢?
29.请问condensewhite 这个属性在textinput里是表示什么意思?
30.我现在刚创建的文件的text为 this is a text,我想设置光标在 is 上,请问怎么设置?
31.请问怎么样在文本框里添加超链接?
32.我想获取系统里的字体,请问怎么办?
33.substring( ),substr( ), slice(),请说下3种解析字符串的不同之处,以及适用场合?
34. var fruits:xml =
apple
orange
pear
watermelon
;
以下有一个字符串,我现在知道了color为orange,我想知道此color相对应的name节点的值,我应该怎么做?
35.请说下目前使用flex和后台交互的几种方法,以及适用场合.
36.我现在想在flex里调用js方法,我要怎么办呢?
37.我想用javascript调用actionscript函数,我要怎么办呢?
38.filereference 请说下此对象的几个相关事件
组件
1.我不想在容器里显示滚动条怎么办?
2.请问flex bulider3可以创建几种不同的项目?
3.你了解rsl嘛?请说明下rsl的使用方法,以及使用rsl为了解决什么问题?
4.请问swc是做什么用的,怎么样自己制作一个swc?
5.flex生成出来的文件都是很大,请问你用什么办法进行缩小呢?
6.请问 trace( nan == nan ) 结果为true 还是false,为什么?
7.warning: unable to bind to property ” on class 'object' (class is not an ieventdispatcher) 在使用itemrender时,经常会出现这种警告,请问想去除的话怎么办呢?
8.现在流行mvc,但是as代码有的时候还是大部分写在mxml里面,请问我想代码分离怎么办呢?
9.我想继续uicomponent重新写一个正方形的组件,我应该怎么做?请说重点部分即可.
10.常用的几个切换数据的组件比如: tabnavigator等都有属性 creationpolicy 你知道这种策略的使用方式是什么嘛?以及优,缺点呢?
11.我想在application里获取当前运行的url,我要怎么获取.
12.请说下事件里的currenttarget 和 target的区别?
13.请列举下你常用的几种effects,并说明使用原因.
14.hbox,vbox和canvas有什么区别呢?试说出其中几点
15.请问我想在list里选中多行信息,我要怎么做呢?
16.alert里面有几个属性,我想设置图片怎么办呢?
17.请问你是否设置过样式呢,我想动态设置样式怎么办呢?如果我想在as代码里设置样式我又要怎么办呢?
18.你能说一下uicomponent的生命周期嘛?以及相关的使用场合呢?
19.请问你是否发现过 flex3里的bug呢,请列举一些?
20.列举出flex里面的几个绑定数据对象的方式
21.请问我自己定义了一个组件,我想在组件里的属性里设置几个默认值,我要怎么设置呢?
22.calllater()方法怎么使用,为什么要使用这个方法呢?
23.请问你是否使用过module这种方法去做项目呢?他的优,缺点是什么呢?使用组件的方式加载的话,他的优,缺点是什么呢?
24.目前网页里都有导航,请问在flex要做导航要注意一些什么呢?以及怎么样做呢?
25.我想在一个错误的图片链接里,定义一下默认的图片怎么做呢?
26.请试写一个自定义的验证组件
27.请说明下tigger tiggerevent 在验证组件里是什么意思,具体怎么使用呢?
28.externalinterface, localconnection 2者有什么区别?
29.你是否使用过flex的测试工具呢?请说明下具体是哪种,以及使用方式,你为什么使用这种工具?
30.我能把css编译成swf嘛?
31.请用as3列举下你用过的模式
32.embed绑定图片有什么缺点?
33.titlewindow的组件是可以拖动的,我不想让他拖动我要怎么办呢?
34.你是否使用过profile,你觉得这个工具怎么样,优,缺点是什么呢?
35.你是否做过flex 前端的性能优化,你觉得怎么做是比较完美的?
36.你是否了解e4x,请说明一下优,缺点?
37.请列举一下你知道的影响性能的几个因素?
38.请说明一下shareobject的使用方法?以及优,缺点?
39.请列举一下,你认为不错的网站或者blog.
40.我现在给你100万做一个flex项目,你认为成功的要素在哪呢?
标签:flex, flex, 资源
flex实现微软面试题算法分析
[来源:dmh2002 | 作者:dmh2002 | 时间:2008-04-30 | 点击: 603 | 收藏本文 【大 中 小】]
题目是:统计从1至400亿之间的自然数中含有多少个1?比如1-11中,有1,10,11这三个自然数有4个1。
这是一道微软的面试题,我在网上看到的,但是没有答案,这是件很痛苦的事情,折磨人,所以我决心自己来搞定。
实际解题过程中,用递归的方法很容易,但是仅仅局限于400亿这样的数字,如果是1-1231111321这样的数字的话,就复杂多了,我在文档类里面有非常详尽的解题思路,用了3种解题的方法,因为排版麻烦,我就不重复贴在网页上了,要看的朋友下载看吧。
有可能算法不是最完美的,希望朋友们能多指教。
本来
一、热身题
1.RIA 和 AIR 是什么?
2.请试着列几个国内的AS或RIA方面的网站或社区.
3.你知道7yue是什么么?
二、纯AS方面
1.gotoAndPlay()方法是什么类的方法?
2.currentFrame属性是描述什么的?在哪个类中定义的?
3.你知道在AS2环境下,一个按钮mybtn添加一个鼠标点击方法应该如何书写?如果知道请试着书写出来.
4.请用代码定义一个新数组 和 一个新OBJECT ( 都是public )
5.请书写一段简单的循环数组aaa:Array的代码
6.场景中有一个sprite对象,请在其中绘制一个填充为0xff9999半径为20像素的圆形
7.下列代码将会输出什么内容
var aaa:String = "a,bac";
trace(aaa.split(",").join("a").substr(-1,4).split("b")[1])
8.SharedObject得到本地或远程对象的方法名分别是什么
9.请列出所有能够修饰 类以及方法 的 修饰类型,并说明其含义
10.ApplicationDomain类中具有一个以字母 c 开头静态常量,他的名称是什么,值是什么类型
11.假定公开类 ACLASS下有个方法aFunction用命名空间 myNamespace (与ACLASS同包)修饰定义,则在ACLASS同包下的另一个类BCLASS中如何引用aFunction,请书写调用代码
12.给静态类ACLASS运行时添加一个方法aFunction():void
13.LoaderContext类主要提供什么功能,能否写出其下的若干重要属性.
三、FLEX相关知识
1.通常GC(垃圾回收)只能在DEBUG模式下调用,普通运行手动调用是无效的,是否采取某种特殊的办法能够在此情况下成功调用GC,如果可以,请简单描述一下思路即可.
2.FLASH CS4中的影片能否在FLEX中使用?如果可以,需要怎么做才可以.
3.UIMovieClip类是否拥有toolTip属性?他的父级是谁?而MovieClip的父级是谁
4.请定义一个可以被绑定的属性 aaa:String,和一个可绑定的属性 bbb:String (由事件类型”datachanged”触发)
5.一个类中的属性如果能够被外部绑定,则这个类必须继承自什么类
6.ArrayCollection类中如何移除所有元素? 如果其中的某个OBJECT的某个值变化了,那么绑定到此collection的视图(比如一个表格)是否就可以跟着发生变化?如果不能,那么怎么才能刷新视图?
7.在MXML类文件中,用什么语法实现接口
8.createChildren()方法是FLEX SDK中定义在什么类中的方法.
9.FLEX中如果需要自定义一个表格中的列组件,通常都会定义ItemRenderer属性以指定自定义组件,能否指出ItemRenderer中存储分配到的数据的属性的名称,以及此属性定义自哪个类或接口.
10.FLEX中ComboBox组件是否继承自Button类
11.FLEX 工程编译出的SWF共有几帧.这些桢分别装载什么内容
12.在一个A.SWF中用loader:SwfLoader加载完毕了另外一个FLEX mxml编译出的B.SWF,在B中的mxml程序中定义了一个变量public aaa,如果在A中引用这个变量.请写出代码
13.下列文字是一个运行时报错,该程序由三个SWF嵌套构成(A中包含B和C)能否简要分析可能出错的原因,及其解决的思路或方法
类型转换错误:
无法将类型 com.neusoft.common.ClassA 强制转换成 com.neusoft.common::ClassA@ff03c2
-----------------------
一、单选题
1、( )就是将选中的图形对象按比例放大或缩小,也可在水平方向或垂直方向分别放大或缩小。
A、缩放对象* B、水平翻转 C、垂直翻转 D、任意变形工具
2、Flash MX所提供的遮蔽功能,是将指定的( )改变成具有遮蔽的属性,使用遮蔽功能右以产生类似聚光灯扫射的效果。
A、遮蔽 B、图层* C、时间轴 D、属性
3、对一个做好的Flash 产品来说,一般是由( )及( )设置、场景、符号、库、帧、舞台、屏幕显示等要素组成。
A、动画、属性* B、窗口、菜单 C、动画、窗口 D、窗口、属性
4、( )是指元素的外形发生了很大的变化,例如从矩形转变成圆形;而( )则是指元素的位置、大小及透明度等的一些变化,这样的动画如飞机从远处慢慢靠近,一个基本图形的颜色由深变浅等,逐帧动画相对来说就比较容易理解的,但实际操作起来却很复杂。
A、逐帧动画、移动动画 B、形状动画、移动动画*
C、关键帧动画、逐帧动画 D、移动动画、形状动画
5、( )是用来连接两个相邻的关键帧,过渡帧可以有不同的形态,它有作为移动渐变动画产生的过渡帧,有时作为无移动渐变动画之间的过渡帧,还可以是空白关键帧之间的过渡。
A、空白帧 B、关键帧* C、转换帧 D、动画帧
6、要播放QuickTime电影,在导出动画文件时要选择( )格式,而不能选择swf。
A、Avi B、mpg C、dat D、mov*
7、( )是通过把称作像素的不同颜色的点安排在网格中形成图像,在对位图文件进行编辑时,对象是( )而不是( )。位图显示的质量与分辨率有关,因为图像的每一个数据是针对特定大小的网格。
A、位图、曲线、像素 B、矢量图、像素图、曲线
C、位图、像素、曲线* D、矢量图、直线、曲线
8、( )通过直线和曲线来描述图形,在对一幅( )进行编辑修改时,实际上修改的是其中曲线的属性,可对其进行移动、缩放、改变形状和颜色不而影响它的显示质量。
A、矢量图* B、位图 C、gif动画 D、矢量动画
9、( )实际上就是各种游荡在空气中的声波。
A、音乐 B、声波 C、声道 D、声音*
10、( )就是一边下载一边播放的驱动方式。
A、流式声音* B、事件声音 C、开始 D、数据流
11、GIF文件提供了( )和简单的动画,适合在网上使用。
A、声音 B、帧* C、关键帧 D、场景
12、( )是Flash动画可以导出的文件中惟一支持透明度设置(Alpha通道)的位图格式。
A、Tif B、bmp C、png* D、jpg
13、动画文件的发布输出有两种方式( )和( )。
A、swf、html B、fla、htm C、fla、swf * D、swf、htm
14、如果要打开库面版,可以选择"窗口"菜单中的"库"或按下键盘中的( )键。
A、F9 B、F10 C、F11* D、F12
15、要使用直接选择工具时,可按快捷键( )。
A、A* B、b C、c D、d
16、在Flash绘图时,可按住键盘中的( )对窗口切换到抓手工具。
A、Ctrl B、ait C、shift D、空格*
17、在Flash中,使用钢笔工具时,如果按住键盘中的Ctrl键,鼠标指针会变成( )工具。
A、钢笔工具 B、选择工具
C、直接选择工具* D、抓手工具
18、在使用套索工具时,在弹出的魔术棒属性对话框中,平滑后的默认是( )。
A、像素 B、粗略 C、平滑* D、正常
19、在flash中,对帧频率正确描述是( )。
A、每小时显示的帧数 B、每分钟显示的帧数
C、每秒钟显示的帧数* D、以上都不对
20、Flash另存当前编辑作品的快捷操作是( )。
A、Ctrl+Shift +S* B、Ctrl+R
C、Ctrl+Alt+Shift+S D、Ctrl+P
21、Flash的动作中Go To命令是代表什么?
A、转到* B、变换 C、播放 D、停止
22、Flash中Constrain to rectangle的Right属性的意思?
A、可移动范围的最左坐标值 B、可移动范围的最底坐标值
C、可移动范围的最右坐标值* D、可移动范围的最高坐标值
23、Flash中Constrain to rectangle的Top属性的意思?
A、可移动范围的最高坐标值* B、可移动范围的最底坐标值
C、可移动范围的最右坐标值 D、可移动范围的最左坐标值
24、Flash导入外部素材的快捷操作是?
A、Ctrl+Shift +S B、Ctrl+R*
C、Ctrl+Alt+Shift+S D、Ctrl+P
25、2.1S表示音效持续的时间为( )?
A、0.21秒 B、2.1秒* C、21秒 D、21.秒
26、在进行SWF分解时,按[,]键不放可以实现什么功能?
A、单帧连续回退* B、单帧连续播放
C、单帧后退 D、单帧步进
27、在按钮编辑模式中,以下各帧中哪一个是鼠标按下时的状态?( )
A、Up B、Over C、Down* D、Hit
28、Flash 中,通过"插入"菜单可以创建几种元件对象:( )
A、2 B、3* C、4 D、5
29、最多可以由多少种颜色按照一定的顺序排列起来形成渐变效果?( )
A、2 B、4 C、8* D、16
30、Flash 菜单"文件"→"作为库打开"的快捷操作是?( )
A、Ctrl+N B、Ctrl+O
C、Ctrl+Shift+O* D、Ctrl+W
31、墨水瓶工具的快捷键是:( )
A、P B、s* C、h D、 f
32、Flash中Set Property语句下的Y Position属性是何意思?( )
A、设置垂直方向的缩放比例 B、设置水平方向的缩放比例
C、设置Movie Clip的Y坐标值* D、设置Movie Clip的X坐标值
33、Actionscript,中文可以直译为( )。
A、语言 B、动作脚本* C、动作 D、程序设计
34、在flash中,表单面版中包括几种类型的表单( )。
A、6 B、7* C、8 D、9
35、在播放falsh影片时,可按键盘中的( )键,窗口将以全屏幕显示。
A、ait+f B、shif+f C、ctrl+f* D、ait+ctrl+f
36、在颜色拾取对话框中的HSB的S代表( )。
A、色调 B、饱和度* C、亮度 D、彩度
37、重做的快捷键是( )。
A、Ctrl+z B、CTRL+Y*
C、CTRL+ait+z D、ctrl+shift+z
38、在绘制图形的时候,要删除相连相同的颜色可以使用什么工具?( )
A、套索工具 B、魔术棒工具
C、橡皮擦工具 D、水龙头工具*
39、网格编辑对话框中设置网络大小的水平与垂直的只能在( )范围内。
A、1-100px B、5-200px C、7.2-288px* D、7.2-288mm
40、flash中的可创建( )个图层
A、10 B、100 C、999 D、无数*
41、绘制的线条最宽为10像素,最窄为( )像素,
A、0.01 B、0.1* C、0.25 D、2
42、在做形状动画时,添加形状提示可按键盘中的( )
A、ctrl+H B、shift+H C、ait+H D、ctrl+shift+H*
43、如果想把复制的对象粘贴到本身的位置可选择( )
A、粘贴 B、选择性粘贴
B、粘贴到当前位置* C、多重粘贴
44、使用缩放工具,可将视图中的对象放大( )倍。
A、20* B、200 C、2000 D、2
45、帧频最大能设置到每秒( )帧。
A、12 B、50 C、100 D、120*
46、选择所有帧的快捷键是( )。
A、ctrl+A B、ctrl+shift+A*
C、ait+A D、ctrl+ait+A
47、flash发布影片后,默认的的声音以( )格式输出。
A、mp3* B、wav C、au D、mdid
48、默认情况下,图层显示高度为( )。
A、100%* B、200% C、300% D、400%
49、在默认情况下,如果要输出一分钟的动画,那么需要( )帧。
A、100 B、7200 C、720* D、72
50、把视图的显示比例改为100%的快捷键为( )。
A、ctrl+1* B、ctrl+2 C、ctrl+3 D、ctrl+4
二、多选题
1、编辑新层的时候,怎样才不会破坏其它层?
A、在层名称旁边的按钮里选择锁定(locked)*
B、在层名称旁边的按钮里选择锁隐藏(hidden)*
C、删除图层
D、添加图层*
2、在声音同步类型中包括哪几种类型?
A、开始* B、事件* C、停止* D、数据流*
3、关键帧动画的制作分为几种方式?
A、Motion(移动)* B、Shape(变形)*
C、Jump(跳动) D、Go(走)
4、置入声音文件有哪几种方式?
A、打开Window菜单下的Library级联菜单中的Sound资料库,拖拽音效到页面上。*
B、打开File菜单下的Export命令,在Export对话框中挑选要置入的声音文件。
C、打开File菜单下的Import命令,在Import对话框中挑选要置入的声音文件。*
D、打开Insert菜单下的Import命令,在Import对话框中挑选要置入的声音文件。
5、在按钮编辑模式中,其时间轴上有哪几个帧?
A、(弹起)Up* B、(鼠标经过)Over*
C、(按下)Down* D、(点击)Hit*
6、如何切换到要编辑的物件的工作界面?
A、按Crrl+F键
B、打开编辑菜单下的编辑元件命令*
C、按Crrl+E键*
D、在库面板中双击要编辑的物件*
7、以下那几种动画属于几何变形?
A、字母变数字* B、探照灯效果 C、三角变矩形* D、蝴蝶飞舞路径
8、如何选择工作区中所有对象?
A、打开编辑菜单下的全部选中命令*
B、打开Edit菜单下的Select命令
C、按Ctrl+B键
D、按Ctrl+A键*
9、铅笔工具选项中包括________几种
A、伸直* B、平滑* C、墨水* D、颜色
10、文本工具包括__________几类
A、静态文本* B、动态文本* C、超链接文本 D、输入文本*
11、在flash中,隐藏工具箱和面版的快捷键是______
A、shfit+tab B、tab* C、ait+f4 D、f4*
12、填充工具包括____________
A、纯色* B、线性* C、放射状* D、位图*
13、工具栏包括___________几类。
A、工具箱 B、主要栏* C、控制栏* D、状态栏*
14、橡皮擦工具形状包括___________。
A、星形 B、正方形* C、长方形 D、圆形*
15、下列哪些位图文件格式可以导入到flash内。
A、BMP* B、JPG* C、PSD D、GIF*
16、flash软件自带的公用库包括_______。
A、声音* B、按钮* C、学习交互* D、影片剪辑
17、在“混色器面板”中可选择的色彩模式有_________
A、RGB* B、CMYK C、HSB* D、LAB
18、图层包括 __________
A、背景图层 B、普通图层* C、引导图层* D、遮罩图层*
19、文字样式包括__________
A、正常* B、粗体* C、下划线 D、斜体*
20、在flash中的视图方式有__________
A、轮廓* B、高速显示* C、消除锯齿* D、消除文字锯齿*
三、判断题
1、flash是由美国Macromedia公司开发的网络动画制作软件。并且支持网络流技术。(对)
2、flash界面和其它windows应用软件一样,它包括菜单栏、工具栏等,其中菜单栏中提供9项下拦式菜单功能。(对)
3、在flash中您可以撤销的次数最多为300次。(对)
4、flash的新建和新建窗口是完全一样的。(错)
5、flash可以最多可建立999个图层。(错)
6、如果要将视图放大,可以键盘中的ctrl+-;如果要将视图缩小,可按键盘中的ctrl+=。(错)
7、视图显示比例最小为10%;最大显示比例为2000%。(对)
8、ActionScript是flash专用的一种程序语言,flash中的ActionScript具有和通用的JavaSc(对)
9、QuickTime发布选项可创建Apple公司的QuickTime格式的动画,当Flash创建QuickTime文件时,它会将动画复制到独立的轨道中。(对)
10、jpg发布设置可选择将Flash动画发布为静态图或者动态图。(错)
11、如果把Flash动画发布为HTML文件,则将产生一段HTML代码,用于在网页中引导和设置Fla(对)
12、所为流式声音,就是一边下载一边播放的驱动方式。(对)
13、“gotoAndPlay("场景 1", 50);”的描述是转到场景1的第50帧的地方并停止。(错)
14、在缺省情况下,新建立的图层按创建的顺序来为图层命名。(对)
15、将文字转换成矢量图形后,仍使用文字工具修改文字了。(错)
16、群组对象功能可以将一些对象组合成一个整体,以后对这个整体的操作就像是对单个对象一样的简单。(对)
17、缩放对象就是将选中的图形对象按比例放大或缩小,也可在水平方向及垂直方向分别放大或缩小。(错)
18、魔术棒用于编辑区中选择相似颜色的填充色(仅对打散的位图起作用)。(对)
19、用套索工具拖曳出的线条不一定要封闭,当你释放鼠标左键时,Flash会自动以直线连接首尾,使之土封闭起来。(对)
20、外部导入的位图对象,图符的实例对象或文字对象,不必用矩形框完全框住这些对象才能选择。(错)
21、创建了符号后,在Flash动画中使用符号,就是创建实例,或者说,把符号从符号库中拖曳到编辑区,就是创建该符号的实例。(对)
22、实例出现在舞台后,每个实例都有其自身的独立于符号的属性。(对)
23、对符号进行编辑,不会影响到该符号的实例。(错)
24、符号类型是指图片在动画中的表现形式,可以分为影片剪辑、按钮和图形三种类型。(对)
25、早期Flash的绘图工具实际上包括两个部分:工具按钮区和修改控件区。(对)
26、时间轴窗口可以分为图层控制区和动画帧编辑区两大部分。(对)
27、Flash MX中,在ActionScript中提供了的操作模式只有“标准模式”。(错)
28、在Flash中,ActionScript程序可以添加到在帧、按钮和电影片段上。(对)
29、一个层中可以放置多个声音,声音与其他对象不能放在同一层中。(对)
30、自然界中的声音都是模拟的,然而在计算机世界中,一切东西都需要用数字来表示。(对)
-------------------------------------------