Area | Basic algorithms Code structures Frameworks RegExes |
---|---|
Phase 1 (junior, mid) | • Whats a pure function? ◦ static methods? • What are the benefits of MVC? ◦ separating frequently changed code, one-way data flow • How does CPU work in general? • What is space and time complexity? ◦ Take your homework or recursive binary tree reversal as example • When is dependency injection needed? |
Phase 2 (mid, senior) | • What do you think about ORMs? ◦ active record & repository patterns? • What is middleware, when is it used? • How would you write a rough validation of IP and Email inputs without using libraries or frameworks? • What patterns do you know? ◦ factory, builder, singleton, decorator, proxy, adaptor, iterator, visitor, observer.. - Whats the difference between stack and heap? Where are global variables stored? - What is the difference between Error and Exception |
Phase 3 (senior+) | • Whats finite-state machine? • Whats abstract syntax tree? • Lets take php, nodejs and go. How are they handling requests in terms of concurrency? ◦ php-fpm - pool of workers;nodejs - emulation of concurrency with event loop;go - goroutines, full CPU utilization • Lets compare php and C. Both have structures called arrays. How are they different? • How do most languages store float vars? ◦ Is javascript number type the same as go lang's integer? ◦ Why is 0.2 + 0.1 not equal to 0.3? • PHP: what is opcode cache, how does it work? |