As I have been contacted by one of the Senior Recruitment Consultant with an offer for a Web Developer role I have decided to write an article which would include following skills;

 

  • HTML
  • CSS
  • JavaScript
  • AngularJS
  • Agile

 

Right, let’s start from the first skill Hypertext Markup Language (HTML) is the standard markup language for creating basic web pages and applications. With Cascading Style Sheets (CSS) and JavaScript it creates a fully functional pyramid of World Wide Web (WWW). In more common sense if we would know the basic terminology of this languages and the basic mathematics skills which include functions and algorithms we would able to communicate with Artificial world which is maintained by human beings. Before the revision beginning I would like address Tim Berners-Lee acknowledgement.

“We must fight against government overreach in surveillance laws, including through the courts if necessary. We must push back against misinformation by encouraging gatekeepers such as Google and Facebook to continue their efforts to combat the problem, while avoiding the creation of any central bodies to decide what is ‘true’ or not.”

According to Guardian 12th of March is the day when he has submitted his proposal for the worldwide web. Due to the mark of 28 years he has wrote an article with a message on how to save the web. The main points were that we have lost control of our personal data, it’s to easy for misinformation to spread of the web and political advertising online needs transparency and understanding. With all respect to him that he invented the tool which connects the community and allows us to share information between I have to move to the questionnaires which are relevant to HTML, CSS and JavaScript. For this specific revision the following Front End Interview questions will be used;

HTML / General Interview Questions

What is the difference between form get and form post?

With GET the form data is encoded into a URL by the browser. The form data is visible in the URL allowing it to bookmarked and stored in web history. The form data is restricted to ASCII codes. Because URL lengths are limited there can be limitations on how much form data can be sent.

With POST all the name value pairs are submitted in the message body of the HTTP request which has no restrictions on the length of the string. The name value pairs cannot be seen in the web browser bar.

POST and GET correspond to different HTTP requests and they differ in how they are submitted. Since the data is encoded in differently, different decoding may be needed.

What is the importance of the HTML DOCTYPE?

The doctype declaration should be very first thing in an HTML document, before the html tag.

The doctype declaration is not an HTML tag; it is an instruction to the web browser about what version of the markup language the page is written in.

The doctype declaration refers to a Document Type Definition (DTD). The DTD specifies the rules for the markup language, so that the browsers can render the content correctly.

What are some of the online tools and resources you use when you have a problem? Where do you go to ask questions?

This question really just looks for how resourceful the candidate is, it also reflects on their problem solving process and may lead you to ask more questions.

What is web a application?

A great question to feel out the depth of the applicants knowledge and experience. A web application is an application utilising web and browser technologies to accomplish one or more tasks over a network, typically through a browser.

CSS Interview Questions

Explain the difference between visibility:hidden; and display:none; ?

Visibility:Hidden: – It is not visible but takes up it’s original space.

Display:None; – It is hidden and takes up absolutely no space as if it was never there.

An example available here.

Name three ways to define a color in html?

1) Hex
2) RGB
3) Name (ie red)
.colorMe { color:red; color:#ff0000; color:rgb(0,0,255); }

How do you clear a floated element?

A floated element is taken out of the document flow. To clear it you would need to do a clear:both or try overflow:auto on the containing div.

What is a sprite? How is it applied using CSS? What is the benefit?

– A image sprite is a collection of images put into one single image.
– Using css positioning you can show and hide different parts of the sprite depending on what you need.
– Sprites reduces the number of http requsts thus reducing load time of page and bandwidth

JavaScript Interview Questions

What is JavaScript?

JavaScript is a client-side as well as server side scripting language that can be inserted into HTML pages  and is understood by web browsers. JavaScript is also an Object Oriented Programming language.

Enumerate the differences between JAVA and JavaScript?

Java is a complete programming language. In contrast, JavaScript is a coded program that can be introduced to HTML pages. These two languages are not at all interdependent and are designed for different intent. Java is an objet – oriented programming (OOPS) or structured programming language like C++ or C whereas JavaScript is a client-side scripting language and it is said to be unstructured programming.

What are JavaScript types?

Following are the JavaScript types:

  • Number
  • String
  • Boolean
  • Function
  • Object
  • Null
  • Undefined

What is the use of isNan function?

isNaN function returns true if the argument is not a number otherwise it is false.

Between JavaScript and an ASP script which is faster?

JavaScript is faster. JavaScript is a client-side language and thus is does not need the assistance of the web server to execute. On the other hand, ASP is a server-side language and hence is always slower than JavaScript. JavasScript is also a server side language (nodejs).

What is negative infinity?

Negative Infinity is a number in JavaScript which can be derived by dividing negative number by zero.

Is it possible to break JavaScript Code into serveral lines?

Breaking within a string statement can be done by the use of a backlash, ‘\’, at the end of the first line.

Example:
document.write("This is \a program");

And if you change to a new line when not within a string statement, then JavaScript ignores break in line.

Which company is developed JavaScript?

Netscape is the softwre company who developer JavaScript

What are underclared and undefined variables?

Underclared variables are those that do not exist in a program and are not declared. If the program tries to read the value of an undeclared variable, then a runtime error is encountered.

Undefined variables are those that are declared in the program but have not been given any value. If the program tries to read the value of an undefined variable, an undefined value is returned.

AngularJS Interview Questions

What are the basic steps to unit test an AngularJS filter?

  1. Inject the module that contains the filter.
  2. Provide any mocks that the filter relies on.
  3. Get an instance of the filter using $filter('yourFilterName').
  4. Assert expectations.

Dependency injection is a powerful softaware design pattern that Angular employs to compose responsibilities through an instinsic interface. However, for those new to the proess it can be puzzling where you need to configure and mock these depenencies when creating your isolated unit tests. The open-source project “Angular Test Patter” is a free resource that is focused on dispelling such confusiion through high-quality examples.

This question is useful since it can give us a feel for how familiar the candidate is with automated testing (TDD, BDD, E2E), as well as open up a conversation about approaches to code quality.

For more follow the link.

What should be the maximum number of concurrent “watches”? How would you keep an eye on that number?

To reduce memory consumption and improve performance it is a good idea to limit the number of watches on page to 2,000. A utility called ng-stats can help track your watch count and digest cycles.

Jank happens when your application cannot keep up with the screen refresh rate. To achieve 60 frames-per-second, you only have about 16 miliseconds for your code to execute. It is curcial that the scope digest cycles are as short as possible for your application to be responsive and smooth. Memory use and digest cycle performance are directly affected by the number of active watches. Therefore, it is best to keep the number of watches below 2,000. The open source utility ng-stats gives developers insight into the number of watches Angular is managing as well as the fequency and duration of digest cycles overt time.

For more information us the following link with resources;

https://www.codementor.io/angularjs/tutorial/angularjs-interview-questions-sample-answers

https://github.com/kentcdodds/ng-stats
http://jankfree.org

How do you share data between controllers?

Create an AngularJS service that will hold the data and inject it inside of the controllers.

Using a service is the cleanest, fastest and easiest way to test.
However, there are couple of other ways to implement data sharing between controllers, like:
– Using events
– Using $parent, nextSibling, controllerAs, etc. to directly access the controllers
– Using the $rootScope to add the data on (not a good practice)
The methods above are all correct, but are not the most efficient and easy to test.

Agile Interview Questions

How would you explain Agile in 30 seconds?

Agile is a framework of approaches and behaviours that encourage “just-in-time” production that enables customers receive quality software faster.

What are the differences between Agile and Traditional Project management?

 Agile encourages that a little of everything, including design, development and testing is done at the same time, as opposed to the traditional approach to projects, where one phase is closed and completed before the next begins. Agile encourages short, frequent feedback loops and embraces changes to requirements. In Waterfall, feedback is usually not collected until the very end of the project and changes a discouraged.

What is the Scrum?

SCRUM is a process in agile methodology which is a combination of Iterative model and incremental model.

What are the main roles in Scrum?

There are mainly three roles that a Scrum team have:

  1. Project Owner – who has the responsibility of managing product backlog. Works with end users and customers and provide proper requirement to the team to build the proper product.
  2. Scrum Master – who works with scrum team to make sure each sprint gets complete on time. Scrum master ensure proper work flow to the team.
  3. Scrum Team – Each member in the team should be self-organized, dedicated and responsible for high quality of the work.

 

In conclusion, this revision article has been written in almost a month the information was taken from online available resources. Each skill have had at least 3 questions and answers, due to this, I will add 3% to the following skills HTML, CSS, JS, Angular and Agile.