*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 "CorptoCorp" group. To unsubscribe from this group and stop receiving emails from it, send an email to corptocorp+unsubscr...@googlegroups.com. To post to this group, send email to corptocorp@googlegroups.com. Visit this group at https://groups.google.com/group/corptocorp. For more options, visit https://groups.google.com/d/optout.