├── 00_how-to-create-great-questions.md
├── 00_interview-process
└── software-developer.md
├── 01_technical-leadership
└── 01_engineering-manager.md
├── README.md
├── assets
└── javascript-essentials-observables.png
├── backend
└── whiteboard.md
├── clean-code-principles.md
├── closing-the-interview.md
├── computer-science
├── algorithms-datastructure.md
├── class-oriented-programming.md
├── functional-programming.md
└── object-oriented-programming.md
├── devops.md
├── internet-and-browser.md
├── java
├── java.md
└── spring.md
├── javascript
├── history-of-javascript.md
├── javascript-essentials.md
├── nodejs-essentials.md
└── react-js.md
├── personal-assessment
├── 01_get-to-know-questions.md
├── 01_personal-assessment.md
└── 01_remote-working.md
├── sql.md
├── testing
├── testing.md
└── unit-testing.md
├── way-of-working
└── way-of-working.md
└── your-questions
├── divserity.md
└── your-questions.md
/00_how-to-create-great-questions.md:
--------------------------------------------------------------------------------
1 | # How to create great questions
2 |
3 | - [Open vs Closed questions](#open-vs-closed-questions)
4 | - [Remove unconscious bias](#remove-unconscious-bias)
5 | - [Promotion vs Prevention](#promotion-vs-prevention)
6 | - [Avoid opinionated and manipulated Questions](#avoid-opinionated-and-manipulated-questions)
7 | - [The upside about prevention oriented questions](#The-upside-about-prevention-oriented-questions)
8 | - [Be clear about the wording](#Be-clear-about-the-wording)
9 |
10 | ## Open vs Closed questions
11 | - When you ask open questions starting with "what", "how", "when", etc you will often get a lot more information.
12 | - Use closed questions to make sure you understood the candidate and to clarify.
13 |
14 | ## Remove unconscious bias
15 |
16 | ### Promotion vs Prevention
17 |
18 | Prepare yourself, collect questions you think makes the candidate shine and feel comfortable with, no matter what background the candidate has.
19 |
20 | Ask **promotion oriented questions** and prevent to ask **prevention oriented questions**.
21 |
22 | Examples
23 |
24 | Promotion: `Can you tell us a bit about yourself?` vs Prevention: `What type of people do you feel least comfortable with?`
25 |
26 | These two questions have the aim to learn to know the candidate a bit better. The promotion oriented question gives the candidate the chance to shine in things the candidate is good at. The prevention oriented questions makes the candidate react defensive and makes it possible to only talk about negative experiences.
27 |
28 | Promotion: `What's your long-term vision?` vs Prevention: `What do you constantly worry about the most?`
29 |
30 | Both questions aim to find out, where the candidate wants to go and what the next career steps are, only that in the prevention oriented question, the candidate is forced to look back on negative examples.
31 |
32 | Promotion: `What does success look like to you?` vs Prevention: `What do you think is your biggest barrier to success?`
33 |
34 | Both questions aim to figure out, what is important for the candidate and where motivation lies, only that the prevention oriented questions sticks to the negative side. Which is why you will never figure out the positive aspects of the answer.
35 |
36 | ### Exercise
37 |
38 | Ask a colleagues to assist you. Your colleagues will conduct an interview with your and will ask you the promotion oriented questions above. Try to answer them as best as possible and evaluate how you both feel about it.
39 |
40 | Now turn it around. You are the interviewer and you will be asking the prevention oriented questions. Your colleagues needs to answer the questions as best as possible.
41 | Again ask about how you both feel about them.
42 |
43 | ### The upside about prevention oriented questions
44 |
45 | There is only one upside about prevention oriented questions. Next to the chance that it makes the candidate feel defensive and bad, there might be a slight chance a candidate can turn the situation around and create a promotional situation. Statistically those candidates usually score higher in interviews.
46 |
47 | If you use prevention oriented questions, place them well and not too much.
48 |
49 | ## Avoid opinionated and manipulated Questions
50 |
51 | Example
52 |
53 | `What other less used browser APIs/functionality are there, that can have a certain impact?`
54 |
55 | Change to
56 |
57 | `What other browser APIs/functionality do you know?`
58 |
59 | ## Be clear about the wording
60 |
61 | You probably may know yourself what you mean, but the candidate certainly comes from a very different background and does not know you and the words you are usually use to express yourself. Therefore, try to be explicit as possible, use common known expressions and be transparent.
62 |
63 | `What is the big picture that the language has changed in the history?`
64 |
65 | "big picture" is a very fuzzy wording and needs to be explain. In worst case, the candidate needs to ask, what do you actually mean and i can easily turn around the interview process. Remember to make the candidate shine.
66 |
67 | Change to
68 |
69 | `What impact did the language had throughout the history of frontend and backend development?`
--------------------------------------------------------------------------------
/00_interview-process/software-developer.md:
--------------------------------------------------------------------------------
1 | # Interview Process
2 |
3 | ## Get to Know each other
4 |
5 | ### First things
6 |
7 | 1. Thanking for being here and being interested in working at ______
8 | 2. Introductions names
9 | 3. Introduction schedule
10 | 4. Potential recording: Get agreement. It’s for our team members to get to know you and to speed up the process for saying „yes!“
11 |
12 | ### Introduction round
13 |
14 | 1. Company
15 | 2. Interviewer
16 | 3. Candidate
17 |
18 | ### Assessment
19 |
20 | 1. Personal Assessment
21 | 2. Technical Assessment
--------------------------------------------------------------------------------
/01_technical-leadership/01_engineering-manager.md:
--------------------------------------------------------------------------------
1 | # Engineering Manager Interview Questions
2 |
3 | Interviewing an engineering manager is focussed more about the broader spectrum of the product and the company, which is why we will discuss the company, product, processes, communication, teams, people as well as leadership during the interview.
4 |
5 | ## Business and Product
6 |
7 | ### How do you ensure engineering execution?
8 | Ensuring engineering execution is one of their most important jobs.
9 |
10 | “Execution” refers to repeated, on-time, high-quality delivery of things the engineering team is tasked to build. The leader should be able to balance offense (e.g., growing the product, building features, improving performance) with defense (e.g., reducing the bug load, rewriting systems to pay off bug debt, improving efficiency, and reducing cost).
11 | They should provide critical input into the product planning and development process. VPEs are a thought partner for other executive leaders in the company - the CEO, CPO, Head of Sales. They should have an opinion on relative prioritization and technology investments the company makes.
12 |
13 | ### What are your strategies for establishing communication throughout the company?
14 | Communication is a significant part of a VPE’s job.
15 |
16 | They must be excellent at communicating upward, downward, and sideways. They need to manage the CEO, so the engineering team doesn’t get thrashed, they need to communicate to the engineering team, to keep them in the loop and aware of everything going on. They need to be able to talk to clients, to the sales team, to the customer support team. They must be a highly versatile communicator, able to juggle a large variety of audiences and contexts.
17 |
18 | ### Do you have any first ideas how we can improve our market place?
19 | An engineering manager has taken a look into the products and therefore has probably gathered some first ideas about improvements about the product.
20 |
21 | ### In your last company which initiatives have you taken to be more competitive towards other companies?
22 | The engineering manager can shine here and talk about some projects he has influenced. It will show you what kind if influence the engineering manager had and hw pro-active one is.
23 |
24 | ## Team impact
25 |
26 | ### How do you ensure growth and development within your team?
27 | They are responsible for the continued growth and development of the engineering team. Senior engineers need hard challenges in the form of ambiguous but critical problems and leadership opportunities.
28 | Junior engineers need mentorship and challenging work appropriate to their level. The leader should be able to balance a team with the appropriate seniority mix so that everyone has opportunities to learn and grow.
29 | They are responsible for delivering feedback as well as for letting people go when things are not working out.
30 |
31 | ### How would you plan a team when the company is growing?
32 | Hire, hire, hire. If the engineering team is supposed to double or triple over the next 12-24 months, they need to be spending a substantial chunk of their time sourcing, interviewing and closing great talent. They should be able to figure out the organizational structure 12 and 24 months into the future and then hire toward that. They should be able to build up their bench by grooming or hiring the next set of leaders that can take their place.
33 |
34 | ### What are your strategies for team motivation?
35 | They must be able to lead the team when times are good and bad. Keeping morale up when things are rough, keeping the team focused on the highest priority deliverables, helping people feel good about doing some of the most challenging, hard, and impactful work they have done - this all falls upon the VPE.
36 |
37 |
38 | ## Goals
39 |
40 | ### Tell us a bit about your long-term goals
41 | An engineering manager needs to be able to look into the future and have a broad plan about what is to happen. If an engineering manager can not deliver an answer it might be a red flag.
42 |
43 | ## Leading
44 |
45 | ### How would you motivate 20 people do to something for you for free?
46 | An engineering manager needs to be able to motivate people, define goals, align the goals with the team and give purpose.
47 |
48 | ### How would you describe your leading style?
49 | It gives you an insight wether the engineering manager has taken time to figure out about one's way of leading. What motivation one has, what strategies the candidate has created and the personality type. You can compare it with what you need and how it would affect the company culture.
50 |
51 | ### What would you like to change about dealing with employees in the future?
52 | An engineering manager is able to be self-reflective and change his behavior.
53 |
54 | ### How do you react when you see a colleague or a member of your team is falsifying numbers and is basically cheating?
55 | We want to see which disciplinary actions a leading manager would take to address this situation.
56 |
57 | ## Decisions
58 |
59 | ### What are the best and the worst decisions you have made in the past two years?
60 | You will be able to get an insight about how the candidate things and what strategies the candidate will come up with.
61 |
62 | Follow up: What are the learnings of the bad decisions?
63 |
64 | ### Was there ever a situation in which you needed to act against your own principles?
65 | The engineering manager can weight out the evil from the lesser evil and has a sight on what is best for people, product and company.
66 |
67 | ## Values
68 |
69 | ### What does humility mean to you?
70 | The engineering manager can show one's sensitivity and empathy. For a good working environment and company culture we are looking for candidates that are flexible and can show empathy in the right moments, while showing inspiration and motivation in the other moment and take disciplinary actions in again different situation.
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Interview Questions
2 | A collection of questions you can use to prepare for the technical interview. Remember to let the candidate shine and get the strengths out of the candidate and try to be as unbiased as possible.
3 |
4 | # Table of content
5 |
6 | ## Read this first!
7 | - [How to create great questions](./00_how-to-create-great-questions.md)
8 |
9 | ## Interview Processes
10 | - [Software Developer](./00_interview-process/software-developer.md)
11 | - [Closing an Interview](./closing-the-interview.md)
12 |
13 | ## Personal Assessment
14 |
15 | - [Personal Assessment](./personal-assessment/01_personal-assessment.md)
16 | - [Get To Know Questions](./personal-assessment/01_get-to-know-questions.md)
17 | - [Remote Working](./personal-assessment/01_remote-working.md)
18 |
19 | ## Technical Assessment
20 |
21 | ### Computer Science
22 |
23 | - [Algorithms and Datastructure](./computer-science/algorithms-datastructure.md)
24 | - [Object Oriented Programming](./computer-science/object-oriented-programming.md)
25 | - [Class oriented Programming](./computer-science/class-oriented-programming.md)
26 | - [Functional Programming](./computer-science/functional-programming.md)
27 |
28 | ### Way of working
29 |
30 | Note: Softskills are not about asking, how someone does a code review, how well someone understand Scrum, or how someones tests code. Softskills are about behavior and communication. Therefore these topics are separated in way of working and personal assessment. Any you see, way of working is sorted under technical assessment.
31 |
32 | - [Way of working](./way-of-working/way-of-working.md)
33 |
34 | ### Javascript
35 |
36 | - [Javascript Essentials](./javascript/javascript-essentials.md)
37 | - [History of Javascript](./javascript/history-of-javascript.md)
38 | - [NodeJS Essentials](./javascript/nodejs-essentials.md)
39 | - [ReactJS](./javascript/react-js.md)
40 |
41 | ### Java
42 |
43 | - [Java](./java/java.md)
44 | - [Spring](./java/spring.md)
45 |
46 | ### Testing
47 |
48 | - [Testing](./testing/testing.md)
49 | - [Unit Testing](./testing/unit-testing.md)
50 |
51 | ### Internet
52 |
53 | - [Internet and Browser](./internet-and-browser.md)
54 |
55 | ### Backend
56 | - [Whiteboard](./backend/whiteboard.md)
57 |
58 | ### SQL
59 |
60 | - [SQL](./sql.md)
61 |
62 | ### DevOps
63 |
64 | - [DevOps](./devops.md)
65 |
66 | # Technical Leadership
67 | - [Engineering Manager](./01_technical-leadership/01_engineering-manager.md)
68 |
69 | # Time for your questions
70 |
71 | Also you should know, if the company fits to you. In this repository you find plenty of questions, to figure out, how the environment looks like.
72 |
73 |
74 | - [Your questions](./your-questions/your-questions.md)
75 | - [Diversity](./your-questions/divserity.md)
76 |
--------------------------------------------------------------------------------
/assets/javascript-essentials-observables.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BirgitPohl/interview-questions/793c32efbc2e3b51c06f7f3442d484f1e19e47d2/assets/javascript-essentials-observables.png
--------------------------------------------------------------------------------
/backend/whiteboard.md:
--------------------------------------------------------------------------------
1 | ## Please can you explain in as much detail as you like how a web browser gets a generated page?
2 | 1. How does the request reach the backend application?
3 | 2. What kind of components are involved and how is a response generated?
4 | 3. Describe an arbitrary REST API endpoint.
5 | 1. How do you define the packages?
6 | 2. Rest Controller, Service, Repository, Dao
7 | 3. What kind of HTTP methods would you implement?
8 |
9 | ## If you need to store a "city" object, what kind of database would you use?
10 |
11 | ## What do you understand under database normalization?
12 |
13 | # Testing
14 | i. Unit Tests
15 | 3. Integration Tests
16 | 4. End-to-end tests
17 | 5. What kind of classes would you test with which kind of test?
18 | v. What are the benefits of each kind of tests? vi. Experience with TDD/BDD in any project?
19 | 1. What is your personal choice?
20 |
21 | # API
22 | ## What kind of characteristics make up a "good" API for you?
23 | 1. Create a draft of the classes involved in such an endpoint.
24 | 2. How could the underlying database model look like?
25 | 3. What kind of things would you test in such an environment?
26 | 4. How many Unit/Integration/End-to-end tests would you write?
27 |
28 | ## What does idempotency mean in REST APIs?
29 | 1. What are the pros
30 | 1. Fast and continuous improvements i. Versatile: different tech stacks
31 | 2. Continuous Delivery iii. Resilience
32 | 3. Scalability
33 | 4. Faster time to market
34 | 2. Cons
35 | 1. How do you slice micro-services?
36 | 2. System integration tests are more difficult
37 | 3. Management of too many micro-services is difficult
38 | 4. Architecture is hard to do right
39 |
40 | 3. Ways of communication between micro-services?
41 | 1. APIs, remote procedure calls, event bus
42 | 4. How could the data flow look like, starting with the HTTP request?
43 |
44 |
45 | ## Let's dive in deeper into the backend, assuming there is Kubernetes cluster or NGINX with a Spring Boot application:
46 | 1. Describe some pros/cons of a micro-service architecture.
--------------------------------------------------------------------------------
/clean-code-principles.md:
--------------------------------------------------------------------------------
1 | # Clean Code Pinciples Questions
2 |
3 |
4 | ## 6 Figure Software Engineering Principles To Know
5 |
6 | - SOLID - Single Responsibility, Open-Closed, Liskov, Substitution, Interface Segregation, Dependency Inversion
7 | - KISS - Keep It Simple, Stupid
8 | - DRY - Don’t Repeat Yourself
9 | - YAGNI - You Aren’t Gonna Need It
10 | - SOC - Separation of Concerns
11 |
12 | -----
13 |
14 | ## What does open–closed principle mean? How does that relate to class design?
15 | Something is open for extension/change by consumers without having to change the source code or public interface.
16 |
17 | Functionality can be altered by the consumer by means of passing configurations and dependencies.
18 |
19 | Can be over engineering, could introduce unnecessary complexity.
20 |
21 |
22 | ## What is your idea of Clean Code?
23 |
24 | ## In what kind of software aiming to follow open–closed principle is especially valuable?
25 | Framework kind of software.
26 |
27 | Widely reused code, with larger consumer base.
28 |
29 | When breaking changes are expensive, the extra complexity introduced by making things configurable and dynamic is more likely to pay off.
30 |
31 | ## Do you know the S.O.L.I.D. principle?
32 |
33 | ## Do you know the Separation of Concerns principle?
34 |
35 | ## What does Single Responsibility Principle mean?
36 | There is only one thing a function or method does.
37 |
38 | There is only one reason for something to change.
39 |
40 | Maybe a change could have been avoided by allowing extendability, by config? Maybe too many things were hard coded?
41 |
42 | ## Do you have any non-mainstream views in programming practices?
43 | Your expectations
44 |
45 |
46 |
--------------------------------------------------------------------------------
/closing-the-interview.md:
--------------------------------------------------------------------------------
1 | ## Question time
2 |
3 | Give the candidate enough time for questions.
4 |
5 | 🔥 Tip: Arrange your calendar, that you can expand the time. Give 30 minutes more than expected.
6 |
7 | ## Feedback round
8 | 1. Was it too technical or too abstract?
9 | 2. Can you give me some feedback on the interview approach? b. Do you have any suggestions on how this could be improved?
--------------------------------------------------------------------------------
/computer-science/algorithms-datastructure.md:
--------------------------------------------------------------------------------
1 | # Algorithms and Data Structure
2 |
3 | ## Pick your favorite sorting algorithm and explain it to me as if I was a non-technical person or student in 1st semester.
--------------------------------------------------------------------------------
/computer-science/class-oriented-programming.md:
--------------------------------------------------------------------------------
1 | # Class Oriented Programming Questions
2 |
3 | ## What makes a good class?
4 | Obvious naming
5 |
6 | Allow consumer to inject dependencies -> more open for extending, could make unit testing easier, as it decreases mocking tool dependencies.
7 |
8 | Only expose publicly what is needed.
9 |
10 | make use of the built in getter/setter found in many languages.
11 |
12 | Consider how the functionality be extended, without having to change the class.
13 |
14 | A class should have as few responsibilities as possible.
15 |
16 | ## If you were writing a tutorial "How to write a bad class", what would you write in there?
17 | Your expectations
--------------------------------------------------------------------------------
/computer-science/functional-programming.md:
--------------------------------------------------------------------------------
1 | # Functional Programming Questions
2 |
3 | ## What makes a good function**
4 | Obvious naming.
5 |
6 | Should do a single thing (SOC) (write a file, append sections to a document, generate a section of a document, ...).
7 |
8 | Should be pure if feasible.
9 |
10 | ## If you were writing a tutorial "How to write a bad function", what would you write in there?
11 | Your expectations here
--------------------------------------------------------------------------------
/computer-science/object-oriented-programming.md:
--------------------------------------------------------------------------------
1 | # Object Oriented Programming Questions
2 |
3 | ## Can you explain OOP, Functional Programming, and Procedural programming to me? What do you prefer and why?
4 |
5 | ## What's your favorite design pattern?
6 |
7 | ## What's your least favorite anti pattern?
--------------------------------------------------------------------------------
/devops.md:
--------------------------------------------------------------------------------
1 | # Devops
2 |
3 | ## CI/CD
4 |
5 | ### What kind of build steps would you define writing a pipeline?
6 | TODO answer here
7 |
8 | ### Do you have experience with Kubernetes Deployments and how it works?
9 | TODO answer here
10 |
11 | # AWS
12 |
13 | ## SHORT:
14 | Explain in SQS a deadletter queue to me
15 | What is ECS and how is it used with ECR?
16 | Why does a S3 bucket needs to have a globally unique name?
17 | What is a VPC? What are IAM and (N)ACLs in this regard?
18 |
19 |
20 | ## LONG AWS:
21 | Given the situation that we need to rapidly need to build an application to handle the following:
22 | A partly Germany / partly US based customer of ours runs several eCommerce sites in AWS which should all be connected to a single API and persisting sensitive data. The API needs to be written. The current rates are in total 20000 visitors per day per site and 5000 req/s – however since the customer aims to enlarge their company it is quite likely that this needs to scale in the next month and years.
23 |
24 | The data should be able to be easily taken and to be analyzed and displayed to the customer. What tooling would you use for that?
25 |
26 | Also the customer complains about performance of the website. Especially the initial loading time is in some areas in the US quite terrible.
27 | What would you advise him to do?
28 |
29 | How should the initial overall architecture look like from your pov?
30 |
31 | # Azure
32 |
33 | What is a logic app?
34 | What is a timer trigger in Azure functions?
35 | What is a data factory and what are pipelines here?
36 |
37 | # GCP
38 |
39 | When would you use Cloud functions and when App Engine?
40 | When would you use Firebase over GCP?
41 |
42 |
43 | General to Cloud Platforms
44 | Explain to me event streaming in cloud platforms
45 | What makes serverless functions so powerful?
46 |
47 | Last question: How much should you charge to wash all the windows in Munich?
48 | Or Techie: How much RAM is in the Frankfurt AWS data centre a and b
--------------------------------------------------------------------------------
/internet-and-browser.md:
--------------------------------------------------------------------------------
1 | # The Internet Questions
2 |
3 | ## Can you tell me what CORS are?
4 | - HTTP header based mechanism
5 | - allows a server to indicate any other origin (domain, scheme, port) than its own which a browser should permit loading of recourses
6 | - browser can make a "preflight" request to a server hosting the cross-origin resource, in order to check that the server permit an actual request
7 | - browser sends headers that indicate HTTP method and header will be used in the actual request
8 |
9 | ## Can you give me an example for a cross-origin request?
10 | `https://domain-a.com` uses `XMLHttpRequest` to make a request for `https://domain-b.com/data.json`.
--------------------------------------------------------------------------------
/java/java.md:
--------------------------------------------------------------------------------
1 | ## How is serialization realized in Java?
2 | TODO: answer here
3 |
4 | ## What is hashCode and equals in Java?
5 | TODO: answer here
6 |
7 | ## How does garbage collection work in Java? Different memory allocations?
8 | TODO: answer here
9 |
10 | ## Follow up: Stack and Heap memory in Java?
11 | TODO: answer here
12 |
13 | ## What good/bad experiences have you made with Hibernate?
14 | TODO: answer here
15 |
16 | ## What's the difference between JPA and Hibernate?
17 | TODO: answer here
18 |
19 | ## How much experience do you have with Java Streams?
20 | TODO: answer here
21 |
22 | ## Kotlin Experience? What do you like about Kotlin vs Java?
23 | TODO: answer here
24 |
25 | ## What was the most complex multi-threading problem that you have ever worked on?
26 | TODO: answer here
27 |
28 | ## Please explain how Java Hibernate works.
29 | TODO: answer here
30 |
--------------------------------------------------------------------------------
/java/spring.md:
--------------------------------------------------------------------------------
1 | ## Which Spring modules have you worked with?
2 |
3 | 1. Security, Spring Data JPA, Spring WebMVC, ...
4 |
5 | ## Can you explain how Spring dependency injection works?
6 |
7 | 1. Explicit nullable definitions, Boilerplate, more expressive
8 |
9 | 2. Can be web application/database transactions/inter-service communication etc.
--------------------------------------------------------------------------------
/javascript/history-of-javascript.md:
--------------------------------------------------------------------------------
1 | # History of Javascript
2 |
3 | ## Give an overview of what happens under the hood in 1999 when a user used a web site. What different technologies, software is involved? Which standards/protocols are relevant?
4 | Server used to send rendered/static HTML documents. Clicking a link caused a request for a new url and the server to generate a new HTML document. The browser reloaded that.
5 |
6 | ### What did jQuery changed about 1999?
7 | Candidate should mention that jQuery was a tools to make the fetching and appending stuff to an existing DOM easier.
8 |
9 | Bunch of tools to make manipulating existing DOM easier.
10 |
11 | Tools to make it easier to perform requests for just fetching the data.
12 |
13 | Fetching data became more independent of fetching page. Likely the user triggers the fetch, using visible **HTML** elements in the DOM. These visible elements are hooked up to Javascript which instructs browser using browsers API, to perform a http(s) network call. Possibly defining the details of what is to be fetched.
14 | When response comes, browser invokes the callback func in js that modifies the DOM.
15 |
16 | ### What did Modern Javascript frameworks changed 1999
17 | Candidate should see that the frameworks were a tool to structure bigger client application. Also the rapid re-rendering due to shadow DOM should be mentioned.
18 |
19 | Frameworks made it easier to structure bigger applications.
20 |
21 | The whole client could be loaded at once. Visual part of the UI, could change rapidly as the whole client application lives in the memory of the browser. Usage of shadow DOM made UI updates very rapid. React made it easy to use shadow DOM.
22 |
23 | ## How did the advent of modern framework changed about frontend/backend responsibilities? Candidate should see that the work that was done in backend is now done in frontend.
24 | Lots of business logic changed to the frontend.
25 |
26 | Modern web applications are like desktop applications, they can be cached and saved to consumer's browsers and backends are purely functioning to feed the data.
27 |
28 | ## What are the more often used browser APIs?
29 | URL, fetch, DOM manipulation, storing of data, cookies, local storage, indexed db
30 |
31 | ## What other browser APIs/functionality do you know?
32 | This measures how curious the candidate is.
33 |
34 | Service workers combined with indexed db, request intercepting and caching, web assembly
35 |
36 | ## What is css-in-js
37 | Your expectations here
38 |
39 | ### What are the advantages of it?
40 | Your expectations here
41 |
42 | ### What are the disadvantages of it?
43 | Your expectations here
--------------------------------------------------------------------------------
/javascript/javascript-essentials.md:
--------------------------------------------------------------------------------
1 | # Javascript Essentials
2 |
3 | ## What is the difference between var, let and const?
4 |
5 | ### var
6 | Scope: Function-scoped. If declared inside a function, it is accessible within that function. If declared outside, it is globally scoped.
7 | Hoisting: Variables declared with var are hoisted to the top of their scope and initialized with undefined.
8 | Re-declaration: Can be re-declared within the same scope without errors.
9 |
10 | ### let
11 | Scope: Block-scoped. It is only accessible within the block (e.g., {}) where it is declared.
12 | Hoisting: Variables declared with let are hoisted but not initialized. Accessing them before declaration results in a ReferenceError.
13 | Re-declaration: Cannot be re-declared within the same scope.
14 |
15 | ### const
16 | Scope: Block-scoped, similar to let.
17 | Hoisting: Variables declared with const are hoisted but not initialized. Accessing them before declaration results in a ReferenceError.
18 | Re-declaration: Cannot be re-declared within the same scope.
19 | Assignment: Must be initialized at the time of declaration and cannot be reassigned. However, if the variable is an object or array, the contents can be modified.
20 |
21 | ### Example
22 | ```js
23 | function example() {
24 | var x = 1;
25 | if (true) {
26 | var x = 2; // Same variable, re-declared
27 | console.log(x); // 2
28 | }
29 | console.log(x); // 2
30 |
31 | let y = 1;
32 | if (true) {
33 | let y = 2; // Different variable, block-scoped
34 | console.log(y); // 2
35 | }
36 | console.log(y); // 1
37 |
38 | const z = 1;
39 | if (true) {
40 | const z = 2; // Different variable, block-scoped
41 | console.log(z); // 2
42 | }
43 | console.log(z); // 1
44 | }
45 | ```
46 |
47 | ## Can you explain `Closures` to me?
48 | [Mozilla Developer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures)
49 |
50 | A closure is the combination of a function bundled together (enclosed) with references to its surrounding state (the lexical environment). In other words, a closure gives you access to an outer function’s scope from an inner function. In JavaScript, closures are created every time a function is created, at function creation time.
51 |
52 | ## What is currying?
53 |
54 | [Currying Partials](https://javascript.info/currying-partials)
55 |
56 | Currying is a transform that makes f(a,b,c) callable as f(a)(b)(c). JavaScript implementations usually both keep the function callable normally and return the partial if the arguments count is not enough.
57 |
58 | Currying allows us to easily get partials. As seen in a logging example, after currying the three argument universal `function log(date, importance, message)` gives us partials when called with one argument (like `log(date)`) or two arguments (`like log(date, importance)`).
59 |
60 | ```javascript
61 | function curry(func) {
62 |
63 | return function curried(...args) {
64 | if (args.length >= func.length) {
65 | return func.apply(this, args);
66 | } else {
67 | return function(...args2) {
68 | return curried.apply(this, args.concat(args2));
69 | }
70 | }
71 | };
72 | }
73 |
74 | // USAGE
75 |
76 | function sum(a, b, c) {
77 | return a + b + c;
78 | }
79 |
80 | let curriedSum = curry(sum);
81 |
82 | alert( curriedSum(1, 2, 3) ); // 6, still callable normally
83 | alert( curriedSum(1)(2,3) ); // 6, currying of 1st arg
84 | alert( curriedSum(1)(2)(3) ); // 6, full currying
85 | ```
86 |
87 |
88 |
89 | # Memoization
90 |
91 | ## Given a recursive function call, what could you use in Javascript to optimize this?
92 | MEMOIZATION
93 |
94 | ## When would you use memoize function?
95 | When computing is very expensive.
96 | Saving time and computing power.
97 | Re-use of already calculated results.
98 |
99 |
100 |
101 | # Compositional
102 |
103 | ## Can you ecplain me the difference between `compose()` vs `pipe()`?
104 | [Medium: Pipe and Compose](https://medium.com/free-code-camp/pipe-and-compose-in-javascript-5b04004ac937)
105 |
106 | `PIPE:`
107 | Multiple functions executed one after another, where the next one is taking the return value of the previous one.
108 |
109 | ```javascript
110 | pipe = (...fns) => x => fns.reduce((v, f) => f(v), x)
111 | ```
112 | Usage:
113 | ```javascript
114 | pipe(
115 | getName,
116 | uppercase,
117 | get6Characters,
118 | reverse
119 | )({ name: 'Buckethead' })
120 | // 'TEKCUB'
121 | ```
122 |
123 | `COMPOSE:` is the same like `pipe`, but the other way around. It starts from the other side.
124 |
125 | ```javascript
126 | compose = (...fns) => x => fns.reduceRight((v, f) => f(v), x);
127 | ```
128 |
129 | ```javascript
130 | compose(
131 | reverse,
132 | get6Characters,
133 | uppercase,
134 | getName,
135 | )({ name: 'Buckethead' })
136 | ```
137 |
138 |
139 |
140 | # Observables
141 |
142 | ## What is the difference between flatMap, concatMat and switchMap?
143 |
144 | - `flatMap/mergeMap` - creates an Observable immediately for any source item, all previous Observables are kept alive
145 | - `concatMap` - waits for the previous Observable to complete before creating the next one
146 | - `switchMap` - for any source item, completes the previous Observable and immediately creates the next one
147 | - `exhaustMap` - source items are ignored while the previous Observable is not completed
148 |
149 | ![observables][observables]
150 |
151 | [observables]: ./assets/javascript-essentials-observables.png "Observables"
152 |
--------------------------------------------------------------------------------
/javascript/nodejs-essentials.md:
--------------------------------------------------------------------------------
1 | # NodeJS Essentials
2 |
3 | ## Can you explain to me why NodeJS is so often considered as a backend technology, what makes it great?
4 |
5 | ## Can you explain the job of the V8 Engine in the NodeJS runtime is to me?
--------------------------------------------------------------------------------
/javascript/react-js.md:
--------------------------------------------------------------------------------
1 | # ReactJS Interview Questions
2 |
3 | ## What does controlled/uncontrolled component mean?
4 | The candidate should show the understanding that, in UI elements, like the fields, the data can be handled by the DOM or by React. The candidate would ideally say that in any regular case there is no need for uncontrolled component as it has lots of disadvantages and likely introduces need for hacks.
5 |
6 | **Senior/Lead**
7 |
8 | A senior/lead could additionally mention that one justified use case is a third party libraries when "old world" is mixed with a React apps.
9 |
10 |
11 | ## What are props? What can they be used for?
12 | The candidate should mention that they can be used to introduce variability to a component, in same way like a function can take parameters. The candidate would ideally make it clear that functions and other components can and commonly are passed in props.
13 |
14 | **Senior/Lead**
15 |
16 | For a candidate interviewing for a senior/lead not mentioning about passing of components for reusability can be bit of a red flag, especially if the interviewer asks, "what else for" in case that the candidate does not mention it self. So ideally the candidate says something like: Passing of components can be very useful in cases of reusable components. One example could be tables, where some functionality is common, but the rows for example could have their own components. It would be really nice if the candidate mentions in this context the usage of TypeScript types and draws a connection to dependency injection.
17 |
18 |
19 | # Functional vs OOP in ReactJS
20 |
21 | ## Could a React component be seen as a pure function? What if it is class based?
22 | Ideally here the candidate says that yes, it can and it is encouraged. The fact that a component is class based does not change this. Candidate should say that the output in both cases can solely depend on the input. The candidate is likely to mention that the benefit is that the component is easier to debug and test.
23 |
24 | ## If you code a React component (UI, like button or a field) as a pure (as in pure function), but it still needs a state, how could you do it?
25 | This should lead to the candidate to mention about placing the state outside of the UI components. As an example: a form and its fields, the state of the fields could be stored in the form components state (or it's redux state).
26 | If the candidate suggests a pattern, where every UI component ( `Table`, `Dropdown` ...) has its own place in Redux state, this could be seen as an anti-pattern. It would be good to ask for more details in this case.
27 |
28 | ## Why did ReactJS introduced hooks and functions additionally to classes? What is the benefit here from your perspective?
29 | Additional features, backward compatibility is ensured when still using object-oriented writing.
30 |
31 | Under the hood, OOP had a functional nature. There is an output from the render() function.
32 |
33 | Immutability: You can read props, but not change them.
34 |
35 | Unidirectional data-flow.
36 |
37 | HOC and HOF allow re-usability
38 |
39 | States are being handles by the application, functional components avoid that. Component only depends on the props. You can isolate states in HOC and pass props to functional components.
40 |
41 |
42 | -----------
43 |
44 | ## If this state depends on different parts of the app. What ways there are to access the other parts of the state?
45 | The states can be moved higher in component hierarchy, to common ancestors. So that the business logic can easily access the state of the other parts of the app. Ideally big portion of the business logic lives in actions, reducers, further away from the react containers and components.
46 |
47 | ## What is a Higher-Order Components (HOC)? Could you name any common HOC that you are using with redux or anything else if you are not using redux?
48 | HOC is a composition pattern that takes a component and returns an augmented version of that component. So it can add common features to a component.
49 | Good example from redux: `connect()` creates a HOC that is used to map state and the action creators to the component.
50 |
51 | # State Management
52 |
53 | ## What is FLUX?
54 | Flux is the key architecture that facebook engineers spoke about when introducing React as a pattern to manage the state.
55 | The candidate should show the understanding of the unidirectional data flow. Components just render based on what is in the state, and various actions can change that state.
56 |
57 |
58 | ### Follow up question: Describe this in case that the user types text in a field.
59 | The candidate could say something like: The `onchange` of fields invokes a function that gets `event.target.value` that is passed to the state. That change in the state re-triggers a `rerender`, passing the latest value from the state through props to the input element's `value`.
60 |
61 | ## What would somebody want to use Redux or MobX?
62 | When the state gets big, these could provide a structure and useful utilities to keep things more structured and predictable. The candidate could mention here that they bring lots of boilerplate code, but still the benefits they offer should over weight the extra code, especially in non trivial applications.
63 |
64 | ## What are the alternatives to these state management libraries?
65 | Reacts own state and props drilling/context API.
66 | StateX - Turing machine inspired state management.
67 |
68 | ## What is common between the state of the app and functional programming term such as immutable value, pure function?
69 | The state is never mutated, we always reduce the new state using the existing state and the delta.
70 |
71 | ## What is the task of a reducer in Redux?
72 | They perform this specific definitions of how the resulting state will be, based on the existing state and the newly received delta.
73 |
74 | ## Why would somebody want to use a library for managing side effects?
75 | - By nature the the reduces are synchronous. Facebook's Flux description says _Where dependencies do occur between stores, they are kept in a strict hierarchy, with synchronous updates managed by the dispatcher._.
76 |
77 | ## How do you prefer to structure the state?
78 | This is pretty open ended an many answers can be debated. But in my opinion the ideal way is to follow these rules:
79 | - strictly no duplication, eliminate this by always moving higher in hierarchy.
80 | - State models more closely the App and the UI than the DTOs and entities. As likely less data transforming is needed (done as a part of fetching and not in containers).
81 | - Be structured and develop a convention regarding the deltas dispatched by actions.
82 | - Don't try to save code if it compromises predictability. This often times mean the templatation to start using containers state instead of redux. It is easy to miss a future need to interact with something in the state that is not available in container state and makes a hack or a refactoring required.
83 |
84 | ## Do you mix React state and state management library?
85 | The candidate would ideally mention saving coding and being lean but being aware that this brings the risk to miss a future need to interact with something in the state that is not available in container state and makes a hack or a refactoring required.
86 |
87 | # Testing
88 |
89 | ## How do you test a React app?
90 | The candidate should explaining about testing components, snapshot testing, testing utils, testing actions and reducers. E2E testing by driving the browser. Demonstrate the understanding of need for mocking.
91 |
92 | ## What does open–closed principle mean? How does it relate to ReactJs?
93 | Making UI components very configurable.
94 |
95 | Passing components with props to allow more fine grained configurability.
96 |
97 | ## Can you give an example for Single Responsibility in ReactJS?
98 | # TODO Your expectations here
--------------------------------------------------------------------------------
/personal-assessment/01_get-to-know-questions.md:
--------------------------------------------------------------------------------
1 | # Get To Know Questions
2 |
3 | ## Strength and weaknesses
4 |
5 | ### What are your strengths?
6 | The candidate needs to deliver 4-8 strengths. You will be able to match them with the job offer.
7 |
8 | ### What are your weaknesses?
9 | The candidate delivers 4-6 weaknesses with examples. You will need to ask yourself, if one of the weaknesses is a no-go.
10 |
11 | Be aware that this might be a prevention based question.
12 |
13 | ### What was your biggest success in your working career?
14 | Another chance to shine for the candidate. You will be able to figure out how the candidate will come up with great ideas and how one is able to convince others to go for one's ideas.
15 |
16 | ### What have you been criticized for in the last four years? Do you think the feedback was right?
17 | It shows you how self-reflective and self-aware the candidate is. Does the candidate have no answer, it might be a red flag. It shows you as well how well the candidate it taking criticism and what strategies the candidate is taking to tackle them.
18 |
19 | Be aware that this might be a prevention based question.
20 |
21 | ### What properties do you have that makes you appear successful?
22 | We will learn to know the best attributes, skills and strengths a candidate will present us. We can compare them with what we need.
23 |
24 | ### What do other people value about you?
25 | We will get an insight of what other people think about the candidate. Usually there is a gab between what image the candidate has from oneself and what other people think about the candidate. If the candidate is not aware of it, it might be a red flag.
26 |
27 | ### How creative are you?
28 | Usually a designer question, not! Creativity is a way of problem solving. You want to see how flexible a candidate is in terms of problem solving situations. Does one take analytical and data driven approaches, or is one taking a new road and tries to be innovative?
29 |
30 | ### Would you describe yourself as a visionary or pragmatic person?
31 | Compare the answer with what you need for the role.
32 |
33 | ## References
34 |
35 | ### Who were your 5 last bosses and how would you rate them? 1 bad and 5 great.
36 | This reveals how well the candidate established a relationship with his supervisors and superiors. You want to look for the 5 rated bosses. 3 rated bosses are already a red flag.
37 |
38 | ### What extraordinary contacts do you have in your network?
39 | The type of people a candidate surrounds oneself reflects a bit about the values a candidate has.
40 |
41 | ## Impact
42 |
43 | ### What influences did have an impact on you?
44 | You will learn to know about what is important for the candidate. Evaluate if this fits to the job description and the company's and team's values.
45 |
46 | ## Goals
47 |
48 | ### Tell me about your goals
49 | The candidate should have an idea about the next career steps and future plans.
50 |
51 | ### What motivation do you have to change your job? Can you give as three reasons?
52 | The candidate can give you two directions. A forward looking direction and a backwards looking direction. If the candidate is looking back, asked further questions about what the candidate would like to change. It will show you how the candidate reflects on the situation.
53 |
54 | ### What workshops and further studies do you plan to attend?
55 | We will see what the candidate has planned for one's career and how one things about developing one's skills.
56 |
57 | ## Expectations
58 |
59 | ### What do you expect from your future employee?
60 | You can compare the expectations from the candidate with what you have to offer. You will be able to know what is important for the candidate.
61 |
62 | ### How close is the position to your ideal expectations? What advantages and disadvantages do you see?
63 | There is plenty of possibilities to be self-reflective about the position you have created, but also learning to know what is important for the candidate. You are able to compare it with the position.
64 |
65 | ### What do you especially like in people you like to work with?
66 | You will figure out, with which type of people the person can work with. You can compare it with the types of your team mates.
67 |
68 | ## Expert knowledge
69 |
70 | ### Which developments did you experience in your expertise area?
71 | It gives insights of how much the candidate informs oneself about the latest developments.
72 |
73 | ### Which developments and challenges do you think will come in the near future?
74 | The candidate shows a sense of needed technology and which new technology is potentially the next one to be adapted.
75 |
76 | ### How do you inform yourself about the lated developments in your area?
77 | A good candidate has a set of strategies to stay up to date. Answers could be workshops, further studies, self-studies, classes, talks, meetups, etc.
78 |
79 | ### Which workshops did you attend in the last year
80 | We check the latest knowledge the candidate has put one's efforts in. It is also a sign wether the candidate takes efforts to develop one's skills.
81 |
82 |
83 | ## Soft Skills
84 |
85 | ### How do you do you update your passwords?
86 | It shows a little bit how reliable the candidate is. A good candidate pro-actively prevents any bad situations that might happen in the future and can b prevented. A great candidate automates it or looks for ways so that machines care about it automatically.
87 |
88 | ### If you borrow an item, how do you usually give it back?
89 | It shows how sensitive a person is about other people.
90 |
91 | ### On which criteria will be see your sense of responsibility in your everyday working life?
92 | The candidate provides some examples about one's strength related to working together and unblocking team mates.
93 |
94 | ## Resilience
95 |
96 | ### Have you been into a situation when you just wanted to quit? How did you get out of it?
97 | We want to see how resilient the candidate is and how one reacts inside a stressful situation. What we want to see is that the candidate is looking for several strategies and that at least some of them have been tried to be executed.
98 |
99 | ### How fast do you get past about defeats and failures?
100 | Can the candidate talk about failures? What was the learning? And how fast does the candidate recover from that? It will show you how stress resistant the candidate is.
101 |
102 | ### How much is the current mood affected by a defeat or success?
103 | You want to work within a good working environment. Therefore it is important to know, if the candidate can cheer people up and prevent own emotions to overcome oneself.
104 |
--------------------------------------------------------------------------------
/personal-assessment/01_personal-assessment.md:
--------------------------------------------------------------------------------
1 | # Personal Assessment
2 |
3 | ## What do you do when you do not work?
4 | There is a saying, if a person can not talk about something else than work, there might be some issues.
5 | We can get to know the person better.
6 |
7 | ## Where did you meet most of your friends? What do you value most about them?
8 | Tells us a bit about the relationship a person is having.
9 |
10 | ## What topic besides Computer Science makes you really excited when you talk about it?
11 | Description and purpose of the question
12 |
13 | ## We have a company team building- and party weekend, where everyone helps and participates. What would be your favorite job here?
14 | Figures out the most comfortable position for the candidate.
15 |
16 | ## How does your current life look like and what do you enjoy most about it?
17 | We will learn about motivations, values and what makes the candidate happy.
18 |
19 | ## Where would you have liked to be now, asking you 5 years ago, (privately and professional)?
20 | We will learn about how a candidate would consider do something better in one's life. Possibly admitting mistakes and how to make them better.
21 |
22 | ## What is a must-have a company should offer that makes you consider working for?
23 | Compare expectations from the candidate with values of the company.
24 |
25 | ## What does Work-Life balance mean to you?
26 |
27 | ## How would you describe yourself in three words?
28 |
29 |
30 |
31 | # Working Environment
32 |
33 | ## How do you share knowledge among the team members?
34 |
35 | ## Describe your perfect working environment!
36 |
37 | ## How would you handle a predominantly female team?
38 |
39 | ## Do you think your previous companies had a problem with gender diversity?
40 |
41 | ## How do you keep yourself updated?
42 |
43 |
44 |
45 | # Communication
46 |
47 | ## What if you get stuck during the sprint?
48 |
49 | 1. Research?
50 | 2. Ask team members?
51 |
52 | ## How do you solve problems under time pressure?
53 | 1. Development triangle: STR-model: Scope, Time, Resources
54 | 2. Re-thinking the Scope?
55 | 3. MVP thinking?
56 | 4. Communication to PO and team members?
57 |
58 | ## What's your first approach to find solutions to a new problem on a general level?
59 | 1. Methodology?
--------------------------------------------------------------------------------
/personal-assessment/01_remote-working.md:
--------------------------------------------------------------------------------
1 | # Remote working
2 |
3 | ## Have your worked remotely before? What is your experience in working remotely?
4 | Candidate should have a bit of working experience in communicating remotely. Over communication is better.
--------------------------------------------------------------------------------
/sql.md:
--------------------------------------------------------------------------------
1 | ## Problem: we have a working app with SQL database on our backend side. At one point, we want to let users see the detailed statistics about the domain of the app. That statistics contains n aggregations, sums, counts, etc. Question: how would you handle that?
2 | Expected answer: SQL Views
3 | Inexperienced answer: handle that in business logic
4 |
5 | ## Problem: We are storing n million rows to one table every day. At the end of a week we want to form some statistics for the previous week. Our query is taking ~20-30 secs. Question: How would you optimize this, reducing the cost of the query?
6 |
7 | Expected answer: There is really no expected answer here. This questions is to check the candidates knowledge, understanding and depth of sql. A high tier answer would be something like:
8 | I'll index the createdAt column in the table
9 | then I'll query and sort by createdAt desc , selecting only rows from previous 7 days
10 | create a material view for the previous query
11 | index the createdAt column in newly created view for even more speed
--------------------------------------------------------------------------------
/testing/testing.md:
--------------------------------------------------------------------------------
1 | # Testing (general) questions
2 |
3 | ## If you were writing a tutorial "How to fail a software project", what would be the top 5 things?
4 | #TODO Please, describe what you expect here
5 |
6 | ## Can you explain to me the terms unit, integration, e2e and fuzzy testing?
7 |
8 | ## What is a smoke test?
--------------------------------------------------------------------------------
/testing/unit-testing.md:
--------------------------------------------------------------------------------
1 | # Unit Testing Interview Questions
2 |
3 | ## What are the key benefits of extensive unit testing?
4 | Refactoring can be performed.
5 |
6 | Functions as a good documentation for somebody wanting to understand functionality.
7 |
8 | Helps think about edge cases and what is needed from unit under test.
9 |
10 | Ensures correctness of the unit under test.
11 |
12 | ## What makes a good unit test?
13 | It is short and tests one aspect.
14 |
15 | When it fails it is quick to understand and obvious why it happened.
16 |
17 | Test strictly something that is the responsibility of the unit under test.
--------------------------------------------------------------------------------
/way-of-working/way-of-working.md:
--------------------------------------------------------------------------------
1 | # Code Review
2 |
3 | ## What is your definition of a good code review?
4 |
5 | ## What if you get stuck during the sprint?
6 | 1. Research?
7 | 2. Ask team members?
8 |
9 | ## How do you solve problems under time pressure?
10 | 1. Re-thinking the Scope?
11 | 2. MVP thinking?
12 | 3. Communication to PO and team members?
13 |
14 | ## What's your first approach to finding solutions to a new problem on a general level? a. Methodology?
15 |
--------------------------------------------------------------------------------
/your-questions/divserity.md:
--------------------------------------------------------------------------------
1 | ## Do you have a problem with gender diversity?
2 | Start with this question. When companies answer with "No! it reveals a lot about how they tackle this and probably any other problem. Gender diversity in tech is a social problem, a bias itself. Every company deals with it. Saying, there is no problem, is just logically a lie. This is a red flag.
3 |
4 | ## What gender distribution/gender-quote do you have in department X?
5 | ## What is the gender quote on management/leadership level?
6 | Companies often have a good gender balance. But often not in your department. Tech, legal, sports, sales usually come with more male employees. HR usually is a female-dominated department. The company should try to find at least a 20% balance. The opposite gender should not be the only team member in a team. It creates friction. In female-dominated departments not so much as in male-dominated departments. The reason is, regardless of our gender, we commonly tend to belittle women. Creating a healthy environment, where people can get used to communicating with other genders will put down communication barriers.
7 |
8 | ## Did those women in leadership start in your company with a leading position or did they grow into it?
9 |
10 | It is good for the company to hire people from the outside to get a fresh perspective. But you also want to see, if the company builds upon the people it already has. So what does the company do, to build a career for their employees?
11 |
12 | ## How do you see diversity in the company?
13 | ## Do you see, or do you have gender diversity as a business case? When do you plan to implement it?"
14 | ## As a company what are you willing to invest, in terms of time and money, for diversity?
15 |
16 | Here it gets serious. Some companies or even some individuals find gender diversity important, but is it built-in into their everyday working life? Individuals will promise you the stars, but then you realize you are heading against a wall when you speak to individuals such as their bosses.
17 |
18 | ## What kind of employee resource groups do you have?
19 | hat gives her an idea if not only the company values diversity and inclusion but also if the employees value it. Yet, everyone can they, they value it.
20 |
21 | ## PAST: What are your recent achievements and near-term goals?Can you give me some examples of specific actions from your team/the company that demonstrate your value of diversity?
22 | ## CURRENT: What active diversity initiatives do you have currently?
23 | ## FUTURE: How do you identify future diversity initiatives?
24 | ## How do you guarantee the alignment of your leadership team with these initiatives?
25 | Check the company out to differentiate between lip service and real values. This goes really deep. Regularly attending women in tech and LGTBQ+ meetups is an advantage. Sponsoring those is even better. This makes sure the company does not only leech the community but also sustains and grows it.
26 |
27 | ## Can you describe clearly an active hiring policy around diversity and inclusion?
28 | ## What are you doing to increase the amount of women working in your tech-teams?
29 | Digging deep here as well, to avoid talking instead of doing, we will find out, what the company has done so far for hiring diverse.
30 | Especially when working in a field such as tech, you often face a majority. A majority, that is so overwhelming, you wonder, why the company hasn't done any efforts yet to balance it out.
31 |
32 | ## Can I meet with a person from an underrepresented group?
33 | ## Can you give me references for a woman who worked in your team?
34 | ## Can I speak with one of your women/nonbinary engineers on my seniority level 1:1?
35 | Ask this if you hadn't yet met a person like this from the interviewer pool. Some companies often don't have anyone available and had to substitute in a designer or PM), which is a signal. If you are a person in tech, you want to speak to a person in tech.
36 |
37 | ## What do you do, if your male employees have a colleague with a female lead? How were previous incidents handled?
38 | Women feel the need to prove themselves. It has a reason: Women are often forced to prove themselves, over and over again. And once they have done that, it is still not enough. Because of (gender) bias, people will find various kinds of reasons, not to like a specific human being. This is a topic of cognitive dissonance. Someone will always find a mistake in another person. You want to know, how the company deals with this type of conflict.
39 |
40 | ## What activities are proactively done by your managers to remove their biases related to diversity and inclusion?
41 | ## Which measurements do you use to make sure this isn't a toxic workplace?
42 | ## Is there any information on how the company sustains and retains diversity?
43 | A question to prove, if a company means it. Observe if they start to think and only find sloppy answers. It means firstly, they haven't thought about reducing biases, and secondly, if they did, they haven't aligned yet.
44 | You also want to know whether the company came up with a strategy on how to raise awareness and sustain diversity. A company can hire pretty much diverse. But how many of them actually stay at that company?
45 |
46 | # Which trainings are mandatory?
47 | # Do you have ever done any biases training?
48 | # What kind of training does management undergo in order to improve communication, especially within to improve diversity?
49 | What does the company actually do, to improve the awareness for how to communicate with someone who is not male, white, and heterosexual? You want to know if the team members are trained regarding [everyday biases](https://birgitpohl.medium.com/how-to-overcome-biases-evaluating-your-employees-969e70f3884a?sk=deb73eb667202191da73f568c22c22ee).
50 |
51 | # How do you and your teammates promote inclusivity day-to-day? Can you provide any specific examples?
52 | Look for topics like meeting etiquette behavior and written forms of communication to ensure it's not an environment where someone with the loudest voice wins.
53 |
54 | # How do you handle maternity leaves?
55 | # How did women coming from maternity progress in their career at your company?
56 | Has the company thought about how a woman would love to get back to the company? Some women would love to get back full-time right away. Some others like part-time. Does the company support day child care?
57 | Also, pregnancy and a single mother carrying for her children are often seen as having less performance. From the company, you want to know, if mothers have the same opportunities as any other person in the company, where many of them could be dedicated fathers.
58 |
59 | # Which criteria does your company use for performance evaluation?
60 | # What is the personal growth strategy at the organization?
61 | A reasonable evaluation makes sure, that you will be evaluated by professional metrics and not by biases. As soon as information is missing, people will fill it in with biases. You want to make sure, that the company is aware of that and has created a path that is equal for everyone.
62 |
63 | ## What is the strategy of organization to create resonant leaders?
64 | Competence over confidence. You want to know how the company selects and grows its leaders. What are the criteria? Check in the gender ratio in leadership.
65 |
66 | ## Do you have a system to report someone? How does it work?
67 | You want to know, what the company does to uncover any unprofessional acts from employees. Topics can be unprofessional comments up to sexual harassment. My blood pressure is still rising hearing the story of one of my mentees. She felt a lot of pressure from her CEO. When she reported this to her CTO it resulted in her being fired, because both of them reasoned, she would create unnecessary negativity inside the company. When you ask this question, dig deeper into how a company would handle a situation like this.
68 |
69 | ## How do you provide mental health support?
70 | Did you ever wonder, why your peer has screamed at you when his country had Corona-lockdown? Did you ever wonder, why your report is working slowly and seems to be psychologically not present? Do you wonder, why your colleague is always reacting defensively? Or why do so many people quit?
71 |
72 |
73 | ## Tell me about the accessibility in your office?
74 | ## Do you have people with disabilities, chronic illnesses and neurodiversity on the team? How do you ensure they feel psychologically safe and are set up for success?
75 | I'm sure many companies simply won't hire anyone who is neurologically different, because they can't even imagine what it means. Another case is, they would think about it as a weakness and think, the person is not able to provide performance as anybody else. We forget, that we put everyone in the same environment. I have seen heavy fire doors, that people with physical disabilities haven't been able to open themselves and I have never seen a concept for people who have ADHD, which is pretty much common. Also, everyone not diagnosed with ADHD has a certain potential to get distracted quite a lot. Who of you has played the Facebook games, when they were big? You don't need Corona to get digitally distracted - Just to raise a bit of empathy. ;)
--------------------------------------------------------------------------------
/your-questions/your-questions.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BirgitPohl/interview-questions/793c32efbc2e3b51c06f7f3442d484f1e19e47d2/your-questions/your-questions.md
--------------------------------------------------------------------------------