views:

265

answers:

6

What programming tests do company's give Flash developers?

I would like to level the playing field for developers and recruiters.

I've heard companies give debugging tests with broken documents you have to fix. Flash developers could include Flash IDE users and actionscript programmers.

alt text

Everyone would like to know what to expect and understand some of the blind spots we face. A rundown on "what to be prepared for" may be a right answer. Best anecdote or inside scoop on major companies is good too (don't have to use real names, it's up to you). Perhaps you have an opinion of what is fair or reasonable, I'd like to know.

+2  A: 

Most recruiters have a standardized test for each programming technology. These are multiple-choice questions that relate to how well you know the language in question.

An example question would be:

var x = 5;
foreach(var y=0; y<100; y++)
{
  x=y;
}

If this code was ran what would the value of x be?

A. 5

B. 0

C. 100

D. The code would create a compile time error.

E. The code would create a run time error.

The biggest test at an employer usually comes from the technical interview. Where you have to side on a position and defend it against criticism from the most senior developer.

Before an interview it is best to read over the language reference and have a clear idea of best practices for the technology in question.

Todd Moses
+1  A: 

Not answer from tests compagnie, but some clue to prepare flex certification, or flash, some compagnies get inspired from them:

1 - http://www.adobe.com/devnet/flex/articles/flex_certification.html

2 - here an application to prepare flex exam

3 - Another information from this site

4 - for flash cs4

Patrick
+2  A: 

Not sure about I think some code examples are a must along with explanation of the structure, design patterns used (if appropriate), if frameworks were used which ones and why. and hopefully there's some demonstration of an attention to performance and documenting anything that isnt obvious.

I liked the earlier question about writing a clever method (or class) that will generate a portion of the fibonacci sequence - some sample tests like that. Ask what they are less familiar with and give them a problem that requires that they find a way to solve it and see how they do.

Ultimatly this all is dependant on what you are looking for — contractor for a single project with a static(as far as projects go) set of requirements, Or if you are looking for a fulltime developer capable of coming up with solutions for a variety of problems.

Hope this helps.

philip
+1  A: 

Specifically for Flash, I would ask the following types of questions (similar to philip)

First, basics about OOP / OOP in ActionScript.

  1. What are the differences in the access modifiers private, public, internal and protected, and why would you use them?
  2. What are interfaces, and why would you use them?
  3. What is inheritance, when would you favor it over composition in Flash?

Frameworks:

  1. What frameworks have you used, if any? What are pros and cons?

Design Patterns:

  1. What design patterns have you used?
  2. What is the strengths / weaknesses of A,B,C (based on answers from 1)

More specific questions:

  1. What do you know about how garbage collection works in Flash? What steps need to be taken to get something ready for GC?
  2. What is the difference between Vectors and Arrays?
  3. When is it better to use int, uint over Number, and vice-versa?
  4. Explain event propagation in Flash (phases)
  5. What are final and dynamic classes?

Third party:

  1. What third party libraries have you used and why? (If they don't use a third party Tweening engine, END OF INTERVIEW :)

Sample Test:

1:Write a function formatString, such that

formatString("This is a {1} that {2} strings with an {3} number of paramaters", "function", "formats", "optional");

traces

This is a function that formats strings with an optional number of paramaters

and

formatString("This is a {1} of the {2}", "test", "emergency broadcast system");

traces

This is a test of the emergency broadcast system

I usually come up with at least 3 or 4 of these types of questions.

sberry2A
sberry2A's answer is comprehensive. Philip and Todd Moses mentioned mathematics principles which are an indication of how someone would far as a programmer.
VideoDnd
This is a very comprehensive answer, but can you give us more details about the type of Flash developer for which you'd use these? ie, commercial Flash website developer vs Air desktop software developer? Entry level vs mid level (years experience)? Thanks.
Slobaum
+1  A: 

And guess if anyone was wondering about the implementation of that formatString function mentioned by @sberry2A like me, here it is:

public function     formatString    ( phrase:String,    ... rest ):void
        {
            var     newPhrase   :String     =   phrase;
            var     length      :int        =   rest.length;
            var     tempString  :String;

            for ( var i:int = 0; i < length; ++ i )
            {
                tempString  =   '{' + ( i + 1 ) + '}';
                newPhrase   =   newPhrase.replace ( tempString, rest[ i ] );
            }

            trace ( newPhrase );
        }
Tahir Ahmed
Note that if you provided source code formatted like this to me at an interview, you probably would not be hired.
Cory Petosky
A: 

I had to write out functions on a whiteboard once during an interview. I found the whole thing to be really stressful but I did ok. The interviewer asked me questions regarding splitting strings and combining arrays and also about exhaustive random number generation.

ThunderChunky_SF