¿Qué tan buena es la calidad de los problemas de HackerRank en comparación con los problemas de Topcoder, Codeforces, Codechef?

Me pidieron que respondiera esto, así que finalmente tuve que ir y echar un vistazo a HackerRank 🙂

Observé principalmente los desafíos de la programación funcional (en realidad los completé todos), ya que son más similares a mis rondas de lenguaje sorpresa favoritas en Codeforces, y también analicé brevemente otros problemas algorítmicos (ya que son los que se comparan: TopCoder y Codeforces no tiene muchos problemas de IA o ML). Desafortunadamente, no puedo decir que me hayan impresionado como de muy alta calidad. Cada vez que veo un problema con errores tipográficos o de formato, o un problema en el que tengo que esforzarme por descubrir el formato de salida / devolución, tengo la triste sensación de un problema que su autor no amaba lo suficiente como para volver a él. y volver a leerlo incluso una vez, y mucho menos pulirlo – Ciertamente no fui tan cruel con mis propios problemas 🙂 Y las tareas mismas (parte de FP) no me parecieron algo de lo que me gustaría obtener más – diez Los problemas (¡más de lo que tiene una SLR!) se resuelven utilizando un total de quizás tres construcciones de lenguaje.

Hay algo de potencial en el sitio, pero TopCoder tiene más de 10 años de experiencia desarrollando y puliendo sus problemas de Algo y Maratón, y creo que es demasiado pronto para compararlo con HackerRank.

Soy una de las personas involucradas con problemas y contenido con HackerRank.
No juzgaré y compararé la calidad del problema directamente, ya que eso es lo que deben decidir nuestros usuarios, aunque espero que disfruten de nuestros problemas. Tenemos finalistas de ACM y un Top Coder rojo.

Sin embargo, quiero enfatizar algo sobre la naturaleza y los temas de nuestros problemas. Esto es algo diferente del enfoque de los desafíos del estilo ACM de programación competitiva. Si bien tenemos una variedad de desafíos algorítmicos, y organizamos muchas competiciones, también tratamos de servir como plataforma de aprendizaje. Y así, también tenemos problemas en IA, aprendizaje automático y programación funcional. Intentamos mapear nuestro contenido, tanto como podamos, de un plan de estudios de CS, y proporcionar una cobertura integral. Las personas pueden comenzar a aprender IA construyendo un robot PacMan que ejercite diferentes técnicas de búsqueda. También nos enfocamos en varios desafíos abiertos sin una solución perfecta, y en la construcción de características reales como, por ejemplo, un corrector ortográfico o un motor de predicción de texto para un teléfono móvil. Entonces, aunque somos un sitio para programadores que buscan competir, eso no es todo a lo que estamos restringidos: también buscamos proporcionar una plataforma de aprendizaje CS más completa.

También intentamos que las empresas resuelvan sus desafíos del mundo real con nosotros, por ejemplo, el reciente Quora Machine Learning Challenge. Además de eso, también estamos tratando de evolucionar como una plataforma para grandes clases de Ciencias de la Computación en la línea de MOOC que pueden expandir significativamente el tamaño de las clases de los cursos de CS realizados por las universidades. Todos estos terminan trayendo una variedad de desafíos para que los programadores los resuelvan en nuestro sitio.
..

Entonces eso es lo que estamos tratando de lograr. ¡Dejamos que los usuarios evalúen qué tan bien lo estamos haciendo!

Para ser honestos, los problemas en HackerRank definitivamente lo ayudarían a despejar la prueba técnica en línea realizada por muchas empresas de primer nivel. Las preguntas son más directas, cortas y precisas, y eso implica el conocimiento de algoritmos bien conocidos.

He estado resolviendo problemas y participando en concursos algorítmicos de todas las plataformas anteriores (durante al menos 1 año para cada uno de ellos) y personalmente, diría que la calidad de los problemas de HackerRank no es tan alta como la de los demás. Hubo un par de veces en que el problema era solo otra variante de un viejo problema que había resuelto previamente (el nivel de similitud me hizo sentir demasiado aburrido como para resolverlo de nuevo). Recientemente, esta fórmula creó “varios problemas más difíciles de los concursos mensuales” X es un problema clásico. Hagámoslo difícil incrustándolo en un problema de matriz de actualización y consulta “. En conclusión, HackerRank tiene muchas cosas que hacer para ser comparable a otras plataformas.

P / s: La interfaz de usuario de HackerRank es bastante agradable, pero no es lo que se pregunta aquí.

Hacker Rank es un sitio que tiene buenos problemas que son cortos, precisos y básicamente su objetivo es probar nuestras habilidades de estructura de datos de algoritmos.
Lamentablemente, los problemas del chef de código también son matemáticos y ficticios (quiero decir)

Esta respuesta será diferente según el gusto de los usuarios, pero incluso si hay mejores opciones que HackerRank para los concursos de algo, debes tener en cuenta que algo es solo una pequeña parte de lo que tiene hackerrank. Tienen datos reales, cálculos lambda (programación funcional), desafíos de bot, procesamiento de lenguaje, procesamiento de imágenes, linux, sistemas distribuidos, reducción de mapas estilo hadoop, seguridad, álgebra lineal, problemas, estadísticas, base de datos, noSQL (xml, xpath, json) que son mucho más útiles en el mundo real de la ingeniería. Las editoriales también son buenas para algunas de estas áreas especiales. Así que no creo que realmente se pueda comparar topcoder y codeforces y codechef con HackerRank. El banco de preguntas de HackerRank es mucho más amplio, otros sitios web no tienen equipos de configuración de preguntas comparables y eso es lo que le da a HackerRank una gran ventaja, de lo contrario no sería tan popular. Además, no todo en HackerRank está escrito para concursos y competencias, muchos problemas como Linux y Mapreduce están escritos en un estilo para guiarlo a aprender.

El problema con Codechef es que las preguntas son innecesariamente difíciles y no están relacionadas con la industria. Es más un sitio web de resolución de acertijos que uno que lo ayuda a mejorar la destreza de programación. A la mayoría de los principiantes les resultará extremadamente difícil aprender programas de él. Tienen varios concursos que son desafiantes. Sin embargo, hay varias razones por las que uno podría pensar por qué los programadores aficionados tienden a mantenerse alejados de él.

Hackerrank, por otro lado, cubre la mayoría de los problemas específicos de las empresas y son los más adecuados para los estudiantes. Tiene una interfaz muy buena y una excelente comunidad donde puede discutir y obtener soluciones a problemas del mundo real.

No sé mucho sobre Topcoder y Codeforces.

Prefiero hackerrank a los demás porque la UI es una de las razones y obtengo el caso de prueba que falló en mi programa. Puedo analizar mis errores en los casos límite y puedo reflexionar sobre los programas posteriores. No encontré esa viabilidad en los otros sitios.

Hackerrank ayuda mucho a aumentar la confianza de un principiante en la programación. Las preguntas se explican lo suficientemente bien, para que no pasen por alto. Hay una variedad de preguntas, y las preguntas se enmarcan como historias interesantes, nunca te aburrirás eso.