March 30, 2005

PP5020 - WikiPodLinux

PP5020 - WikiPodLinux

PortalPlayer, Inc. -- Technical Information

PortalPlayer, Inc. -- Technical Information

/k/ Embedded Java Solutions - Mi|k|a(TM) Datasheet

/k/ Embedded Java Solutions - Mi|k|a(TM) Datasheet

The simple Real Time Java

The simple Real Time Java

Folklore.org: Macintosh Stories: Reality Distortion Field

Folklore.org: Macintosh Stories: Reality Distortion Field

Slashdot | 2005 Star Wars Fan Film Entries Online

Slashdot | 2005 Star Wars Fan Film Entries Online

Wired 13.04: La Vida Robot

This is really an amazing story: Wired 13.04: La Vida Robot: "Ever since his younger sister demanded her own room four years ago, Cristian Arcega had been living in a 30-square-foot plywood shed attached to the side of his parents' trailer. He liked it there. It was his own space. He was free to contemplate the acceleration of a raindrop as it leaves the clouds above him. He could hear it hit the roof and slide toward the puddles on the street outside. He imagined that the puddles were oceans and that the underwater robot he was building at school can explore them"

March 28, 2005

Somebody else's Java Interview Questions

Java Interview Questions

Java Interview Questions for Java Programmers

This is the short version of the java interview questions I use each time I interview a potential java developer. In person, I'll always add 'Diagram the complete lifecycle of how a request becomes a response in the enterprise architecture of your choosing', but that one is tough over the phone!

Interview Questions

General (tell them you want 10 sec. answers)

  1. What is inheritance?

Re-using the implementation of one class to make a new class. Also might mention subclassing, ‘is-a relationships’, parent/child relationships.

  1. What is polymorphism?

Allowing the same code to be used with different types, resulting in more general and abstract implementations.

  1. What is encapsulation?

Information hiding of design details. Protecting data and private methods, and only exposing the attributes or operations that are necessary.

Java (tell them you want 10 sec. answers)

  1. What kinds of literals/primitives does java provide? (Or, what in java is NOT an object)

boolean, char, byte, short, int, long, float, double

  1. What does the ‘static’ keyword do?

Makes an attribute or method a ‘class’ attribute or method. There exists exactly one incarnation of the field, no matter how many instances (possibly zero) of the class may eventually be created

  1. Describe the different java protection levels.

Private – The member is accessible only within the class that defines it.

Default (aka package) – The member is accessible only within the package in which it is defined.

Protected – The member is accessible only within the package in which it is defined and within subclasses.

Public – The member is accessible anywhere its class is.

  1. What are the differences between checked and unchecked exceptions?

Only checked exceptions need to be explicitly ‘caught’. Unchecked exceptions are subclasses of Error, while checked exceptions are subclasses of Exception.

  1. What are the differences between abstract classes and interfaces?

Anything except visible forehead sweat. Single vs. Multiple inheritance; interfaces are entirely abstract; abstract classes provide partial implementation; etc.

  1. How do you sort a collection?

Call the java.util.Collections.sort() method, passing in the collection you need sorted, and optionally, a comparator

Database (tell them you want 30 sec. answers)

  1. Describe database normalization, including when it’s appropriate.

Database normalization is the process of removing redundant data to improve integrity, scalability, and storage efficiency. Normalization tends to trade off with performance, so it's a question of balancing data redundancy and integrity against performance. Normalize less if you want simple queries, archival quality records, online reporting, or good performance.

Bonus points for definitions of different normal forms:

1NF: tables have no internally redundant columns, and are rows are uniquely identifiable by a unique column or columns

2NF: every non-key column is dependent on the primary key

3NF/BCNF: every non-key column is only dependent on the primary key, and no other columns

4NF: No multi-value dependencies

  1. When would you create an index?

To speed up queries on a non-key column. If a table is large enough that a sequential scan takes too long to filter by some column(s), create an index.

  1. When would you create a view?

To simplify queries. Maybe also to present a part of a table with different names or permissions.

  1. Describe inner, outer and full joins.

An inner join returns only records which satisfy the join condition.

An outer join returns all records from one table, and matching records from the other where the join condition is satisfied.

A full outer join returns all records from both tables, matching where the join condition is satisfied.

Bonus points for mentioning the difference between left/right, or cross joins/cartesian products.

Front End (tell them you want 30 sec. answers)

  1. Describe techniques for updating a page without the browser flashing or redrawing the whole thing.

Use javascript or vbscript to modify the DOM directly. (Bonus for mentioning loading the data in a background iframe)

  1. What is the difference between a Java Server Page and a Servlet?

A JSP is translated into a servlet by a precompiler that converts non-java text into write or print statements. Other than that THEY ARE THE SAME THING.

  1. How do you get data from a FORM in the browser to a servlet?

A browser action (click or Enter) SUBMITs an html form. The servlet accesses the data by calling getParameter on the Request object.

J2EE (tell them you want 30 sec. answers)

  1. Contrast Stateless vs. Statefull Session Beans.

A stateless session bean does not maintain a conversational state with the client it is servicing. A stateful session bean is dedicated to the one client it is servicing for the life of the bean instance, so data about the client can be cached between method invocations.

  1. Contrast CMP vs. BMP.

Container Managed Persistence means all persistence is handled by the EJB container. A developer doesn’t have to worry about writing persistence code that is specific to the database because it is automatically generated by the EJB container. In Bean Managed Persistence developers write all of the code to manage persistence.

  1. What is a Home Interface, Local Interface, and a Remote Interface.

Home Interface –Home interfaces are used to create, locate, and remove objects from EJB containers (and sometimes databases).

Local Interface – Used when calling the business methods by clients that reside in the same JVM. Parameters are passed by reference.

Remote Interface – Used when calling the business methods by clients that reside in another JVM. Parameters are passed by value.

Subjective

  1. How do you get started coding when you don’t have good documentation for your task?

Just looking for some answer that says they’ll get along here. Anything except “I won’t start coding until the BAs give me good UML diagrams”

  1. You are given requirements to create a new screen that allows the user to input customer contact information. What are the steps you would take to implement it? What would you consider when designing and implementing the code?

The key is asking for more information. Anything except “just start coding”.

  1. Talk about design diagrams and what you find useful.

Looking for anything that sounds compatible with the status quo here. Nice to have, good tool for developers to use to communicate, etc.

  1. When you need to learn something new, where do you go for information?

Google. Books. Anything that demonstrates that they can learn new things.

  1. How do you feel about working on projects in an Agile environment vs. a linear methodology?

Must like agile.

  1. How do you feel about pair programming?

Must be ok with pairing and think it at least ‘has its place.’

Grand Total:

And the scoresheet I use for each candidate:

Interview Questions

Name_________________________________

General (tell them you want 10 sec. answers)

bad great

  1. What is inheritance?

0 1 2 3 4 5

  1. What is polymorphism?

0 1 2 3 4 5

  1. What is encapsulation?

0 1 2 3 4 5

total

Java (tell them you want 10 sec. answers)

0 1 2 3 4 5

  1. What kinds of literals/primitives does java provide? (Or, what in java is NOT an object)

0 1 2 3 4 5

  1. What does the ‘static’ keyword do?

0 1 2 3 4 5

  1. Describe the different java protection levels.

0 1 2 3 4 5

  1. What are the differences between checked and unchecked exceptions?

0 1 2 3 4 5

  1. What are the differences between abstract classes and interfaces?

0 1 2 3 4 5

  1. How do you sort a collection?

0 1 2 3 4 5

total

Database (tell them you want 30 sec. answers)

  1. Describe database normalization, including when it’s appropriate.

0 1 2 3 4 5

  1. When would you create an index?

0 1 2 3 4 5

  1. When would you create a view?

0 1 2 3 4 5

  1. Describe inner, outer and full joins.

0 1 2 3 4 5

total

Front End (tell them you want 30 sec. answers)

  1. Describe techniques for updating a page without the browser flashing or redrawing the whole thing.

0 1 2 3 4 5

  1. What is the difference between a Java Server Page and a Servlet?

0 1 2 3 4 5

  1. How do you get data from a FORM in the browser to a servlet?

0 1 2 3 4 5

total

J2EE (tell them you want 30 sec. answers)

  1. Contrast Stateless vs. Statefull Session Beans.

0 1 2 3 4 5

  1. Contrast CMP vs. BMP.

0 1 2 3 4 5

  1. What is a Home Interface, Local Interface, and a Remote Interface.

0 1 2 3 4 5

total

Subjective

  1. How do you get started coding when you don’t have good documentation for your task?

0 1 2 3 4 5

  1. You are given requirements to create a new screen that allows the user to input customer contact information. What are the steps you would take to implement it? What would you consider when designing and implementing the code?

0 1 2 3 4 5

  1. Talk about design diagrams and what you find useful.

0 1 2 3 4 5

  1. When you need to learn something new, where do you go for information?

0 1 2 3 4 5

  1. How do you feel about working on projects in an Agile environment vs. a linear methodology?

0 1 2 3 4 5

  1. How do you feel about pair programming?

0 1 2 3 4 5

total

Grand Total:

cellphonewithprojector


cellphonewithprojector, originally uploaded by infoslave.

http://www.physorg.com/news3505.html

Schneier on Security: TSA Lied About Protecting Passenger Data

Schneier on Security: TSA Lied About Protecting Passenger Data

Security no match for theater lovers

Security no match for theater lovers: "Last year, people at a transit station gladly gave up their passwords for a chocolate Easter egg. This year, they provided all the ingredients for their identities to be stolen for a chance to see a show."

March 25, 2005

Clocky

Clocky is a clock for people who have trouble getting out of bed. When the snooze bar is pressed, Clocky rolls off the table and finds a hiding spot, a new one every day. Clocky

March 15, 2005

QOTD

“If a man is offered a fact which goes against his instincts, he will scrutinize it closely, and unless the evidence is overwhelming, he will refuse to believe it. If, on the other hand, he is offered something which affords a reason for acting in accordance to his instincts, he will accept it even on the slightest evidence.” — Bertrand Russell, Roads to Freedom

Google and 302's

Your site is at risk from hijackers: "The full story of Google and 302s "

March 10, 2005

How to Start a Startup

How to Start a Startup

Video on the Internet

The New Normal http://thenewnormal.com/index.php/newnormal/video_on_the_internet_part_iii_akimbo/ http://thenewnormal.com/index.php/newnormal/video_on_the_internet_part_ii/

March 04, 2005

Quickparts!

This is really cool. Custom, instant rapid prototyping directly from your CAD files. With instant quotes!. Quickparts Services

Flickr

This is a test post from flickr, a fancy photo sharing thing.

March 03, 2005

'ALL I WANT is to make a high-definition copy of Buffy the Vampire Slayer, save it on a DVD, and loan it to my friend

San Francisco Bay Guardian News "I think the Broadcast Flag punishes the wrong group," Kiefling says. "The people who do mass piracy will always have the means to – the flag won't stop them. Meanwhile, the rest of us are stuck with broken entertainment systems." All the people who now take for granted the act of removing a tape from their VCR – the Star Trek fans, the OC addicts, the Marx brothers aficionados – will gradually discover they can't do the same thing with their new PVRs. Copyright law permits consumers to make personal, fair-use copies of their media. And yet the government-entertainment industrial complex will have engineered every device to stop them.

March 01, 2005

Scientific American: Misconceptions about the Big Bang

Scientific American: Misconceptions about the Big Bang [ COSMOLOGY ]
Baffled by the expansion of the universe? You're not alone. Even astronomers frequently get it wrong