Associate software developer interview questions shared by candidates
How to use concurrency to make matrix multiply computation faster? what is the complexity?
make each row of left matrix and each column of right matrix to be an independent thread. complexity is O(n^3).
If it's a 4x4 matrix & you're running on modern processing hardware then don't use threads at all... Use a single SIMD matrix multiply instruction...
check Foxes and Cannon's algorithmes. With the case of Fox algorithm the matrix is divided by sqrt(p), where p - is number of processes. Then, for each submatrix, with separate process computes subresult element C (Cij+=Aik* Bkj ). The rows of matrix A are being shifted right (i+j mod p positions), and columns of matrix B being shifted upwards. Repeat, until i<p. Time complexity = O(n^2) with n processors
There are N number of soccer teams, who must all play against each other in a set amount of time (amount of time is irrelevant). Find a way to schedule their games in such a way that there is equal amount of time between games for each team, i.e. all teams get same amount of rest between each game.
See Interview Questions for Similar Jobs
- Software Developer
- Software Engineer
- Associate Software Engineer
- Senior Software Engineer
- Software Development Engineer
- Java Developer
- Senior Software Developer
- Applications Developer
- Business Analyst
- Junior Software Developer
- Web Developer
- Software Engineer Intern
- Software Engineer I
- Entry Level Software Engineer
- Technology Analyst