- Which code review tools you know/use? Your criterias for good code.
- What is code review in your opinion?
- How you'll setup code review for team of 5 devs with different skillsets?
- What are your criterias of Good Code that can be merged during review process?
- Have you ever practiced code review on your project? How would you setup code review process from scratch?
- In general, could you please describe the role of automation in development process?
- You come to an existing project and you see no code guidelines established there and you see mess and mixture of styles which is difficult to read and understand. Describe your actions.
- What practices/approaches do you know which helps to improve code quality?
- Code review - have you tried it, what is it for, is it helpful? What are the shortcomings & benefits of it?
- What are the signs of the bad code?
- How often do you refactor code? What are the reasons which force you to refactor code?
- Imagine the situation that you come to an existing project and see no coding guidelines established there and see issues coming out of this. What would you do?
- Exactly what kind of documentations did you create for your project?
- Что ты понимаешь под хорошим кодом?
- Как вы поддерживаете качество кода на проекте?
- Какая методология разработки используется на вашем проекте?
- Что тебе не нравится и что можно бы было улучшить?
- What are the differences between TDD and BDD aproaches. What JS frameworks for TDD/BDD you know?
- What tools are you using to test ability of your site to look equally in necessary browsers?
- What's the difference between unit, functional, acceptance, and integration tests?
- Which problems these solves?
- Best practices?
- Drawback? Coverage?
- What are benefits of TDD?
- How do you test your code?
- How will you convince your team member to start using TDD? What are the benefits of TDD?
- What is your Unit Tests covering process? What is acceptable Code Coverage level?
- Как можно использовать тестирование при переписывании легаси кода на новую кодовую базу?
- What is WeakMap/Symbol/Set?
- What const is for, your opinion?
- ES6 Temporal dead-zone
- If I define 2 functions with the same name in the same scope, which one will be executed?
- Which types of inheritance implementation in JS you know/use?
- es5 / es6 new features || language supersets (e.g. SASS, TypeScript)
- What CSS preprocessors you know/use? Pros and cons?
- What was the most interesting crossbrowser issue you came across? How did you fix it?
- What techniques you can use to avoid callback hell?
- Please talk about DOM event handling (capturing/bubbling).
- Please explane the event bubbling process in JS.
- What is the difference between preventDefault and stopPropagation event methods?
- What were your pitfalls for delivering project audit while you were contributing to the FED CC
- Browser caching possibilities?
- What's your experience with in-browser storages? IndexedDB? What type of db is indexeddb? What are the differences from RDBs and NoSQL dbs?
- Experience in building mobile, desktop, tv or any other different from the browser environment applications?
- Common dev environent setup? What dev environment should include for FE app?
- Talk about build process/CI on your project. Why Grunt/Gulp/... is used?
- What build tools are you using in your projects? Why?
- Как бы ты сделал ... (проект, процесс, воркфлоу) в идеальном мире (сговорчивый заказчик, есть все необходымые тулы и время).
- Possible ways to speedup your javascript code execution time? Hidden classes? try/catch?
- What is hardware acceleration?
- Что ты понимаешь под performance optimizations?
- How do you usally deal with perfomance issues?
- What kind of perfomance issues do you know?
- Which tools you use to trace them?
- Which technices you know or applied to solve memory leaks? Describe some of your personal experience in solving such issues.
- Какие memory leaks тебе удалось найти и что для их поиска ты использовал?
- Same origin policy, CORS
- Different types of XSS?
- How do you prevent XSS?
- Content Security Policy headers values, quote few examples?
- How would you initiate manual security code review of Node.js applications?
- Please compare pros and cons for Single-page and Multi-page application approaches.
- Can you provide examples of GoF/GRASP patterns used on your project? Do you know what SOLID principles means?
- Why are design patterns are good?
- What is good architecture? What are the goals that architecture tries to solve?
- What MV*-like architectural patterns do you know? Have used any? What are the differences?
- What is Flux? What's the difference from MV*-like approach?
- Redux vs Flux - differences?
- What is IoC?
- Which software architecrure treds you faced with? Docker and microservices?
- What criterias you will use to select technologies for your project?
- How you will you design/implement 2-way binding without 3rd party libraries and frameworks? Which patterns you will use?
- How you will improve functionality of 3rd party library on your project?
- Single page applications - how do you think why are they so popular now? What are good/bad things about server-side & client-side rendering?
- What do you think about isomorphic applications? What are their benefits? What problems can they cause?
- What design patterns you are using mostly in your code?
- What is the use of design patterns? What problems do they solve? How can they help in communication?
- Could you mention a few design patterns you usually use in your front end code?
- Расскажи чем отличаются MV* паттерны? Назови их реализации на примере фреймворков.
- Расскажи побольше про какие-нибудь паттерны, которые тебе приходилось использовать?
- What is the main difference from your point of view between JS framework XXX and YYY.
- What are benefits and shortcomings of AngularJS, what do you like in 2.0 (if know)
- What is(are) killer feature(-es) of Angular JS, what would you personally highlight in this technology?
- Declarative vs Imperative programming in its application to Angular and/or HTML/CSS/JS apps. Shortcomings and benefits of each approach.
- How would you convince me to change my webapp to use Angular.js if I were a customer and I didn’t know anything about technical details?
- Your favorite FE framework.
- Представь, что тебе нужно подобрать фреймворк для проекта. На чем ты будешь основываться при его выборе?
- Если пилишь свой фреймворк на проекте. Выбери любой из тебе знакомых (AngularJS, Backbone, ect) и сравни с разрабатываемым. Найди плюсы и минусы. Почему выбор пал на разработку именно кастомного фреймворка.
- How do you rate candidates? What skills do you rate as the most important for the company?
- How do you prepare for the interview? Do you use tricky questions or practice tasks?
- Describe how would you interview people for the certain project. What kind of questions or topics are most important to get the right candidate?"
- What are the most important things for you in the feedback for the intreviewee
- Have you participated in technical interviews? If yes, what was the most challenged question from you?
- What was the most difficult/interesting/exciting about mentoring new people?
- We've seen in your PRF that some of your mentees failed to complete the course. Could you describe why and propose how to avoid such situations in future
- Besides the university trainee program have you had the chance to lead a team or some people yet? How did you start ramping-
- What are those skills which make you a good mentor?
- Could you please describe the University Trainee Program? What was your role?
- What results of mentoring (for yourself) can you mention?
- Team management: how to ensure, team is on track, how to delegate tasks
- Roman, imagine the conflict situation in your team: 2 specialists discussed 2 different approaches and this technical issue became personal conflict. Your actions?
- Roman, you wrote that one of your goal is to take a role of JS/FE Technical Lead. Can you explain what responsibilities you do on this Project as a TL?
- How would you handle a conflict between two skilled developer in your team regarding preferred coding style?
- What would you do if one of your team mates unexpectedly become ill for two weeks? How would you reduce the negative effect in such situation?
- How do you share your knowledge across the team and abroad? Is it some tech-talk sessions, or workshops, or trainings, or you just come to each person in case of any difficulties and come up with the solution together?
- How do you check that your team development work is on the right track?
- As a lead developer is it your responsibility to check whether your team members follow the processes?
- How do you handle conflicts?
- How do you think what was the quality, which helped you to achieve leading role? How did you managed to accomplish this, convinced others that you are the person to play a lead role.
- What would you do if customer comes to you with a big and challenging task and says “I want it to be done in a week”, but even your raw and optimistic estimate tells you that it will require at least 2 weeks?
- Your customer wants a new feature to be done, which requires usage of some absolutely new technology which you have no idea about. Your actions in this case?
- What does your ramp-up process looks like? How would you optimize it?
- How do you manage motivation issues in case of your team and in case of yourself, if any?
- Explain delegation process, how you delegate tasks to team members?
- Have you ever chance to increase the performance of your team? What would you do if you need to speed up development process in your team?
- What was the most difficult in communication with customer? How did you deal with communication issues?
- Please describe the most popular problems you faced working with customers and how you sorted them out?
- How does your team agree ideas? How conflicts are mitigated.
- What does transparency mean to you in terms of project managing?
- Have you ever had the chance to influence a decision?
- Imagine situtation: your customer would like to use some outdated technology which not you and not your team would like to use. What will you do?
- “Provided a "third-party free" solutions” - how you choose them and promote to customer. (tricky question about licences).
- How do you handle the situations when some member of your team comes to you with difficulties he faced, but you are overwhelmed with work?
- Describe your actions when customer wants a new feature, and hesitating which way to go - adapt already existing CMS system, or write everything from a scratch.
- Customer requests to migrate Desktop version of the product to mobile devices. Could you please describe your specific questions?
- Some developer from project you technically lead/coordinate came to you with proposal to apply ES6 (ECMA2015). Your actions? Will you reject that proposal? Apply? Why it worth or not worth to apply?
- Методология скрам. Стори поинты. + как вы эстимируете таски-стори на проекте.
- How do you estimate your tasks?
- What criterias you will use to prioritize tasks between you and your mentee/subordinates?
- What differences between Scrum and Kanban metodologies. Why Scrum/Kanban/Waterfall is more applicable for you project?
- What you will do in case you see that your original estimation was wrong and you need overtime to finish till deadline.
- Talk about SDLC in context of your project.
- What is the use of Planning & Retrospective meetings?
- In your opinion, why is agile methodology so popular today?
- Could you please explain your current development process? Have you ever thought about switching to another development process (Kanban)? Are there advantages or disadvantages in switching to Kanban?
- Could you please compare kanban and scrum?
- How would you handle the situation when you realize that estimation was wrong and you cannot complete some feature in time?
- Your customer wants a new feature to be done, which requires usage of some absolutely new technology which you have no idea about. Your actions in this case?
- In general, how do you provide user story estimations? Is it story points or just actual time(days/hours)? In your opinion, which approach is better?
- If you underestimated some task and don’t have more time to implement it. What will be your actions?
- Please explain process from getting Visual Design until the approved prototype.
- How do you estimate your tasks?
- What would you do in case you realize that you won’t be able to deliver planned functionality in time and your estimations were wrong?
- How do you prioritize your tasks? How do you estimate your tasks? For example you need to decide which task is more important for you right now. What will you do?
- What sources did you use for keeping you knowledge up to date and learning new thing?
- How do you keep yourself up-to-date?
- What FED technologies do you consider that will be very popular in the nearest future. How do you exploit and promote them?
- self-development - ways, techniques, practices, etc.
- What is your goal to become a senior software engineer?
- What does it mean to be a Senior Specialist? Please explain new challenges and responsibilities.
- What challenges or big goals would you like set for yourself being Cheif Software Engineer
- What concrete problems have you faced so far? Mention a few examples.
- What would you do if you can’t find the solution?
- Please describe your problem solving skill a bit more. What do you exactly do if you face a problem?
- How do you prioritize your tasks? How do you estimate your tasks? For example you need to decide which task is more important for you right now. What will you do?
- What was your most challenging task?
- What Front End technologies have you used recently on your projects?
- How do you improve the quality of your work? How can you be sure that your work is well done?
- Do you perform any technique to manage your time?
- Could you please tell us what your daily routine in the office is like?
- Could you let us know how you usually follow the latest technologies? Can you mention a few example you just read about and being excited to make a try with?
- Have you ever had the chance to improve a process in any area of your work?
- Расскажите о нагружённом и сложном дне за последние 2 недели. Что пошло не так? Как вы с этим справились?
- Были ли у вас демотивированные сотрудники? Расскажите, что вы предприняли, чтобы исправить ситуацию.
You are requested as an architect and technology consultant into project
aiming to manufacture Google Spreadsheets analogue (full-stack solution)
Customer asked to prepare technology stack (both for back-end and front-end) for
the target application (frameworks, libs, bundle and build tools, testing).
Customer also wants to know a vision on possible application architecture.
Opportunity details
Target devices: PC, Tablet*
Target browser: Modern Browsers
Team: 4 persons with different skillsets (D1, D2, D3, D4)
(we don't need to provide a team composition, since it could be one of the questions)
https://github.com/h5bp/Front-end-Developer-Interview-Questions