If you were asked about addressing a website's degrading performance, what recommendations would you make to correct this?
While interviewing for a senior software engineer job, you may be asked about specific activities, challenges, or processes outside the software development spectrum. Interviewers will take this tact to explore the breadth of your knowledge and see if you have experience interacting with other technical stakeholders from across the organization. Knowing a broad range of technical topics and specific, in-depth knowledge about software development will increase your chances of being selected as an appropriate candidate for the position.
"Even though this issue is outside of my sphere of responsibility, there are several actions an organization could take to address a situation where the performance of a website was degrading. Items I would recommend that the team investigate include using adaptive images, increasing the cache, making sure all the plugins were up to date, using CSS sprites for the images, minimizing the use of JavaScript and CSS, and making sure the website host had enough memory, bandwidth, and processing speed."
When asked about how to accomplish a specific task related to this job, keep your answer brief and to the point. Describe each step you would take to accomplish the task using simple, easy-to-understand language. Anticipate follow-up questions from the interviewer if they need more detail or want to explore the topic further.
Community answers are written by other candidates practicing this set. Reading how others frame the same question is one of the fastest ways to sharpen your own.
Anonymous Answer
I would start by finding the source of the performance problems. This would include looking at response times in the browser console's dev tools as well as looking at the web server logs, application logs, and database query logs. Monitoring the system metrics like RAM/CPU/DISK may be necessary as well. This should give an idea of where the problem lies. If the problem lies within slow database queries, indexes can be added or the query itself can be refactored to utilize existing indexes. If the problem is on the client, then the amount of data being transferred to the client may be too much or the client has non-optimal JavaScript code, or some other client-side or network-level error may be at play. If system resource usage is continually building up, then I would recommend scaling the application horizontally if possible. And if the application was the source of the problems, I could use further tools like AppDynamics to evaluate exactly which classes and functions are undergoing the most load and I would then suggest a refactor of the problem areas.
Amanda's Feedback
You're doing a great job answering these questions thoroughly and in a way that confidently illustrates you know how to handle performance or website issues.
