¿Cuánto Java necesitas saber para conseguir un trabajo?

Imagine que un amigo de la infancia viene a visitar a sus hijos.

No se han visto desde hace unos años. ¿Qué cocinarás?

Primero, necesitas saber qué les gusta comer. ¿Les gusta la comida picante? ¿Alguien es alérgico? ¿Qué pasa si uno de los niños se ha convertido en vegetariano?

Con la programación de computadoras es lo mismo.

Debe pensar en su mercado laboral objetivo antes de elegir sus herramientas:

  • ¿Están luchando con el problema que quieres resolver?
  • ¿Quieren resolver este problema?
  • ¿Puedes ayudarlos a resolver este problema o es demasiado grande? ¿Puedes reducirlo?

Como programador de Java, al igual que cualquier otro programador, principalmente será contratado debido a su experiencia . Y eso significa, los problemas pasados ​​que has resuelto.

Primero construye su experiencia creando una aplicación funcional que resuelve un problema que a la gente le importa.

Me resulta bastante mundano tratar de averiguar cuánto sabe Java, PHP o Ruby.

Todavía tengo que conocer a alguien que pueda evaluar eso y responderme con una respuesta precisa dentro de los 10 minutos de una entrevista.

Así que no creo que deba preocuparse por la cantidad de Java que debe saber.

Para obtener un trabajo, lo que se evaluará son sus habilidades reales para resolver problemas.

Conocerá el nivel de sus habilidades para resolver problemas mediante la creación de software que resuelva un problema en particular.

Eso es lo importante.

De lo contrario, tratar de dominar la herencia de clase, las colas, las pilas y los algoritmos para ser un buen codificador de Java es una receta para la frustración.

Esas son métricas de vanidad. Siempre olvido las pruebas de algoritmos tan pronto como termino con la entrevista técnica y obtengo el trabajo.

Solo recuerdo los que uso todos los días.

Así que aquí está el consejo del millón de dólares:

Usa tus habilidades de Java para crear una aplicación que resuelva un problema. Entonces debería poder conseguir un trabajo basado en la experiencia que obtuvo de ese proyecto.

Y la relevancia, tal como mencioné anteriormente, es clave. Si está entrando en el desarrollo web, cree aplicaciones web. Si está entrando en el desarrollo de aplicaciones móviles, cree aplicaciones móviles.

Por último, no solo construyas ninguna aplicación. Digamos, un TodoApp.

Su software debe resolver un problema que lo hará destacar. Un problema que alguien realmente querrá resolver, para que pueda obtener usuarios para su aplicación.

Son los usuarios activos los que darán vida a su proyecto y harán que su experiencia sea significativa para un empleador.

¡Feliz codificación!

Creo que puedes pensar en ello no según el lenguaje de programación sino como las necesidades de la aplicación

Además de los conceptos básicos del código, como variables estáticas, bucles, clases, OOP, paquetes, para obtener el trabajo, al menos debe saber qué necesita cada aplicación en un lenguaje de programación particular (en su caso, JAVA)

Cualquier aplicación necesita:

1. Base de datos: debe saber al menos cómo trabajar con una o pocas bases de datos en Java. por ejemplo, MySQL, SQLite usando JDBC
2. Marco de registro: debe tener en cuenta la creación de registro para la aplicación si es necesario en Java. por ejemplo Log4J
3. Subprocesamiento: este es el requisito más básico, casi todas las aplicaciones de nivel empresarial necesitan subprocesamiento múltiple. Por lo tanto, debe estar bien versado con Runnable, Thread, etc. en Java
4. Regex: Esto es más difícil para los pasantes especialmente nuevos, pero una vez que te sientas cómodo con él, puedes hacer maravillas con él. Por ejemplo, debe saber qué es exactamente la expresión regular “(‘(‘ ‘| [^’]) * ‘| \ d +) (\ s *, \ s * (‘ (” | [^ ‘]) *’ | \ d +)) * “hace y cómo manejarlo en Java.
5. FrontEnd: al menos debe conocer un par de formas de crear interacción del usuario con su aplicación, ya sea en línea de comando o web html o interfaz de usuario de escritorio. Este requisito puede variar según la descripción del trabajo, por ejemplo, si es un trabajo de desarrollador de IU, esta será la habilidad más buscada, mientras que en el trabajo de desarrollador de back-end, incluso aceptar entradas en el comando está bien. Por ejemplo, Swing, JQuery, HTML
6. Pruebas: debe tener en cuenta al menos un par de marcos de prueba para pruebas de Unidad e Integración. Por ejemplo, JUnit
7. Un formato de datos común de Exchange: debe tener en cuenta al menos un formato de datos común de Exchange. por ejemplo, JSON, XML y cómo interactuar con él utilizando Java.

Ahora se trata de Extras, los anteriores son obligatorios y los puntos siguientes son buenos y, en algunos casos, deben volver a tener dependiendo de Job
1. Proceso de software: conocimiento de uno u otro proceso de software como Scrum, Kanban, etc.
2. Patrones de diseño
3. MVC
4. Servicios web
5. Bases de datos NoSQL
6. Pila de tecnología web Java (Servlet, JSP, Message Beans, Spring)
7. Desarrollo de aplicaciones de escritorio.

Trabajo con muchos pasantes que han aprendido Java en la escuela y ahora lo están aplicando para fines laborales. Mi respuesta va a suponer que estás buscando puestos de nivel de entrada.

Las escuelas, en su mayor parte, no enseñan habilidades de trabajo en Java. Si está aprendiendo programación basada en eventos usando Swing, por ejemplo, esperar usar eso en el trabajo es un sueño imposible. A menos que se postule a un trabajo que lo enumera específicamente, la mayoría de Java está orientada a la web o a la empresa.

Conceptualmente, debe comprender lo siguiente en Java y saber cómo describirlo y aplicarlo:

  • Comprensión de todas las estructuras básicas de control de Java, capaz de declarar métodos y una comprensión funcional de paso por valor y paso por referencia.
  • Una comprensión de las clases frente a las interfaces.
  • Comprender el papel de los modificadores públicos / privados / protegidos.
  • Comprensión de las cadenas como objetos inmutables. Cómo crear cadenas mutables a través de StringBuilder y otras clases.
  • Creación de un POJO / bean Java básico (entidad de datos).
  • Comprende cómo funcionan las estadísticas.
  • Saber declarar constantes.
  • Comprender las convenciones de nomenclatura de clase básica, variable y constante.
  • Sepa cómo organizar el código en paquetes.
  • Comprenda la función y el uso de los archivos de la biblioteca JAR y cómo hacer referencia a ellos en su aplicación.
  • Tener una comprensión funcional de la API Java central y dónde encontrar cosas. Como mínimo, conozca los roles y usos de las clases en java.lang, comprenda y pueda usar la API de colecciones de Java correctamente (es decir, declare variables de tipo Lista, no ArrayList) y conozca algunas de las clases de utilidad en java.util, java .text y java.math.
  • Conocimiento y teoría de algunos patrones de diseño básicos (Singleton, Factory, Facade, DAO, MVC).
  • ¡Sepa lo que es el CLASSPATH!
  • Sepa cómo funciona el método main () y cómo pasar argumentos a programas básicos.

Si está buscando entrar en el desarrollo web o empresarial, es útil tener una cierta exposición y conocimiento de lo siguiente:

  • Familiaridad con las bases de datos SQL y programación contra ellas a través de JDBC.
  • Para la web, comprenda cómo funciona el protocolo HTTP y cómo tiene lugar la interacción web básica.
  • Un conocimiento básico de HTML. Específicamente, la estructura básica de la página y cómo funcionan los formularios HTML. Diferencia entre GET y POST.
  • Cualquier conocimiento de la API Servlet / JSP, cómo funcionan los contenedores web y el ciclo de vida de Servlet.
  • Cualquier comprensión de XML. Los servicios web y la teoría WSDL son una ventaja.
  • Cualquier comprensión de las redes TCP / IP (TCP vs UDP, función de IP, DNS, direccionamiento de red).
  • Uso de cualquier marco de registro.
  • ¡Sepa lo que es Apache Commons!
  • Cualquier comprensión o exposición a los sistemas de control del código fuente y por qué son importantes.
  • Cualquier comprensión de la gestión de proyectos de software y el ciclo de vida de desarrollo de software.

Tenga en cuenta que no he enumerado un solo marco! Siempre estoy buscando conocimientos fundamentales y una base sobre la cual construir. No se espera que una persona de nivel de entrada sepa demasiado. Cuanto más, mejor, pero debe ser un lugar desde donde podamos crecer.

Y de esa primera lista, solo alrededor de 1/4 a 1/2 de ella alguna vez se toca en una clase de colegio o universidad. Prácticamente ninguno de la segunda lista está cubierto en las clases de colegio o universidad.

Honestamente, tener un conocimiento imperfecto de las cosas en la primera lista, ser capaz de responder algunas preguntas sin necesidad de un libro o Internet como una muleta en cada etapa y la voluntad de aprender es lo que se necesita para obtener usted en la puerta Dado que generalmente estoy entrevistando a candidatos que son de la misma escuela, estoy buscando cosas que los diferencien. Los emprendedores y los alumnos motivados son a menudo ese diferenciador.

¿Qué libro o plan de estudios usaste para aprender Java? ¿Cuánto aprendiste antes de los hilos?

Yo diría que el núcleo de Java con el que todos deberían estar familiarizados debería ser:

  • java.util.Collections : conozca sus diversos tipos de contenedores e interfaces como: secuencias de acceso aleatorio – java.util.List y sus implementaciones como ArrayList y secuencias asociativas de Vectorjava.util.Map y sus implementaciones como HashMap y HashTable Otras interfaces de colección y tipos como Set , Queue y Stack
  • Genéricos de Java
  • Manejo de excepciones, y cuál es la diferencia entre las excepciones marcadas y no marcadas
  • Pruebas unitarias con JUnit (y tal vez Mockito para burlarse)
  • Concurrencia “tradicional” en Java – java.lang.Runnable para subprocesos, y también java.lang.ThreadThread rara vez se usa debido a las restricciones en la herencia, y también porque el concepto de subclasificación de Thread es un poco anti-OO.
  • ConcurrentHashMap moderna de Java (desde Java 5): las colecciones y tipos de simultaneidad de java.util.concurrent y java.util.concurrent.atomic como ConcurrentHashMap , ConcurrentSkipList , Executor classes, Future y los tipos Atomic .
  • Conceptos reales de diseño de lenguaje y software como herencia, implementación, accesibilidad y visibilidad ( private , protected , public , etc.), patrones de diseño y algoritmos, paquetes, inyección de dependencia (que es bastante enorme en el código Java real)
  • Funciones de Lambda (solo Java 8, aunque esto es bastante nuevo y no extremadamente importante como las otras cosas en la lista)

Eso es solo lo básico. A continuación, deseará demostrar competencia en el uso del lenguaje , por lo que querrá escribir una gran cantidad de código de muestra para practicar el uso de esos conceptos. En cualquier empresa, aprenderá y usará muchas más cosas dependiendo de lo que esté haciendo:

  • Cómo crear y construir proyectos Java a gran escala utilizando cosas como ant , maven o ivy para la gestión de proyectos y dependencias
  • Utilizando más que solo Java, el JVM es anfitrión de una variedad de idiomas, incluidos Scala, Clojure, JRuby, Groovy, Rhino y Jython, que se han convertido en opciones populares para interactuar con Java o reemplazar a Java en situaciones como falta de rendimiento. código crítico
  • Usando marcos principales como Spring, o Apache Commons, o Google Guava, etc.
  • Usando bibliotecas Java más específicas como JDBC e Hibernate (para acceso a la base de datos), implementaciones JAX-RS como Jersey o RESTeasy para crear servicios web RESTful, o trabajando con las clases nio para el código de E / S.
  • Una base de datos real: saber cómo consultar una base de datos sin una muleta como Hibernate. También conceptos sobre bases de datos como la optimización de consultas y la agrupación de conexiones (generalmente proporcionadas por bibliotecas como c3p0 ).
  • Servidores de aplicaciones y contenedores como Tomcat, embarcadero, glassfish, JBoss, Weblogic
  • Java Servlet API, que es la biblioteca intermedia para el desarrollo web
  • Hacer cosas web con cosas como Wicket, o Tapestry, o Play, o Struts 2, o CXF, etc.
  • Inyección de dependencia e inversión de marcos de control como Google Guice o Spring DI
  • Haciendo Enterprise Java (cosas JEE)
  • Familiarizarse íntimamente con el sistema Java y la máquina virtual
  • Uso de código y bibliotecas específicos de la empresa.

Recomiendo tener en sus manos el Java efectivo de Joshua Bloch, la Concurrencia de Java de Brian Goetz en la práctica y el Desarrollador de Java bien fundamentado de Benjamin Evans si desea ampliar su conocimiento y conocimiento idiomático de Java.

Mientras tanto, aquí hay 3 trabajos en línea fáciles a tiempo parcial:

1. Empleos remunerados en redes sociales: visite el sitio web oficial

¿Sabía que las empresas de todo el mundo contratan a personas como usted para ayudarles a administrar sus cuentas de redes sociales como Facebook, Twitter y YouTube?

Hay mucho dinero en él, y la mejor parte es que no necesita ninguna calificación, experiencia previa o habilidades especializadas. Todo lo que necesita es unas pocas horas libres por semana, una computadora con conexión a Internet y un buen conocimiento de cómo usar Facebook, Twitter o YouTube.

¡Están contratando personas como tú para que lo hagan por ellos! Están pagando a personas como usted un gran dinero para trabajar desde casa haciendo tareas simples como:

  • Creando su página de Facebook Fan
  • Publicar actualizaciones de estado y comentarios
  • Crear perfiles de Twitter
  • Tuiteando ofertas especiales y promociones
  • Comprometerse con sus clientes a través de comentarios y publicaciones
  • ¡Pasa el tiempo jugando en Facebook y Twitter!

2. Redacción de trabajos en línea: visite el sitio web oficial

El sitio web Writing Jobs Online es un lugar donde los trabajadores independientes pueden encontrar un montón de diferentes trabajos de escritura. Aquí, incluso cualquier persona (escritores sin experiencia) puede comenzar a trabajar, haciendo muchos trabajos de escritura diferentes. Algunos ejemplos de trabajos son escribir contenido para sitios de blogs, libros electrónicos, libros, sitios web, revistas, etc.

Si ya es un buen escritor o tiene algún conocimiento sobre la escritura en línea, tendrá una gran ventaja sobre las personas que no lo hacen. Podrá comenzar a trabajar de inmediato. La plataforma en línea ofrece una amplia gama de temas que se actualizan todos los días. Por lo tanto, podrá elegir temas y escribir sobre temas que generen su interés.

En palabras simples, funciona así: escribir trabajos en línea cómo funciona: elige un trabajo de escritura, envía su trabajo, le pagan.

3. Obtenga dinero para jugar juegos – Visite el sitio web oficial

Y supongo que has escuchado que algunas cookies inteligentes se están pagando para jugar videojuegos y te preguntas si es solo un mito urbano. Así que estoy feliz de decirte que NO.

Verás, el negocio de los videojuegos ahora es más grande que el negocio de las películas, con un valor aproximado de $ 62 BILLONES actualmente . Y con ese tipo de dinero en juego, los juegos tienen que ser tan perfectos como sea humanamente posible. Porque si se lanza un juego con algunos errores, las malas noticias se extenderán como un incendio en línea, las ventas se dispararán y los creadores del juego perderán millones.

Entonces, con ese tipo de dinero en juego, es una gota en el océano para que los fabricantes de juegos le paguen hasta $ 30 por hora para probar sus juegos hasta la destrucción, para que puedan solucionar cualquier error antes del día del lanzamiento. Y aunque $ 30 puede ser una gota en el océano para las compañías de juegos, pronto se convierte en un ingreso útil para usted, particularmente cuando TAMBIÉN disfruta de juegos que nadie más en su vecindario ha visto aún.

Para un desarrollador de Java, es imprescindible tener una gran comprensión de la programación orientada a objetos. Sin tener una base sólida en OOPS, uno no puede darse cuenta de la belleza de un lenguaje de programación orientado a objetos como Java. Si no tiene una buena idea de qué es OOPS, aunque esté utilizando el lenguaje OOP, es posible que todavía esté codificando de manera procesal. Solo estudiar las definiciones del principio OO no ayudará mucho. Deberíamos saber cómo aplicar esos principios OO al diseñar una solución de manera OO. Por lo tanto, uno debe tener un conocimiento sólido sobre modelado de objetos, herencia, polimorfismo, patrones de diseño.

2. Domina las API principales
No importa cuán fuerte sea en términos de conocimiento teórico si no conoce las construcciones del lenguaje y las API principales. En el caso de Java, uno debe tener una experiencia práctica muy sólida con API centrales como java.lang. *, E / S, Excepciones, Colecciones, Generics, Threads, JDBC, etc. Cuando se trata del desarrollo de aplicaciones web, sin importar qué El marco que está utilizando tiene un fuerte conocimiento de Servlets, JSPs es imprescindible.

3. Sigue codificando
Las cosas se ven más simples cuando se habla de ellas teóricamente. Podemos dar una solución a un problema muy fácilmente en teoría. Pero podemos darnos cuenta de la profundidad del problema cuando comenzamos a implementar nuestro enfoque. Conocerá las limitaciones del idioma o diseñará las mejores prácticas mientras codifica. Así que sigue codificando.

4. Suscríbase a los foros
No estamos solos. Hay muchas personas trabajando en las mismas tecnologías en las que estamos trabajando. Si bien hacer una simple prueba de concepto en un marco puede no brindarle desafíos reales, cuando comience a usarlo en proyectos reales, enfrentará problemas extraños y no encontrará ninguna solución en su documentación oficial. Al comenzar a trabajar en una nueva tecnología, lo mejor y lo primero que debe hacer es suscribirse a los foros de tecnología relevantes. Cualquiera sea el problema que enfrente, es posible que otra persona en el mundo ya lo haya enfrentado antes y haya encontrado la solución. Y sería realmente genial si pudiera responder las preguntas formuladas por otros usuarios del foro.

5. Sigue blogs y responde
Como ya te dije no estás solo. Hay miles de fanáticos de la tecnología entusiastas en todo el mundo que publican sus ideas sobre la tecnología. Puedes ver diferentes perspectivas de la misma tecnología en los blogs. Alguien puede encontrar excelentes características en una tecnología y alguien más siente que es un marco estúpido que da sus propias razones de por qué se sentía así. Para que pueda ver una tecnología buena y mala en los blogs. Sigue los buenos blogs y responde / comenta las publicaciones con tu opinión al respecto.

6. Lea el código fuente de los frameworks de código abierto
Un buen desarrollador aprenderá a usar un marco. Pero si desea ser un desarrollador sobresaliente, debe estudiar el código fuente de varios marcos exitosos y populares donde puede ver el mecanismo de trabajo interno del marco y muchas mejores prácticas. Ayudará mucho en el uso de los marcos de una manera muy efectiva.

7. Conozca las tendencias tecnológicas.
En el desarrollo de software de código abierto, las tendencias tecnológicas siguen cambiando. Para cuando tenga una buena idea de un marco que podría volverse obsoleto y algún marco nuevo apareció en la imagen con un conjunto de características súper. El problema que está intentando resolver con su marco actual ya puede estar resuelto por el nuevo marco con una sola línea de configuración. Esté atento a lo que entra y lo que sale.

8. Tenga a mano fragmentos de código / utilidades de uso común
En horas extras puede que necesite escribir / copiar y pegar el mismo código / configuración una y otra vez. Mantener ese tipo de fragmentos de configuración como log4.properties, configuración jdbc, etc. y utilidades como StringUtils, ReflectionUtils, DBUtils serán más útiles. Sé que en sí mismo no te convertirá en un desarrollador excepcional. Pero imagínese que un co-desarrollador le pide ayuda para obtener la lista de valores de una propiedad de una colección de objetos y luego simplemente usó su ReflectionUtil y le dio la solución en pocos minutos. Eso te hará sobresaliente.

9. Conocer diferentes metodologías de desarrollo.
Familiarícese con varios tipos de metodologías como Agile, SCRUM, XP, Waterfall, etc. Hoy en día, elegir la metodología de desarrollo depende del cliente. Algunos clientes prefieren Agile y algunos clientes están contentos con el modelo en cascada. Por lo tanto, tener una idea sobre varias metodologías sería genial.

10. Documente / publique sus pensamientos sobre tecnología
En el trabajo diario, puede aprender cosas nuevas, nuevas y mejores formas de hacer las cosas, mejores prácticas, ideas arquitectónicas. Siga documentando esos pensamientos o publíquelos en un blog y compártalos en toda la comunidad. Imagina que resolviste un problema extraño que ocurrió al hacer un POC simple y escribiste en un blog al respecto. Puede ser que algún desarrollador en otras partes del mundo se enfrente al mismo problema en una aplicación implementada de producción. Piensa en lo importante que es esa solución para ese desarrollador. Así que escribe tus pensamientos, pueden ser útiles para otros o para ti mismo.

Para más sitio web: – http://www.traininginlucknow.in

Cuando estaba en la universidad, solo aprendí conceptos de JSE y OOP, además de bases de datos Oracle y SQL, y ningún desarrollo de aplicaciones web (al menos mi universidad lo incorporó más adelante). Aun así, no me costó mucho adaptarme y aprender, y mi primer proyecto fue una aplicación web de 3 niveles en la que tuve que desarrollar en todas estas capas.

Para un nivel de entrada, los profesionales deben tener los conocimientos básicos de programación, base de datos y algunas otras cosas, sin embargo, no se debe esperar que sepan todo de inmediato. En cambio, un proyecto bien administrado debe hacer que los desarrolladores senior guíen a los recién llegados durante algunas semanas, les expliquen la arquitectura general de la aplicación y las herramientas para comenzar, luego les den pequeñas tareas para que se calienten y finalmente dejen de supervisarlos mientras crecer.

Me tomó alrededor de 3 semanas ganar autonomía, incluso aunque todavía tenía mucho que aprender. Para los niveles de entrada, se espera que tenga una buena capacidad de adaptación en lugar de un vasto conocimiento.

No podemos decir el límite exacto de conocimiento, pero debe conocer Core Java, Spring, Hibernate, Web Services.

Estos son los requisitos básicos para convertirse en un recurso Java.

Hoy en día los servicios web son los conceptos más populares.

COREA JAVA

Debe conocer los conceptos básicos de OOP, colección, subprocesamiento múltiple, manejo de excepciones.

PRIMAVERA

Es un marco. Spring proporciona muchos módulos.

Debe conocer algunos módulos básicos como: Spring MVC, Spring Transactional, Spring Exception Handler.

Hoy en día, Spring Security es la mejor opción para proteger cualquier aplicación y servicios web también. Es una ventaja si conoce Spring Security.

Es muy bueno si conoces los servicios web. Los servicios web RESTful son mágicos ahora.

Diría que intente aprender programación orientada a objetos, conceptos básicos, encapsulación, polimorfismo, herencia, etc. Y trate de comprender estos conceptos a través de ejemplos en tiempo real. ¡¡¡Todo lo mejor !!!

Hola ,

Depende de su experiencia y requisitos de la empresa.

  1. Sin experiencia: Core Java. (Vaya conceptos)
  2. 1 año de experiencia: Core Java, Servlet JSP, si es posible JSTL
  3. 2 años de experiencia: Core Java, Java avanzado, marco en el que ha trabajado (tenemos un marco interno R2DS en HSBC, similar a Spring)
  4. Más de 3 años de experiencia: PREPÁRATE PARA SER ASADO. Literalmente deberías saber tanto como sea posible. Por ejemplo: JAVA (core + advance), Framework como Spring Struts Hibernate, HTML, HTML 5, CSS, CSS3, MAVEN, Log4J, JUNIT que prueban al menos algunos conceptos básicos. Servidor Tomcat, Despliegue de la aplicación. La mejor práctica de codificación. PATRONES DE DISEÑO . Escribir código complejo si le piden que escriba código. Algunos marcos de JavaScript como JQuery, Dojo 1.7 + etc, etc, etc … tanto como puedas imaginar.

¡Pero aún depende de la compañía lo que realmente quieren! En el mercado hay demanda de Angular JS con Java.

Su escenario siempre cambia, solo esté listo y confiado e intente aprender lo más posible en sus 3 a 4 años de servicio o trabajo. No solo piense en cambiar de compañía y dinero.

Recuerda líneas de 3 idiotas:

खुद को काबिल बनाओ कामयाबी झक मार के तुम्हारे पीछे आएगी |

(Hágase habilidoso y capaz, ¡el éxito eventualmente lo seguirá!).

Gracias

Sandeep Satone

No existe un conocimiento estándar que deba conocer en Java, porque los requisitos difieren de un trabajo a otro. Solo necesita conocer bien los conceptos básicos y mejorar su conocimiento en el área en la que desea trabajar.

También, la mayoría de las veces, Java se usa junto con otros marcos para organizar el código como Spring, por ejemplo
Spring Framework

Es difícil cuantificar la cantidad de conocimiento de Java o simplemente enumerar los temas a aprender. Hay varios criterios para juzgar que una persona depende del requisito del trabajo. Diga conocimiento del marco de Colecciones o Enterprise java con conocimiento de un servidor como Tomcat.

Hay una medida simple que creo que uno de los parámetros importantes es el siguiente.

Si puede utilizar un conjunto completamente desconocido de clases e interfaces en cualquier dominio nuevo con la ayuda de la documentación de la API, está listo para comenzar.

Por ejemplo, está desarrollando un proyecto java en el que necesita incorporar el procesamiento XML. Aunque es completamente nuevo en XML si puede utilizar la documentación de la API y todas las clases, métodos e interfaces necesarios sin dificultades, es una persona Java. Esto garantiza que conozca las clases heredadas, la abstracción a través de métodos públicos, el manejo de excepciones y varios aspectos fundamentales de la programación en Java.

Java para aprender OOP (conceptos básicos de clase, constructores, sobrecarga, visibilidad, etc.), diseñó un poco la GUI usando la API swing (escuchas de eventos, manejo de acciones, extensión de la API swing), hizo un poco de jsp básico e hizo todo lo habitual cosas como comprender los errores del compilador, el manejo de subprocesos e hicieron sobre una carga de clases para manejar archivos, errores y excepciones. Siempre recuerdo que me aburrí mucho cuando nos dieron la tarea de crédito adicional de crear una pequeña aplicación usando RMI.

Más que ser demasiado específico como Java, enfocarse en las estructuras de datos en general y fortalecerse en el pensamiento analítico lo convertirá en un mejor programador en el lenguaje que prefiera.

Si puede pensar y actuar correctamente en la resolución de problemas, el lenguaje es solo una cuestión de sintaxis. ¡Lo aprendí mucho!

Hola,

Por lo menos, necesita conocer el Core Java para obtener un trabajo, y siempre una ventaja si conoce el marco de trabajo, es decir, primavera, hibernateetc.

Core JAva incluye: –

  • Conceptos de OOP (muy muy imp ..! Preguntado en cada entrevista)
  • Clases abstractas e interfaces.
  • Constructores.
  • Archivo IO y serialización.
  • Colecciones – Lista, Mapa, Conjunto – Buscar, Algoritmos de clasificación. (Tema importante)
  • Especificadores de acceso.
  • Manejo de excepciones (muy importante desde el punto de vista de la entrevista)
  • JDBC (es solo la conectividad a la base de datos pero pasar por ella)

En los requisitos fundamentales, debe aprender:

HTML, XML, CSS, JavaScript, Core y Java avanzado, SQL.

Además, necesita algunas manos introductorias para:

Struts, Hibernate, Big Data & Hadoop, Bootstrap, Amazon Web Services, Google App Engine, Linux, Desarrollo de aplicaciones Android.

Esto es todo lo que se le ofrece en un curso de certificación de Java y tener un control sobre estos conceptos le asegura una entrevista de trabajo.

Cuanto más tú, mejor es. Pero la mayoría de las veces aprendes cosas en el trabajo. Los siguientes son los temas según mi experiencia que debe conocer, aparte de los conceptos básicos.

Trabajando con métodos y encapsulación

Trabajando con herencia

Manejo de excepciones

Roscado múltiple

Cuánto Java necesita saber para conseguir un trabajo: más de lo que sabe el entrevistador.

Idealmente, no debería tratarse de un trabajo. Es por eso que quieres aprenderlo y por qué solo Java.
Si le gusta aprender lenguajes de programación y ve cómo varios problemas pueden resolverse mediante programas simples, puede considerar cualquier lenguaje de programación.

Personalmente, creo que nunca se puede aprender lo suficiente sobre un lenguaje de programación ni nada a menos que usted sea el que construyó el lenguaje o contribuya activamente al lenguaje.

No mucho, concepto OOP, proyecto propio simple usando Hibernate.

Con lo que me encuentro el año pasado, cada nuevo proyecto se trata de tecnologías absolutamente nuevas y las personas mayores junto con los jóvenes tienen que estudiarlas.

Lo más probable es que les preguntes qué pueden hacer por tu educación, esto puede mostrarte si es realmente buena compañía o esclavitud.

Depende de su experiencia y requisitos de la empresa.

  paquete com.ashok.job;

 import java.util.ArrayList;
 import java.util.List;

 Persona de clase {
    nombre de cadena privada;
    Lista privada  habilidades;
    tipo de cadena privada;

    Persona pública (nombre de cadena, habilidades de lista , tipo de cadena) {
       http://this.name = name;
       this.skills = habilidades;
       this.type = type;
    }

    @Anular
    public String toString () {
       return "Persona [nombre =" + nombre + ", habilidades =" + habilidades + ", tipo =" + tipo + "]";
    }
 }

 clase pública GettingJob {
    public static void main (String [] args) {
       Lista  fresherSkills = new ArrayList  ();
       fresherSkills.add ("Conceptos básicos de Java Core");
       fresherSkills.add ("Matrices");
       fresherSkills.add ("Operadores");
       fresherSkills.add ("Controles de flujo");
       fresherSkills.add ("Conceptos de OOP");
       fresherSkills.add ("Clases");
       fresherSkills.add ("Interfaces");
       fresherSkills.add ("Marco de colección");
       fresherSkills.add ("Multithreading");
       fresherSkills.add ("Manejo de excepciones");
       fresherSkills.add ("Archivos");

       Persona más fresca = nueva persona ("Ashok", fresherSkills, "Fresher");
       System.out.println (más fresco);
      
       Lista  expSkills = new ArrayList  ();
       expSkills.add ("Conceptos de Java Indepth");
       expSkills.add ("Estructura interna de JVM");
       expSkills.add ("Patrones de diseño");
       expSkills.add ("Expresiones regulares");
       expSkills.add ("Diseño OO");
       expSkills.add ("MVC");
       expSkills.add ("Java Frameworks (Spring, Hibernate, etc.)");
       expSkills.add ("Registradores");
       expSkills.add ("JSVC");
       expSkills.add ("Mecanismo de bloqueo de subprocesos múltiples");

       Person exp = new Person ("Ashok", expSkills, "Fresher");
       System.out.println (exp);
    }
 }

Aquí, las habilidades personales varían de una compañía a otra.

Gracias A2A

Manera de aprender fácilmente

Puede intentar resolver algunos problemas de algoritmos en Java en la aplicación móvil Dcoder: Dcoder, Mobile Coding Platform – Aplicaciones de Android en Google Play

Cuando resuelves suficientes problemas, obtendrás confianza y esa es la clave para descifrar una entrevista, java básico es suficiente para la mayoría de las veces, la mayoría de los entrevistadores te juzgan por tus habilidades analíticas y de resolución de problemas, que puedes mejorar fácilmente.