How to Join

It is easy to become part of our team

The whole recruitment process takes no more than 2 weeks

Reviewing your resume
Phone interview
Test task
Technical interview
Final interview
Receiving a job offer

Interview preparation topics

Algorithms and data structures

1. What main data structures do you know?
2. As a data container, what are the main differences between array and list?
3. What is the difference between singly linked list and doubly linked list data structures?
4. What is the difference between stack and queue data structures?
5. What is algorithm complexity?
6. What are associative unordered and ordered containers?
7. Explain what the binary tree is.
8. What is the search time complexity for binary tree? Why? Is it guaranteed?
9. What is the difference between depth-first and breadth-first searches for binary tree?
10. What is the structure of a hash table? How does it work?
11. What is the time complexity of add/search operations in a hash table?
12. Explain what the binary search algorithm is. 
13. What sorting algorithms do you know?

Practical tasks
1. How do you effectively delete sequence of elements from the middle of array? 
2. Given an array with 100 elements (numbers from 0 to 99). One element has been removed from the array. How would you find the removed element? How would you solve this if the array is sorted, or the array is not sorted?
3. How do you find duplicates in array? How would you solve it for the array of chars?
4. How do you find the middle element of a singly linked list in one pass?
5. How do you detect a loop in a singly linked list?
6. Given an array of numbers: 20, 17, 30, 21, 45, 2, 18. Form a sorted binary tree diagram. How should the sequences be changed to produce the worst binary search tree? 
7. Provide a recursive and a non-recursive solution for the tree traversal algorithms for a binary tree.

1. Algorithms (Robert Sedgewick and Kevin Wayne)
2. Introduction to Algorithms (Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein)
3. Programming Pearls (Jon Bentley)
Computational geometry

1. What is the difference between a point and a vector?
2. What is the dot product of two vectors? List its properties.
3. How do you check if two vectors are parallel/orthogonal?
4. How do you find a projection of one vector onto the direction of another vector?
5. What is the cross product? List its properties.
6. How do you compute an angle between two vectors?
7. How do you compute a signed angle measured from vector A to vector B on a 3D plane containing both vectors?
8. How to check if three vectors are coplanar?
9. Can you uniquely define a plane having two non-collinear vectors? How?
10. What is the mixed product of three vectors? What is its geometric sense?
11. What is a convex polygon? How do you check if a polygon is convex or concave?

General questions
1. Compute the distance between an infinite line and a point in 3D. What needs to be changed to compute the distance between a finite segment and a point?
2. Compute the distance between two arbitrary infinite lines in 3D.
3. Compute the intersection line for two planes.
4. How do you compute the area of a convex polygon? How should the algorithm be changed to work with non-convex polygons?
5. How do you determine whether a polygon's points go in a clockwise or counter-clockwise direction?
6. How many parameters are required to uniquely define a line/plane? What are the parameters?
7. How many parameters are required to uniquely define a sphere/cone/cylinder/torus? What are the parameters?
8. Is it possible to find a circle's radius and the center point from three points lying on the circle? If yes, how would you do so? Is it possible to do with less than 3 points? 
9. Suppose you have a triangle. All edge lengths and corner angles are known. How would you compute the radius of the minimum enclosing circle?

Transformations and rotational matrices
1. Given a coordinate system with X-axis (x1, y1), Y-axis (x2, y2) and an origin O(x,y). What would be the matrix that transforms the point coordinates from a global coordinate space?
2. How do you turn a 2D vector 90 degrees in a CCW direction?
3. How do you compute an inverted rotational matrix? 
4. What would be the transformation matrix that rotates an object around an axis that passes through its origin and is aligned with the Z-direction? How would the matrix change if the axis passed through an arbitrary point P in 3D space?
5. What would be the matrix for a 0 degree rotation around an axis line that passes point P(0.55, 12.669, 0.15) and has the direction D = (‑0.002196, ‑0.0020014, ‑0.9999956)?
6. Given two coordinate systems CS1 and CS2 defined by transformation matrices M1 and M2 correspondingly. Given a point P in CS1's space. How do you compute the coordinates of P in CS2's space?

1. Mathematics for Computer Graphics Applications (M.E. Mortenson) 
2. 3D Math Primer For Graphics And Game Development (Fletcher Dunn)
3. Mathematics for 3D Game Programming and Computer Graphics (Eric Lengyel)
4. Foundations of 3D Computer Graphics (Steven J. Gortler)
5. Essential Mathematics for Computational Design (Robert McNeel)

1. What is the difference between a reference and a pointer?
2. Explain the difference between int x; int x(); and int x{};
3. assert(sizeof(int) != sizeof(long)); Is this statement always true?
4. What will the following line of code print out and why? unsigned int x = -1; std::cout << x;
5. Can you explain the difference between new and new[]? Is it possible to delete memory using delete[] allocated within the new operator?
6. What is the difference between new/malloc or delete/free?
7. What is the difference between stack and heap allocation?
8. What is the evaluation order of the function parameters in C++?
9. What is the construction order of global variables?
10. What is the forward declaration of classes? What is it used for?
11. What is the meaning of a const keyword and how can it be used? 
12. What is the meaning of a static keyword and how can it be used? 
13. What are the advantages of using friend classes?
14. What is an abstract class? What is the pure virtual function?
15. How do you create a virtual constructor and virtual destructor for a class? Why would you do it? 
16. What is a vtable and how does it work?
17. Initialization order of Bases and Members.
18. Is it possible to call a virtual function inside of a constructor/destructor?
19. What is a template and how is it used? 
20. What is specialization? How can it help to improve efficiency? 
21. struct Vector{ int* data; int size; }; Write copy constructor, operator= and destructor for the struct Vector.
22. What is an iterator? What iterator types do you know?
23. What is RAII?
24. When should you use std::unique_ptr vs. std::shared_ptr
25. How should runtime errors be handled in C++? What general approaches do you know?
26. What will happen if the exception will be thrown within a constructor?
27. C++ supports multiple inheritance. What is the "diamond problem" that can occur with multiple inheritance? Give an example.

1. How to create a new thread and give it an execution function? Give an example of a simple function.
2. What two modes of execution of the thread function can you name?
3. What C++ features can we use to protect data between multiple threads?
4. How can we synchronize data between threads?
5. There is a Value data type that works in a single-threaded environment. Make changes so that it works as efficiently as possible in a multi-threaded environment.

class Value 
     int m_value{};

      Value (){}
      int getValue() const
          return m_value;
      void updateValue(int value)
          m_value = value;

6. There is an algorithm that is divided into 5 parts. They must be executed one by one in different threads, using the result of the previous step. How do you implement it?
7. What is the difference between using std::async and std::thread?
8. There is a thread that reads the data, and there is a thread that uses the received data. These threads run independently. How do you implement synchronization between these threads?
9. What does the co_yield function do?
10. Explain the difference between sleep_for and sleep_until functions.
11. Is it possible to find out how many threads are available for parallel work using C++ tools?
12. There are two mutexes. How do you securely acquire them?
13. You have a function that needs to be called once, no matter how many threads you have. How will you do it?
14. What is std::promises used for?
15. What is std::packaged_task used for?
16. What is std::future used for?
17. Is it possible to return an exception from a thread? If yes, please explain.
18. Does adding multithreading always improve the result?
19. Is there an alternative to a mutex in C++ to ensure data protection?
20. What can you tell about std::atomic?
21. What is a race condition in a multi-threaded application?
22. What are coroutines?
23. What is std::jthread? Can you explain the difference between std::jthread and std::thread?

Introductory without previous programming experience
1. Programming: Principles and Practice Using C++ (Bjarne Stroustrup)

Introductory with previous programming experience
1. A Tour of C++ (Bjarne Stroustrup)
2. Thinking in C++ (Bruce Eckel)

Best practices
1. Effective C++ (Scott Meyers)
2. Effective STL (Scott Meyers)

1. Inside the C++ Object Model (Stanley Lippman)
2. More Effective C++ (Scott Meyers)
3. Exceptional C++ (Herb Sutter)
4. More Exceptional C++ (Herb Sutter)
5. Exceptional C++ Style (Herb Sutter)
6. C++ Coding Standards (Herb Sutter and Andrei Alexandrescu)
7. C++ Concurrency in Action (Anthony Williams)

1. Modern C++ Design (Andrei Alexandrescu)
2. C++ Template Metaprogramming (David Abrahams and Aleksey Gurtovoy)


1. What is the difference between value and reference types? Is it true that the value type is always stored in a stack?
2. What is the output for this block of code?

struct Num 
     public int i;
class MyProgram
     static void Main()
          Num x = new Num();
          x.i = 10;
     static void Update(Num y)
          y.i = 20;

3. What is the difference between classes and structures? Is it possible to inherit from structure? In what cases it's better to use structures?
4. What is the purpose of namespaces? Is it good practice to keep your application in a single namespace?
5. Is the following code correct?

struct Num 
   public const double x = 1.0;
public Num(double start)
        x = start;

6. Will the following code compile?

double d = 1.11;
 int i = d;

7. What will be the output for this block of code?

int i = 5;
 object b = i;
 int c = ((int)b);
 Console.Write(i.ToString(), b);

8. Can you describe why the lock() statement is designed to only accept reference type parameters?
9. How method arguments are passed in C#? Can this behavior be changed?
10. What is the difference between Int.Parse and Int.TryParse?
11. What are the implicit and explicit type conversions?
12. How do you cast from one reference type to another without risking to throw an exception?
13. Why isn't it possible to create an instance of an abstract class?
14. Is it possible to invoke a method from an abstract class?
15. Is it true that Interface can only contain method declarations?
16. Is it possible to specify access modifiers inside of an interface?
17. Can you inherit from two interfaces with the same method name in both of them?
18. Is it possible to define two methods with the same name and arguments, but with a different return types?
19. What is the difference between method overriding and overloading?
20. What does protected internal access modifier mean?
21. Your class Shape has one constructor with parameters. Can you create an instances of this class by calling new Shape()?
22. Is it possible to override a method which is declared without a virtual keyword?
23. What is the difference between new and override keywords in method declaration?
24. Is it possible to explicitly call a class static constructor?
25. How can you override a static constructor?
26. Can you use this keyword inside of a static method?
27. What is the difference between using a static class and a Singleton pattern?
28. What does immutable mean? Can you provide examples?
29. How can you create delegates in C#?
30. Are delegates of a value or a reference type?
31. What is the difference between events and multicast delegates?
32. Is there any difference between Action and Function?
33. What are lambda expressions? What are they used for?
34. Is it possible to access variables from the outside of a lambda expression?
35. What is LINQ used for?
36. What should usually be done inside of a catch statement?
37. Does the following code make sense?

catch(Exception ex){}
catch(StackOverflowException ex){}

38. What is reflection? Where can it be used?
39. What are generics?
40. What constrains can be applied to generics?
41. Can Garbage Collection be forced manually?
42. What are the generations of .NET Garbage Collector?
43. With the IDisposable interface, what logic is usually placed inside of the Dispose method?
44. Can you extend the core .NET framework class with your own method?

Introductory without previous programming experience
1. C# and the .NET Platform (Andrew Troelsen)
2. C# 4.0 The Complete Reference (Herbert Schildt)

1. CLR via C# (Jeffrey Richter)
2. C# in Depth (Jon Skeet)
3. Agile Principles, Patterns, and Practices in C# (Robert C. Martin, Micah Martin)
4. Code Complete (Steve McConnell)

  1. What is the difference between JDK and JRE?
  2. What is a package?
  3. What are the ways of passing a parameter by reference?
  4. Does the Java® programming language support multiple inheritance?
  5. What is a static modifier and how it can be used?
  6. How to access ‘this’ in a static method?
  7. How to override a static method?
  8. What access specifiers do you know?
  9. Is it possible to access a private method from outside of a class?
  10. What is the difference between StringBuilder and StringBuffer?
  11. How to create the String instance?
  12. What is an interface? What is a marker interface? Name the fields of its application.
  13. What is the difference between the Serializable and Externalizable interfaces?
  14. Is it possible to implement two interfaces having a default method with the same name and signature?
  15. What is a functional interface?
  16. How to clone an object?
  17. How to implement the equals and hashCode methods properly?
  18. How can the wait and notify methods be used?
  19. What is the finalize method intended for?
  20. What is the difference between the nested and static nested class?
  21. What is the difference between the mutable and immutable types?
  22. What is the difference between Predicate and Function?
  23. What is a method reference?
  24. How does exceptions hierarchy look in Java?
  25. What is the difference between throw and throws?
  26. What is the difference between the checked and unchecked exceptions?
  27. What is better to use to handle unexpected conditions: Assertions or Exceptions?
  28. Is it safe to throw an exception from a constructor?
  29. Will the finally block be executed if the unhandled exception occurs in the try block?
  30. What is the java.lang.AutoCloseable interface intended for?
  31. What is the final keyword? How it can be used?
  32. How can you make two methods to be executed in parallel?
  33. What is mutual exclusion?
  34. What is the volatile keyword and how it is used?
  35. How do you stop a thread?
  36. What is the difference between Runnable and Callable?
  37. What is the difference between Set and HashSet?
  38. What is the difference between LinkedList and ArrayList?
  39. How does HashMap work?
  40. What is the difference between Stream and Collection?
  41. What is a garbage collector? Can you manually force a garbage collection?
  42. What is the difference between List<? extends T> and List <? super T>?
  43. Can generics be used with an array?

  1. Core Java by Cay S. Hortsmann.
  2. Effective Java by Joshua Bloch.
  3. Thinking in Java by Bruce Eckel.
  4. Java Concurrency in Practice by Brian Goetz and others.
Full stack

  1. Name all data types in JavaScript.
  2. Compare the reference types and primitive types.
  3. Describe the ways of checking data types. What are the possible difficulties of determining the data type?
  4. Describe the difference between Abstract Equality Comparison and Strict Equality Comparison.
  5. Describe the process of the type coercion and rules of comparing the same and different data types.
  6. Name the built-in and native types. Describe wrappers/boxing.
  7. Name the data types that can and cannot contain values/ types of objects. Name the ways to detect them.
  8. What is the practical use of the Symbol data type?

  1. Describe the statements and expressions. What are the side effects of expressions?
  2. Define Operator Precedence. Specify the usage of logical and binary operators.
  3. Explain what Objects and Arrays destructuring is.
  4. Specify loops, conditions, and the execution context.
  5. Describe the error handling process in JavaScript.
  6. How/when to use the Use strict directive? How does it affect the JavaScript execution?

  1. Describe all variable declaration types and the difference between them.
  2. Is there any way to determine whether the variable is declared in a specific scope?
  3. What is scope? What scope types exist in JavaScript? What is the difference between the function and block scopes?
  4. What are a hoisting and temporal dead zone?
  5. Scope chain, lexical environment, and variable name resolution.
  6. What is closure?
  7. Describe the Memory Lifecycle in the context of the closure.

  1. Name all the approaches to declare and invoke functions in JavaScript and describe how they affect their execution.
  2. What does it mean: the functions in JavaScript are first-class objects?
  3. What is the difference between the execution context, scope, and static properties?
  4. What does this keyword refer to in JavaScript?
  5. Provide a description of the partial application of functions vs. currying.
  6. Describe the practice of the borrowing method.

  1. Describe the OOP principles and their implementation in JavaScript.
  2. What is the difference between the classical and prototypal inheritance?
  3. Name all the possible ways to create an object and object`s property in JavaScript.
  4. Describe the attributes of the object and the object`s property.
  5. Do access modifiers exist in JavaScript? Is it possible to simulate them, and how?
  6. What are the pros and cons of functional programming vs. object-oriented programming?
  7. What is functional programming?
  8. What is a high-order function?
  9. What is a pure function?
  10. What is currying?
  11. What does favor object composition over class inheritance mean?
  12. Compare the imperative programming and declarative programming.
  13. Describe SOLID and JavaScript. Provide an example of dependency injection and inversion of control in JavaScript. Are they related?

  1. What are two-way data binding and one-way data flow? How do they differ?
  2. What are the pros and cons of monolithic and microservice architectures?

  1. What are the ways to handle the async code?
  2. What is a callback hell, and how can you avoid it?
  3. Describe how async/await works.
  4. Describe the generators and iterators and their possible usage in async JavaScript.
  5. Provide yield-delegation examples and generators concurrency.
  6. Describe Web Workers, Shared Workers.
  7. Describe the micro and macro tasks in the context of the event loop?

  1. Name the most commonly used Array methods.
  2. Describe how the reduce method works. What is the difference between slice and splice?
  3. Describe Map, Set, WeakMap, and WeakSet.
  4. What traditional data structures do you know? How do they correspond with data structures available in JavaScript?

  1. What is the Node.js event loop?
  2. What are the pros and cons of the Node.js® runtime environment? In what cases should Node.js be used and when should it not?
  3. What are streams in Node.js?
  4. Explain different types of streams in Node.js.
  5. Describe multithreading in Node.js.
  6. How to utilize multiple cores in a single Node.js application?
  7. Explain the difference between programming in JS for Node.js and browsers.
  8. Suggest an application structure/architecture for Node.js based REST API server.

  1. Name the most common test types and explain the difference between them.
  2. Describe TDD/BDD.
  3. What are the best practices of code testing in JavaScript?

Introductory without previous programming experience

  1. 1. JavaScript: The Good Parts (Douglas Crockford)
  2. JavaScript: The Definitive Guide (David Flanagan)

Introductory with previous programming experience

  1. CSS: The Definitive Guide (Eric A. Meyer)
  2. Handcrafted CSS: More Bulletproof Web Design (Dan Cederholm, Ethan Marcotte)
  3. The Principles of Object-Oriented JavaScript (Nicholas C. Zakas)


  1. Secrets of the JavaScript Ninja (John Resig)
  2. High Performance JavaScript (Nicholas Zakas)
  3. Standard ECMA-262 ECMAScript Language Specification

1. What is software testing?
2. What are the principles of software testing?
3. What are the software testing levels?

1. What are the main types of testing?
2. What is the object of static testing?
3. What is the difference between Smoke and Regression tests?
4. What is the difference between Performance and Stress tests?
5. Describe the difference between Loading and Stress tests.
6. In which cases automation is reasonable?

1. What kinds of test design techniques do you know?
2. Briefly describe the test design techniques you named.
3. Does it make sense to include more than one negative verification into one test case? Explain why.
4. You may be given a task to apply the test design techniques to.

1. What are the differences between a Test Case and a Test Plan, a Test Plan and a Checklist?
2. What is the purpose of each artifact?

1. Which role plays a QA Engineer in the software development process?
2. When should a QAE start working on a project?
3. When is time for Sanity testing? Explain why.
4. When is time for each of the above-stated testing types?

1. Which software development methodologies do you know?

1. Describe Bug Life Cycle.
2. What are your actions if a developer rejects a bug?
3. How are you going to resolve problems that may occur between a developer(s) and a tester(s)?

1. What is a bug?
2. What sources can be used to make sure that the current behavior is a bug or not?
3. What kind of attributes may have a bug?
4. What is the difference between Severity and Priority of a bug? Give an example.
5. What information should be collected as Test Environment during the desktop application testing?
6. Give an example of a Usability Bug.
7. What is a Regression Bug?

1. Describe Top-Down and Bottom-Up designs.
2. What does the Life Cycle of a Product mean? Describe the Life Cycle of your product.
3. What documents did you use in your engineering projects?
4. What types of fasteners do you know?
5. How did you select fasteners for equipment in your projects?
6. What types of mechanical processing do you know?
7. What types of a material coating do you know?

1. What are the main advantages of 2D and 3D modeling? Explain why.
2. What is the main difference between parametric and non-parametric CAD systems?
3. What file types (extensions) for CAD systems do you know?
4. What is a CAD, CAE, CAM, PLM, PDM and BIM application? Who are the main users of each type?
5. What main features do you use in practice?
6. In how many ways can you create a screw-bolt?
7. How do you work with layers when you work with drawings?
8. What snaps types do you use when you work with drawings?
9. What problems can cause opening a CAD file with links to another PC? Explain why.
10. How can you compare two drawings in AutoCAD or a similar application?
11. What types of patterns do you know in a CAD system?
12. What is FeatureManager Design Tree in the SOLIDWORKS® CAD software? What is the rollback feature? (For the experienced with SOLIDWORKS)
13. How will you create a 3D model/models of cylinders with different diameters and heights?
14. With how many parts do you create a standing hanger in a CAD system?
15. What features will you use to design a model of a cup, a TV remote, etc.?
16. What are the main conceptions and differences of SOLIDWORKS Design Library and Toolbox?
17. How can we change visualization of a model in SOLIDWORKS? (appearances, scenes, exploded view, etc.)
18. What add-ons for SOLIDWORKS do you know, i.e., for motion, simulation, routing, photo view, etc.?
19. If you must design something in CAD without any context, what are you going to do? How will you measure the success of your designs?
20. What is 3D geometry? What is the difference between 2D and 3D spaces?

1. Describe the main steps of converting a Point Cloud into a Solid Model.
2. What common 3D shapes do you know?
3. What parameters must have a 3D body?
4. What neutral CAD formats do you know?
5. What is the difference between any two neutral CAD formats you know, i.e., IGES and STEP?
6. Describe the main test cases you will use to verify the correctness of 3D Model converting. Explain why?

1. What are Continuous Integration and its purpose?
2. What are the main commands of the Git® version control system?
3. What mouse actions has the Selenium® suite of tools for automating web browsers?
4. How do you imitate double-click event in code?
5. How to switch between frames/tabs in Selenium?
6. What is a Stale Element Reference Exception, and how to process it?
7. How do you identify test cases suitable for automation?
8. What are your criteria not automate a test?
9. Describe the Page Object approach and the problems it aims to solve.
10. What is the difference between absolute and relative XPaths?
11. What assert types do you know?
12. What are the main locator types?
13. How to find a WebElement nested in another element?
14. What will you do with code duplicated in several tests?
15. Briefly describe the difference between ThreadSleep, ImplicitWait, ExplicitWait, WebdriverWait, and FluentWait in Selenium-WebDriver.

1. Test a web page/form, e.g., login/logout page
2. Provide as full set of test cases as you can.
3. Find a bug and report it.
4. Locate an element on a WEB-page using dev tools and XPath or CSS selector.
5. Write an explicit wait condition to be passed to the WebDriverWait.until() method to wait for the title matching expected value.
6. Explain this code snippet:

    List selected = allRows 
         .filter({ it -> it.isSelected() }) 

7. Explain this code snippet:

    (new WebDriverWait(Driver.driver.get(), 10)) 
         .until(current -> current.getWindows().size() >= 2);

1. ISTQB® — Foundation Level 2018 Syllabus
2. A Practitioner's Guide to Software Test Design, Lee Copeland, Artech House, 2004
3. Testing dot com, Roman Savin, Delo, 2007

Systems administration
  1. What is HTTP/HTTPS, and what port does it use?
  2. What is FTP, and what port does it use?
  3. What is SSH, and what port does it use?
  4. What is DHCP?
  5. What is TCP/UDP?
  6. What is ICMP?
  7. What are IP classes?
  8. What is DNS?
  9. What is a firewall?
  10. What is a proxy server?
  11. What is a subnet mask?
  12. What are and localhost?
  13. What is the difference between a workgroup and a domain?
  14. How does Tracert work, and what protocol does it use?
  15. What is Two-Factor Authentication?
  16. What is an IDS?
  17. What are the main differences between Windows® Home, Windows® Pro, and Windows Server® operating systems?
  18. What is the difference between ifconfig and ipconfig?
  19. What are the differences between the PowerShell®, Command Prompt, and Bash command-line shells?
  20. What is a root account?
  21. What is telnet?
  22. How would you add local users when on a domain machine?
  23. What is ARP?
  24. What is EFS?
  25. What is Boot to LAN?
  26. What are terminal services?
  27. What are shadow copies?
  28. Why would you use external media, such as tapes or hard disks, for backups?
  29. What is the difference between RDP and KVM?
  30. What is the difference between a print server and a network-attached printer?
  31. What is /etc/passwd?
  32. Why would you virtualize systems?
  33. Why would you create logon scripts?
  34. What is the difference between single-mode and multimode fiber?
  35. What does it mean when you receive an NTFS Error: 5?
  36. What are 755 and 644 permissions of the UNIX® and Linux® systems?
  37. Why is it easier to maintain permissions via groups instead of individually?
  38. What is the difference between a forest, a tree, and a domain?
  39. What are the differences between local, global, and universal groups?
  40. What are strong password requirements?
  41. What is SNMP?
  42. What is a VLAN?
  43. What is the difference between Telnet and SSH?
  44. What is the difference between UNIX and Linux?
  45. What is RAID? What kinds of RAID you know?
  46. What is the difference between IMAP and POP3?
  47. What monitoring systems do you know?
  48. How can you install Windows on multiple computers at the same time?


  1. Computer Networks: Principles, Technologies and Protocols for Network Design / Natalia Olifer, Victor Olifer: translated from Russian into English by A-List Publishing, LLC

Windows Server

  1. Windows Server® 2016 Unleashed, 1st ed. / Rand Morimoto, Jeffrey Shapiro, Guy Yardeni, Omar Droubi, Michael Noel, Andrew Abbate, Chris Amaris: Sams Publishing, 2017
  2. Mastering Windows Server 2019: The complete guide for IT professionals to install and manage Windows Server 2019 and deploy new capabilities, 2nd ed. / Jordan Krause: Packt Publishing, 2019


  1. Linux® Bible, 9th ed. / Christopher Negus: John Wiley & Sons, Inc., 2015
  2. Linux Network Administrator's Guide, 2nd ed. / Olaf Kirch, Terry Dawson: O’Reilly Media, 2000
  3. Red Hat® and CentOS™ 7 Precise / Shiv Kumar Goyal: 2017
  4. Red Hat® Enterprise Linux® Server Cookbook / William Leemans: Packt Publishing, 2015

  1. What is a thread in the CUDA® parallel computing platform? Describe the difference between the CUDA thread and CPU thread.
  2. What is a CUDA warp?
  3. What is a CUDA kernel?
  4. What are CUDA kernel dimensions? How do you choose kernel dimensions?
  5. Tell me/us about global and shared memory. Compare those types of memory.
  6. What is “occupancy” in CUDA?
  7. What is “coalesced memory access”?
  8. What is “scattered write”?
  9. What is a “memory bank conflict”? Does it exist for both global and shared memory?
  10. What are “ideal conditions” for a CUDA application? Could you please share your thoughts on it?
  11. Does CUDA parallel execution always outperform CPU parallel execution?
  12. What synchronization mechanisms in CUDA do you know?
  13. How can communication between thread blocks be achieved?
  14. How do you measure CUDA application performance? What could hit the performance?
  15. Tell me/us about profiling tools. How do you profile a CUDA application and an individual CUDA kernel?
  16. How do you improve the performance of the CUDA kernel?
  17. What is unified memory?
  18. Tell me/us about __host__,__global__, and __device__  specifiers.

  1. What is a streaming multiprocessor?
  2. What is a load/store unit?
  3. What is Warp Scheduler?
  4. What is SFU?
  5. Tell me/us about FP32 and FP64 units. What are tensor cores?
  6. Tell me/us about L1 and L2 caches.
  7. Tell me/us about CUDA registers.
  8. What is texture memory? What benefits does it provide?



  1. How do you explain what DevOps methodology or culture means?
  2. What agile or time-tracking tools do you know?
  3. How do you describe an application development life cycle, and how can DevOps be integrated here?
  4. Name OSI model levels and explain how data is transferred on each level.
  5. What does the TCP/IP stack mean? What is the main mechanism for creating an IP address? What is the difference between TCP and UDP?

  1. How can you show hidden files on Linux® systems?
  2. df -h shows a lot of free disk space. But when you try to save the file, df-h reports that you don’t have enough disk space. What is the reason?
  3. What system diagnosis tools can you name? What does the “load average” parameter mean in a top utility?
  4. What does “7” mean in “chmod 777”?
  5. What package managers do you know? What kind of issues did you have?
  6. What kind of non-standard situations with granting access did you encounter? How did you resolve them?

  1. What is the difference between an application, application pool, website, and web directory?
  2. What should you do to deploy a .NET application in IIS? What steps do you take?
  3. How can you deploy a site on the Windows Server® operating system without an agent?
  4. Do you have work experience with NuGet or the Chocolatey® software management solution? What is it for?
  5. What monitoring tools for the Windows® operating system do you know?
  6. Name a native method to use Linux packages inside the Windows environment.

  1. You try to make a git commit but get an error “Repository is not initialized”. What do you do?
  2. What is the difference between merge and rebase?
  3. How do the Jenkins®, TeamCity®, VSTS, and other automation software find out that someone has pushed to a repository—for example, on a specific branch?
  4. How do you ensure the code freeze technically?
  5. TeamCity, Jenkins, and so on stopped seeing agents after updating. What do you do?
  6. Describe the role of tags in a repository. What can you do with tags in terms of automation?

  1. What are the main differences between a VM and Docker® platform container?
  2. What blocks does a Docker image consist of?
  3. What are the tags used for in Docker? Compare them with the tags of the Git® version control system.
  4. What orchestrators do you have experience with? Describe this experience.
  5. Name main Docker Compose components.
  6. Explain the main differences between Swarm and the Kubernetes® system.
  7. How do you ensure scaling? What kinds of scaling do you know?
  8. What is a load balancer? Explain how it works.

  1. What kinds of databases do you know? What are the differences between an SQL and NoSQL structure?
  2. Elasticsearch reports that all indexes are yellow. What does it mean?
  3. What do you need to build a cluster on the MongoDB® data platform?
  4. If you want to create a user which credentials should be used for the MySQL® database backup, what permissions should that user have?

  1. What are the differences between IaaS, PaaS, and SaaS?
  2. What Desired State Configuration tools did you work with? Give examples of configurations.
  3. What kind of tasks can the Ansible® or Terraform® automation software solve?

  1. What cloud providers did you have experience of working with? Describe your daily tasks.
  2. Give a serverless application architecture example on any cloud.
  3. How would you organize a stateless application architecture?
  4. What entities are required for creating an instance on the Amazon EC2®, Azure® VM, or GCP VM platform?

  1. The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win: Gene Kim, Kevin Behr, George Spafford
  2. Linux for Networking Professionals: Securely configure and operate Linux network services for the enterprise: Rob VandenBrink
  3. Production-Ready Microservices: Susan Fowler
  4. Cloud Native Patterns. Designing change-tolerant software: Cornelia Davis
  5. Docker Deep Dive eBook: Nigel Poulton
  6. Terraform: Up and Running: Writing Infrastructure as Code: Yevgeniy Brikman


How to grow at AMC Bridge?

The level of salary and position of a person depend on the quality of his/her work, the ability to perform the tasks successfully, and also on how the person improves his/her skills.

We have a collective CRI; we do not evaluate each employee individually. A team leader determines the effectiveness of the specialist. Every six months, a team leader and the department director analyze the employee’s performance and how it has grown. After that, we review the salary. Mostly, it grows for 95% of employees.

There is no director in the company who does not grow to this position from inside the company. All you need to do is to show good results. If a person wants to grow and develop, we will help.
Career growth scheme

Contact us

Send us your request. We will be glad to answer.

By pressing this button you agree to the Privacy Policy


Interested in working at AMC Bridge?

Submit your questions on the form, and we will answer them promptly.

scroll down to explore
to the top

This website uses cookies in order to offer you the most relevant information.