*Job Description – Core Java Developer * *Location: San Jose, CA 8+ years of experience. *
*Responsibilities*: • Work with business units to crystallize business needs into product features, acting as a bridge between business and technical domains • Provide technical guidance and assistance to other software engineers. • Provide technical and domain thought-leadership, and mentoring to junior members of the team. • Develop product/platform • Review and approve software design and implemented code. • Provide effective cutting edge design/solutions for implementing product features. • Develop new capabilities to ensure continued competence and relevance of the center in supporting software development needs of PayPal's business. *Required Skills: *• Experience in building high traffic backend services for external customer facing web applications • Understands inside out of fundamentals of Java, specifically JDK7, JUnit, Maven, Jenkins & Sonar • Has built web applications and services using open-source Java Frameworks: Spring MVC & JAX-RS 2.0 implementations (e.g. RestEasy, Jersey or Apache CXF) • Has designed web applications and clearly understands concepts like Web Services, SOA, REST APIs • Has knowledge of different application servers like JBoss • Comfortable with Agile development and Scrum process • Identify Performance bottlenecks and use good coding patterns to avoid them in the first place • Take ownership of your work and can work independently • Source Control (GIT experience is an advantage) • Unit testing frameworks such as JUnit, Google Test • Highly analytical, innovative, and able to think strategically and to develop comprehensively detailed specifications • Ability to determine the impact of architectural solutions and recommendations. Must have experience in justification of technology solutions to business leaders • Excellent verbal and writing skills; ability to produce clear, concise communications and documentation. • Highly effective at working in cross-functional and cross geographical organizations • Experience in maintenance and enhancement of deployed products • Ability to work in a fast paced environment with diverse cultures • Ability to deal with uncertainty and adapt to changes *Desired Skills: *• Has to experience in refactoring existing codebase and in understanding existing implementations to decide to refactor or rewrite • Working knowledge of finance industry standards and practices preferred Any resume that meets these minimum requirements will be reviewed • Education experience – Engineering Degree (Preferably Computer Science) Minimum number of years of experience – 8+ Send us profiles only after you have one of your Senior Java Developers Internally Screen and Rank the candidate on these topics: Algorithms/Data structures Lists, Arrays, Trees – operations, and complexities One sorting algorithm – implementation + complexity One searching algorithm – implementation + complexity Should know when to use what data structure Stack, Queue – operations, and complexities *Java * Collections: Sets, Maps, Lists – operations and complexities Maps: HashMap, should know how to implement a simple one (using two arrays, example), how it works, hash collisions etc. Strings: Operations, complexity, immutability OOP/ Generics: Subtype, supertype, what is final, what is static etc. Exceptions: Runtime, compile time, errors, handling *Other stuff *Any 1 design pattern, where it is used etc. REST, SOAP: What is the difference, why to use one over another Authorization v Authentication Different HTTP status codes, what is client side error, what is a server error JavaScript: What is server side, what is client side, where would you use it. *Advanced Stuff **Threads*: Threadpools, synchronization, what is multithreading, race conditions, volatile, how to design with thread safety, maybe pub-sub implementation, locks Here is some additional feedback provided by one of our Sr. Java Tech Leads: To set the tone – you can expect questions similar to below ones during the client rounds. 1. Write a function to randomize a given array of elements (integer/string/any type) 2. Write a program to construct a binary search tree. 3. Given a binary search tree, find the distance between two random nodes. 4. Given a list of string, write a program to find a high-frequency word in the list. I would emphasize you to focus on the following areas for the client round: • Java Programming (Write as many programs as you can to get yourself comfortable with basic programming constructs) • Data structures – go through all basic data structures and their ADT & operations. • Search the internet for problem-solving questions and try to solve them yourself. (optimal solution) Thanks... Uday Varanganti Recruiting Specialist uday.varanga...@performancesoftech.com O: (785)380 8559 Ext:109 -- You received this message because you are subscribed to the Google Groups "IT RECURITER" group. To unsubscribe from this group and stop receiving emails from it, send an email to it-recuriter+unsubscr...@googlegroups.com. To post to this group, send email to it-recuriter@googlegroups.com. Visit this group at https://groups.google.com/group/it-recuriter. For more options, visit https://groups.google.com/d/optout.