Una pregunta que puede aparecer en una entrevista laboral para el puesto de desarrollador, y algunas respuestas (aunque no las únicas) posibles.
Un detalle a tener en cuenta es que, en Java, concatenar cadenas en un bucle con += no es eficiente para textos largos, porque cada concatenación crea un nuevo objeto String (las cadenas son inmutables). Para código de producción se suele usar StringBuilder. Pero para un ejercicio como este, la concatenación con += suele ser suficiente.

Click aquí para una versión accesible de la infografía (apta para lectores electrónicos)
PROBLEMA DE PROGRAMACIÓN
Escribir una función para invertir un string. Puede usarse cualquier lenguaje, pero debe evitarse el uso de funciones predefinidas para invertir strings.
ALGUNAS POSIBLES SOLUCIONES:
Solución en C++:
std::string invertir(std::string s) {
std::string invertido = "";
for (int i = s.length()-1; i >= 0; i--) {
invertido += s[i];
}
return invertido;
}
Solución 1 en Python:
def invertir(s):
invertido = ""
for c in s:
invertido = c + invertido
return invertido
Solución 2 en Python:
def invertir(s):
invertido = ""
for i in range(len(s) -1, -1, -1):
invertido += s[i]
return invertido
Solución en Java:
public static String invertir(String s) {
String invertido = "";
for (int i = s.length()-1; i>=0; i--) {
invertido += s.charAt(i);
}
return invertido;
}