Google | TSE | Phone Screen
Anonymous User
1806

Start with a problem solving/customer faced questions:
If a customer filed a report about a slow internet on using Google services for their application. What questions you will be asking?

Question I asked on the interviewer:

  1. Is the customer has access to their Server?
  2. Can I assume the customer has technical knowledge on the services/applications?

Question I would be asked on the customer side:

  1. Is this happened on certains region only? Is there any other office in different region experienced the same problems?
  2. Did you try a speed test on your side?
  3. Can you try to run traceroute and paste the result? (to analysis where the data packets goes)

Researches will be done on my side:

  1. Check with the Google services' health check
  2. Try to access the application URL and did some basic cheaks like DNS query speed, application loading speed.

Follow-up questions:
If customers findd this issue only on certains regions, and how would be able to find out the problems?

My actions:

  1. Narrow down all possibilities on the architectural level from application, load balancer, proxy server (CDN), database, network, server
  2. On application level, check on compression (gzip), caching (browser setting), messaging, batch and others
  3. On load balancing/CDN, check on logs, cache the health/latency of the load balancerand others
  4. On database, check on sharding, replication, memcache and others
  5. On server, check on clustering, caches and logs
  6. On network, check on request to the application from different networks across different regions
    I think it is regardless of the region, it should be always goes from low level to high level if the initial health check on the Cloud Services is green.

After that, I am being asked for a few networking, OS, web technologies questions:

  1. Explain what happened when you enter google.com on the browser ()
  2. Explain how SSL certificate works
  3. Tell me how you can get the file permission details of a certain file on Linux
  4. Tell me how you can set the permission of a certain file on Linux - rwx for ower, rx for group and none for public. How many ways you do that?
  5. What is the problem of using Symbolic mode in setting file permission?
  6. Tell me how you can start a new process in Linux? What is lifecycle of that?

Then, I am given a set of code to explain how they work with following questions:

  1. Tell me line by line of what are they doing? I am on Java (based on your language chosen). The code includes Throws, Try/Catch, abstract code and some nested throws
  2. What is this doRetry method doing? - As the method name said, I answer it retries things when the transaction failed
  3. Where you can usually see this method? - It involves a lots abstract code, I am guessing it is for messaging as it is using callable.call() when retry the transaction.
  4. Tell me what problem you can see in the code? - Assign a variable after the throw new Exception - The varible will never be assigned
  5. Tell me how many exit point on this method? return keyword, throw keyword
  6. Tell me information you will need in these abstract code to know this method will be working? - attemptTimes - it has to be static in order to do the pump up correctly
Comments (5)