Coding test question

// Given a global variable:
workQueue = [‘task1’, ‘task2’, ‘task3’, ‘task4, task5’, ‘task6’, ‘task7’, ‘task8’];

// And a setting variable:
numberOfWorkers = 3;

// and an Asynchronous process method:
worker(task, onDone);

// Parameters:
// onDone : is a method that will be called after a worker has finished with a task
// task : needs to be one of the elements in workQueue
// Assume that worker method is already implemented and it is started in a new process and is non blocking

// Write code in any language of your choosing, that will:
// use worker() method to do tasks in workQueue
// use numberOfWorkers to determine the number of workers to run asynchronously
// Bonus: Give each worker a name and notify (print) when a task is started by a specific worker
// Bonus: Notify when all workers have finished with their tasks
// Note: paste your answer into to the Google form

Job applications for our Kathmandu Office (May 2017)

New Zealand developers: the questions below are for applications for our Nepal office. For applications for New Zealand, email directly to with “NZ jobs” in the subject

Important: Do not send your biodata to us without following the instructions here-unless you answer the questions as part of the application process we will ignore your application.

Deadline for applications: For the post that was advertised in the Kathmandu post : 3rd June 2015

There are currently 3 Jobs available at our offices in Lalitpur

  • 2 software developer jobs
  • 1 scrum master / support manager

Steps to apply

If you have applied before

Software Developer application

Software Developer — Job application form

To apply:

Software developer specific questions

Note: some of these questions are easy, some are harder.
If you can’t answer the hard questions, tell us the approach you would take, what you do understand, what you think the result would be- those sorts of things. Then we’ll be impressed. If you just put “I have no idea” or miss out the question it’s not a good look.

Write a function in Javascript that takes 2 arrays as parameters, and returns the intersection of the arrays.

What is your favourite new feature in ES6? Why do you like it? Write a small piece of sample code that uses this feature.

Questions for all job applicants


  1. What are the two biggest problems facing Nepal? What would you do to fix them?
  2. How do you see the world and humans? In other words, what is the world like and how should we as humans live?
  3. Include your Biodata in the document. Please include:
    • Previous work experience
    • Qualifications gained
    • Names of 2 referees and their phone numbers. Please state the position of the referee and your relationship with him/her.
  4. What are your favourite interests outside of work.

Application instructions and notes about the jobs

Please read the following instructions carefully. Failure to comply will mean your application will not be considered.

  • Do not telephone or visit Sustainable Solutions regarding this position. If you do, your application will not be considered.
  • Apply by submitting an email to the address “” with attached application document in Word or PDF format.
  • Please apply in English.
  • Your application should include answers to the questions in both the general section and the section specific to the job you are applying for.
  • Do not just submit your biodata without answering the questions- this is not a lottery- we consider all proper applications seriously, but we don’t consider applicants who just submit their biodata and nothing else.
  • Do not bother getting your friends to help you with the questions, as all short listed candidates will be tested in person.

Notes about the working with Sustainable Solutions

  • We pride ourselves in being law-abiding, which means income tax will be deducted from your salary.
  • The job location is Lalitpur for the Kathmandu office.
  • 4 weeks of paid holiday is provided each year, along with 10 days for festival holidays.
  • Working hours are approximately 9 a.m. to 5:30 p.m. Monday to Friday.
  • Some travel within Nepal may be required. (Not more than 1 week per month on average)
  • If you are not intending to make a long term commitment to this position, don’t bother applying. It will take one year before you’re fully productive, so expect to make a commitment for 3 years or more.
  • Starting salary is negotiable. We try to be fair, and we will reward good performance well.
  • Some overseas travel for work assignments is possible after 2 years of building experience.

If you have applied previously

You are welcome to reapply for a job if you have applied in the past. However, if you submit the same application you will get the same response.
Here are the most common reasons for not accepting an application.

  • The questions were not answered- only biodata was submitted.
  • The standard of written English was too low.
  • For software developers: submitted code would not run, or was poorly commented.
  • Answers to the written questions made us question whether you would share the values that are important to our organisation.