Thursday, June 17, 2010

Web Developer ann UI designer Interview Questions

The main technologies required for a web developer are CSS, HTML and JavaScript. A good web developer also needs to have a grasp of and interest in both web standards and accessibility. While most web developer roles require other technologies such as Unix, Apache and server management, MySQL & PHP or SQL & ColdFusion or other dB and programming technologies, CVS, Perforce, or other source control management interfaces, I am only going to cover the technologies that span all Web Developer job descriptions: HTML, Web Standards and Accessibility, CSS and JavaScript.

The main skill I look for in a web developer is intelligence*, a desire to learn and an adoration of web standards. These questions target knowledge rather than capacity to learn. So, for each question remove 2 points if the answer, whether correct or not, sounded like it was quoted from a text book or this blog entry (unless, of course, you are interviewing me). Add points for interviewee efficient thought processes: if they didn’t know the answer to start with but figured it out in the end.

Please have a look at Web Developer Resume Screening for thought on how to filter through resumes to find good Web Developer applicants.

* Note: Intelligence ≠ Education. A Masters or PhD may just mean that they had the time and money to delay getting a job. Look for people who can think, not ones who regurgitate text books.
Please note that these questions are two years old.
… and … quoting @seldo: “I am adding ‘Can you use the men’s room without peeing all over the floor?’ to my list of phone screen interview questions.” Generally not necessary if interviewing women.

XHTML, CSS & JavaScript Web Developer Applicant Questions

XHTML Web Standards Interview Question

Question:
What is a DTD? What DTD do you generally use? Why? Pros and cons.

Answer
See the bottom half of DTD: the Document Type Declaration

Answer Rating:
Completely wrong answer though pretends to know it
I don’t know (I give points for honesty), trying unsuccessfully but honestly to give the right answer
Knowledge of the definition, but doesn’t know why they are used.
Knowledge of which one to use and why
Explanation of Quirks mode versus Regular mode and analysis of which one is best for different media
Accessibility Interview Question
Question
Tell me some considerations in selecting font size?

Answer
Font sizes should be declared using relative measurement values, such as ems, via a style sheet, without the use of the term !important. There are issues with browser font size enlarging which can be rectified via CSS.

Answer Rating
uses tag
Gives an answer using pixels using CSS
Explains that font size should be declared using relative font sizes
Explains that font size should be declared using ems or percentages
Gives the answer above
CSS Interview Question

Question
a) What are the possible values for the display attribute that are supported by all browsers?
b) What is the default value for the display attribute for the image element? (what is the difference between inline and block level elements)
c)What does display: run-in do?
d) Difference between “visibility:hidden” and “display:none”? What are the pros and cons of using display:none?
Answer
main values: none, block, inline, list-item, run-in
all values: inline block list-item run-in compact marker table inline-table table-row-group table-header-group table-footer-group table-row table-column-group table-column table-cell table-caption none inherit
default value: inline, block or list-item, depending on the element. The is an inline element.
Run-in should make the run-in element be the first line of the next sibling block level element, if it is before a block level element that is not floated or absolutely positioned. If the next sibling is positioned or floated, then the run-in element will be a block level element instead of appearing in-line.
PPK’s Quirksmode explains it well. The w3schools lists table display values.
When visibility is set to hidden, the element being hidden still occupies its same place in the layout of the page. If the display is set to none, the element does not occupy any space on the page — as if it didn’t exist..
Answer Rating
Doesn’t know
Knows the answer to A
Knows the answer to A and D
Knows the answer to A, B and D
Knows the answer to C too!
CSS Interview Question

Question
a) What are the five possible values for “position”?
b) What is the default/initial value for “position”?
c) How does the browser determine where to place positioned elements
d) What are the pros and cons of using absolute positioning?
e) if they are really advanced, ask about IE z-index issues with positioned elements.

Answer
a) Values for position: static, relative, absolute, fixed, inherit
b) Static
c) They are placed relative to the next parent element that has absolute or relative value declared
d) Absolutely positioned elements are removed from the document flow. The positioned element does not flow around the content of other elements, nor does their content flow around the positioned element. An absolutely positioned element may overlap other elements, or be overlapped by them.
e) IE treats a position like a z-index reset, so you have to declare position of static on the parent element containing the z-indexed elements to have them responsd to z-index correctly.

Answer Rating
Doesn’t know
Knows 4 out of 5 answers in part A
Knows A & B
Knows A, B & C
Knows A-D
Knows E too
CSS Interview Question

Question:
Write a snippet of CSS that will display a paragraph in blue in older browsers, red in newer browsers, green in IE6 and black in IE7

Possible Answer:
#content p{color:blue}
html>body #content p {color:red}
* html #content p{color:green}
html>body #content p {*color:black;}

Answer Rating
Doesn’t know
Knows how to declare one color, but no hacks
knows the html>body hack and * html hack
Knows all the hacks, but doesn’t validate or uses conditional comments in the HTML
Gives you the right answer and explains why the CSS won’t validate, or, uses a valid hack, other than conditional IE comments, instead of the above answer.
Basic Javascript Interview Question

Question:
What is the correct way to include JavaScript into your HTML?

Answer:
See Including Javascript in XHTML for answers.

Answer Rating:
and other incorrect answers
verbally explains the theory but doesn’t know how to do it
correct explanation using inline event handlers or inline code
discusses and knows how to implement javascript event listeners
Explainst how you include JS within an XHTML document and ensure it validates using CDATA, explains
Basic Javascript Array / XHTML Form Interview Question

Question
Are the following all equal, and, if so, what would your code look like to make the following all equal the same thing:

alert(document.forms["myform"].elements["field"].value);
alert(document.forms[1].elements[1].value);
alert(document.myform.field.value);
answer:




Answer includes knowing that the form is the second form on the page, and that the field input element is the second element within that form.

Answer Rating
Doesn’t know how to code forms and doesn’t know that the first index of an array is 0.
Knows either how to code forms with valid XHTML or that array starts at 0, but not both.
Knows how to code forms but not correctly, but omits something like doesn’t know that the form needs to be the second one on the page, and the element is the second one in the form. Would know how to do it if they actually put thought into it.
Codes the form correctly, but uses ID instead of name
Codes everything correctly
JavaScript Interview Question

Question:
How do you dynamically add a paragraph with stylized content to a page?

Possible Answer:
newParagraph = document.createElement('p');
newParagraph.setAttribute('class', 'myClass');
newText = document.createTextNode('this is a new paragraph');
newParagraph.appendChild(newText);
myLocation = document.getElementById('parent_of_new_paragraph);
myLocation.appendChild(newParagraph);
Answer Rating:
Wrong Answer (i.e. “you can’t”), I don’t know.
Use JavaScript, with no knowledge or incomplete knowledge of how that is done. Suggesting innerHTML, but not really knowing. Or explanation of accessibilty issues surrounding this.
Able to explain how you create a node, add content to the node, add a class attributes to that element, and then add that node as a child of the parent element (the above example)
Explanation of how to do it (worth 3 points) and explanation as to issues that arise when doing it, such as screen readers not knowing that text has changed, IE6 and IE7 not applying styles included with added content, not duplicating IDs, etc.
Has no clue how to do it to start, but can figure it out with guidance: extra points for the quick learner!
Other questions ideas:

Q: How do you organize your CSS? How do you come up with id and class names (what naming conventions do you use)?
A: While there are no right answers, there are best practices. Issues to look for are not having div mania, no inline CSS, no presentational markup, minimal use of classes, understanding the CSS cascade.

Q: What do you think of hacks? When should you use them? If you use them, how do you maintain them? What can be done to avoid needing to use box-model hacks? (if they aren’t pros, you can ask them what is the issue with x-browsers and the box model)

Q: What are the pros and cons of using tables for layout? Do you use tables? What are the pros and cons of tableless design? How do you generally layout your pages?
A: check for them NOT using tables

Q: Check to ensure that they separate structure and semantics first from presentation later? Do not ask about this during HTML, but do in webstandards.

Q: What are some deprecated elements and attributes that you use, and in what instances do you use them?
A: List of deprecated elements and attributes.

Q: What is involved in making a website accessible? What are arguments you use to convince others to invest in making their web site accessible.
A: See Making the web Accessible. Making sites accessible also makes them more search engine friendly (saves money), makes your pages accessible to the 20% of the population that has some type of disability (so you can make more money) and it’s the law in many places.

Q: Define what web standards mean to you? How do you implement web standards?

Q: In CSS, how can you make a form elments background-color change when the user is entering text? will this work in all browsers?

Q: How can you target an element in your HTML using the DOM?

18 comments:

Unknown said...

Thanks a lot. Most useful of interview questions and answers

Anonymous said...

Hi

I like this post:

You create good material for community.

Please keep posting.

Let me introduce other material that may be good for net community.

Source: Web interview questions

Best rgs
Peter

Ivanov said...

Hi

I like this post:

You create good material for community.

Please keep posting.

Let me introduce other material that may be good for net community.

Source: Web interview questions

Best rgs
Peter

dante said...

Hi

I read this post 2 times. It is very useful.

Pls try to keep posting.

Let me show other source that may be good for community.

Source: Web interview questions

Best regards
Jonathan.

Unknown said...

Hello,
Useful information, many thanks to the author. It is puzzling to me now, but in general, the usefulness and significance is overwhelming. Very much thanks again and best of luck!

Hire Web Developer

Usha G.R said...

Very good usefull post

Web Designer Developers said...

Good helping & informative stuff defined .
Thanks for sharing the info.

Hire website developers said...

Great posting.Nice interview.This blogs explain nicely about css,html,javascript.In this interview ,It help my career to create a design.

Create an Online Shop said...

Good to know these design based questions and the relevant answers. U have made a worthy blog.

Custom Facebook Applications said...

Amazing and interesting strategies stuffed.

Unknown said...

I honestly believe there is a skill to writing articles that only very few posses and yes you got. It was simply checking out this blog and I really admire the premise of the article and this is really informative. This was very informative and you explained it very well. Those are the basic information that a web developer must known in this field. Thanks for sharing it with us.

User Interface Design said...

A good user interface facilitates the website with a smooth navigation and functionality from the users' perspective.Very much thanks again and best of luck!

User Interface Design

Web developer said...

That is really cool. Thanks for sharing the details here.

Mobile Application Development Company US said...

Really your post is really very good and I appreciate it. It’s hard to sort the good from the bad sometimes, but I think you’ve nailed it. You write very well which is amazing. I really impressed by your post.

SEO Company Bangalore said...


Truly an amazing page. I like what you've got in here. thanks for the share. Totally interesting indeed. thanks!
SEO Service Bangalore | Internet Marketing Company Bangalore

Unknown said...

Hi,Today, the technology is streaming with different applications in Web Design Cochin because of the useful efforts of programmers and developers. Thanks....

Unknown said...

Congratulation for the great post. Those who come to read your article will find lots of helpful and informative tips.
San Antonio Logo Design

Ancy merina said...
This comment has been removed by the author.