I was wondering if there is a formal way (structure) to answer any debugging-related issues during interviews. For example: Debugging questions like - somewhere in Asia there are some users who can’t delete an app. Please debug. I have heard some folks use a fishbone diagram to make a quick answer. During the interview, the time is not too much and if we have something like that then we can relate it and come up with an answer. Also, is there any website where we can practice debugging questions?
No, there really is not. I’m often perplexed by that kind of question. But in an interview context, it’s more a question of “how do you troubleshoot”, than any formal process at all. People want to hire you based on how you answer questions, not on how you can apply a formal solution pattern.
“is there a free resource where I can?” , is a good question, but the wrong approach…
Because it hides a modern misunderstanding of with the way humans learn. Anyone who has watched the Matrix Movie where Neo learns Judo, Karate and of all the martial arts by a wired in cable that downloads the entire sport into his brain, will identify. It’s the stuff of dreams. All you need to do is go visit the older part of he town you live, and find a stone building that has carved stone or monuments. The skill required to carve stone like that is not learned in a book or even at a $500 a day week long training course. It takes time and direction, measured in years. When you spend the personal time troubleshooting all manner of things in your environment it teaches you to observe carefully system state and context, and gather as many inputs as you can quickly. That is how you learn to debug, but doing it often and giving up your time to fix things as a way of improving your observing and critical thinking skills. Sure, critical thinking can be taught, but the rest of debugging is pure time spent practicing.