Skip to content

Instantly share code, notes, and snippets.

@jayzes
Created November 29, 2011 21:30
Show Gist options
  • Save jayzes/1406596 to your computer and use it in GitHub Desktop.
Save jayzes/1406596 to your computer and use it in GitHub Desktop.

OOP

  • How comfortable are you with Object Oriented concepts and how they apply to any given language? (elaborate on OOP)
  • Can you explain inheritance and as it relates to extending classes or objects?
  • How about the concept of composition vs inheritance?
  • Can you explain the difference between Classical and Prototypal inheritance?
  • Are you familiar with Software Design Patterns?
  • Can you explain MVC?
  • Are there any other patterns you are familiar with and can you explain a use case?

General Code

  • What is the most difficult problem you've solved with code? (explain)
  • What IDEs do you currently use?
  • Can you explain the difference between synchronous and asynchronous programming? (Bonus) Explain threading?
  • Can you explain how a recursive function/method works?
  • Can you explain how HTTP Requests are handled?
  • Can you explain the difference between a private property and a static public property?
  • Can you explain the benefits/drawbacks of a strongly typed language vs an untyped language?
  • What other languages are you familiar with?

TDD

  • Can you explain TDD and your experience with it?
  • Any experience with BDD?
  • What frameworks or toolkits have you used in your projects?

ActionScript

  • Can you explain the difference between an Object, Array, and Vector?
  • Can you explain the usage of the Drawing API used in ActionScript?
  • Can you explain the difference between a for and a for...in loop?
  • Do you have any experience developing AIR applications? (explain)
  • Do you have any experience using the Flex SDK for compiling flex/as3/air?
  • Do you have experience interfacing ActionScript with JavaScript?
  • Can you explain how to use gradient masking, and any pitfalls with doing so?
  • Have you used the native 3d features in FP10, and how do you feel about them?
  • What tween engines have you used or how do you go about scripting motion? (timeline animation experience?)
  • What frameworks or toolkits have you used in your projects?
  • Which one do you prefer and why?

JavaScript

  • Can you explain the keyword prototype and its use and effect in JavaScript?
  • Can you explain the concept of namespaces and how they are used in JavaScript?
  • Can you explain Closures and use a case for them?
  • Can you explain what currying means? (Bonus)
  • What frameworks or toolkits have you used in your projects?
  • Which one do you prefer and why?

HTML

  • What is the W3C?
  • What is the DOM?
  • Can you explain the concept of degrading a site gracefully and why you might have to do it?
  • Can you explain the Canvas object in HTML5 and its use?
  • Have you had any experience with HAML?

CSS

  • Explain the difference between class and id?
  • Can you explain absolute vs. relative positioning and how they work together?
  • Can you explain the difference between margin and padding?
  • How would you vertically center a web site?
  • Can you explain how CSS selectors work? Bonus: In which direction are they read by the browser?
  • Have you had any experience with SASS?

Objective C

  • Have you had any experience developing iPhone applications?
  • Can you explain memory management?
  • What will get your app rejected by the app store?
  • What are the advantages/disadvantages of NSMutableArray versus C arrays?
  • Can you explain the difference between UIKit, CoreGraphics and OpenGL?
  • Tell us about a gotcha you've encountered on iPhone
  • If UIViewController is a bear, and UITableView is a flamingo, which animal is NSNumber?

Rails

  • What is has_many :through ond how does it work?
  • What is a named scope?
  • How does a respond-to block work and when would you use it?
  • Explain how Rails plugins are loaded into an application?
  • What does REST mean ond what does it mean for a Rails application?

Ruby

  • Explain the difference between a string and a symbol
  • Explain the scope of a block in Ruby
  • Explain the difference between the key words 'include' and 'extend'
  • Explain what a module is and how it differs from a class
  • What does "self" refer to?
  • What is a proc and how does it differ from a lambda?
  • Ruby takes a unique approach to the problem of multiple inheritance. Explain Ruby's approach and the strengths and weaknesses of it.
  • Do you think adding behavior to the built-in core Ruby/Rails classes is a good idea? Can you give some examples to back up your opinion?

Databases

  • What is a database index and how does it work?
  • Can you explain the difference between an inner join, a right outer join, and a left outer join?
  • Can you explain database normalization?

Miscellaneous Code

  • What does REST mean and can you explain the concept?
  • Can you explain what the CDATA tag does to XML and how it is parsed?
  • Can you explain XML namespaces, and how they effect parsing?
  • What version control systems are you familiar with?
  • Have you used any automated deployment systems (like capistrano, vlad or inploy)?
  • Have you used memcached?
  • What is your biggest project/deployment (production application)?

Community

  • Have you contributed to any open source projects?
  • Do you code for fun? Any personal projects you want to discuss?
  • Have you attended any conferences in the last few years?
  • What's the last programming book you've read?

Design

  • Can you explain the difference between kerning and leading?
  • Can you explain the difference between bitmap and vector graphics?
  • Can you tell us when you should use a jpg, gif or png? What are some of the differences?
  • Have you worked with designers/creative directors before? explain?
  • How realistic is it to create a site that looks exactly like a design comp, down to the pixel?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment