Senior Software Engineer
> about 6 years with GlobalLogic
> more than 7 years in Web Development
> Trusted Interviewer (Web)
> speaker and mentor at GlobalLogic JS community
> speaker and part of the program committee at JavaScript Fwdays
Inna Ivashchuk
General description of technology & its usage
Web development is the work involved in developing a Web site for the Internet (World Wide Web) or an intranet (a private network).
Let me introduce the 3 main technologies that are used to build a website HTML, CSS, and JavaScript
The HyperText Markup Language, or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaScript.
Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation of a document written in a markup language such as HTML.
JavaScript often abbreviated as JS, is a programming language that conforms to the ECMAScript specification. JS is lightweight, interpreted, or just-in-time compiled programming language with first-class functions.
Websites
Web Applications
Presentations
Server applications
IoT
Games
Art
Smartwatch Apps
Mobile Apps
Flying Robots
....and many others
JS Interactive Art
Technology stack requirements and expectations for various seniority level
Front-end:
Backend:
Client (Front-end)
Server (Backend)
"Hey, server, let's talk?"
GET HTTP-request
HTTP-response
POST HTTP-request
HTTP-response
......
I'm a Front-end engineer and I like to create beautiful web apps with amazing design, animations and some business logic as well
Dinesh
I'm a JS Backend engineer and I like to write server code. And of course, my server has a name -
Gilfoyle
ANTON
I'm a JS Fullstack engineer and I like to write server code and client (UI) code as well and even know a bit about DevOps
Gilfoyle
Dinesh
Richard
Front-end
Fullstack
Backend
Front-end
Backend
Playwright
What to assess at this stage?
Now let’s talk about the best practices for prescreening candidates:
☐ Ask delivery leaders for a personal presentation of the project/vacancy
☐ Understand the role of a project in simple words:
Why is it needed, what are the inputs/outcomes, and what functional benefits, so you may efficiently engage the candidates according to their skills
☐ Collaborate with your Trusted interviewers who support you in the technical interview
☐ Check English level
Ask some general questions related to experience or even easy technical questions
Correct answer: synchronous or synchronous with asynchronous ability
Correct answer: Inheritance, Encapsulation and Polymorphism
More questions can be provided by Technical Interviewer
Resume checks
Wrong technologies stack. A project looking forward for a React developer, but a Node.js developer suggested with no experience in React.
React developer for React Native position
English level is not checked. Please ask some basic questions in English to be sure a candidate has the required level.
Keep an eye on the main technology at the last project. If a vacancy requires knowledge of Angular, but a candidate has used this framework about 4 years ago - it’s a bad sign.
Java engineer profiles are suggested for JavaScript positions
or another framework/lib
must-have tech skills
or another framework/lib
must-have tech skills
Hypertext Transfer Protocol (HTTP) is an application-layer protocol for transmitting hypermedia documents, such as HTML. It was designed for communication between web browsers and web servers, but it can also be used for other purposes. HTTP follows a classical client-server model, with a client opening a connection to make a request, then waiting until it receives a response. HTTP is a stateless protocol, meaning that the server does not keep any data (state) between two requests.
WebSocket is a computer communications protocol, providing full-duplex communication channels over a single TCP connection. The WebSocket protocol was standardized by the IETF as RFC 6455 in 2011. The current API specification allowing web applications to use this protocol is known as WebSockets
Client 2
Server
Client 3
Client 1
Client 4
WS
HTTP
DNS
FTP
TCP
UDP
IP
ICMP
ARP
DHCP
Ethernet
Wi-Fi
DSL
Application
Transport
Network
Data Link and Physical
Collect the data from the application software and format it for further processing
Packetize the data. Add sequecing and error correction info to each packet
Add source and destination IP address to each packet
Add source and destination MAC address to each packet and pass to NIC drivers
Client
Server
"Hey, server, let's talk WebSocket?"
HTTP-request
HTTP-response
"Okay!"
WebSocket protocol
Handshake (HTTP upgrade)
Bi-directional messages
WS
DNS
FTP
TCP
UDP
IP
ICMP
ARP
DHCP
Ethernet
Wi-Fi
DSL
Application
Transport
Network
Data Link and Physical
Collect the data from the application software and format it for further processing
Packetize the data. Add sequecing and error correction info to each packet
Add source and destination IP address to each packet
Add source and destination MAC address to each packet and pass to NIC drivers
HTTP
Client
Server
"Hey, server, let's talk?"
GET HTTP-request
HTTP-response
POST HTTP-request
HTTP-response
......
A REST API (also known as RESTful API) is an application programming interface (API or web API) that conforms to the constraints of REST architectural style and allows for interaction with RESTful web services. REST stands for representational state transfer and was created by computer scientist Roy Fielding.
*API - application programming interface
A client-server architecture made up of clients, servers, and resources, with requests managed through HTTP.
Stateless client-server communication, meaning no client information is stored between get requests and each request is separate and unconnected.
Cacheable data that streamlines client-server interactions.
A uniform interface between components so that information is transferred in a standard form
A layered system that organizes each type of server (those responsible for security, load-balancing, etc.) involved the retrieval of requested information into hierarchies, invisible to the client.
Code-on-demand (optional): the ability to send executable code from the server to the client when requested, extending client functionality.
I like that