I got this question put to me recently:
I haven't looked too closely at competitive coding.
In terms of reflecting real-world coding, I believe competitive coding is likely too far away from real coding. This is largely because a biggest part about being a good developer, has little to do with the syntax you write. It's HOW you write code and how you organize it that counts.
... But I must admit, I am biased!
Writing code snippets does little to make you a coder. Good developers have refined problem solving skills, are able to write efficient code, write maintainable code that is well structured.
You have to write code to learn code, but you have to understand concepts, you have to build projects, you have to know when it makes sense to write a recursive function or not. When I interview developers, I never give test on syntax (the actual code,) I test on concepts and an understanding of how to structure code .... things like best practices.
Hope that makes sense.
Stefan