Paycom Interview Questions

Réussis tes devoirs et examens dès maintenant avec Quizwiz!

What is the difference between a stack and a queue?

Stack is a collection of objects that works in LIFO (Last in First out) mechanism while Queue is FIFO (First in First out). This means that the object that is inserted first is removed last in a stack while an object that is inserted first is removed first in a queue.

count the frequency of words

Using HashTable with key is a word, and value is the frequency of the word. + If found a word, check whether it is existed in the Hashtable or not. - Existed: Increase the frequency of this word + 1 - Not, add it to hashTable with 1 frequency

Write a program that returns the number in the middle of a list.

def mid(list): if len(list) == 1 or len(list) == 2: return list[0]; return mid(list[1:-1]);

Who is your role model and why? (CEO)

Personally, I am a fan of Steve Job who have a strong mind and never gave up to achieve his goal, He is my model, and I want to learn from his character to apply in my career. Never give up and stay focus on the goal

Tranter's Philosophy

- investing in R&D to maintain a competitive edge - Provide customize product with solution-driven approach - Supporting its customer's life-cycle investments through quality and part services

Finish the test in the short time, how did you manage that?

...

Describe your coding style in three words.

Accuracy, Readable, Maintainable

How would you describe the company culture here?

Ask follow up questions

What is OOP?

+ Refers to a programming methodology based on objects, instead of just functions and procedures. These objects are organized into classes, which allow individual objects to be group together. Most modern programming languages including Java, C/C++, and PHP, are object-oriented languages, and many older programming languages now have object-oriented version + Definition - What does Object-Oriented mean? Object-oriented refers to a programming language, system or software methodology that is built on the concepts of logical objects. It works through the creation, utilization and manipulation of reusable objects to perform a specific task, process or objective.

Palindrome of a string

- A string is said to be palindrome if reverse of the string is same as string. For example, "abba" is palindrome, but "abbc" is not palindrome. 1) Find length of str. Let length be n. 2) Initialize low and high indexes as 0 and n-1 respectively. 3) Do following while low index 'l' is smaller than high index 'h'. .....a) If str[l] is not same as str[h], then return false. .....b) Increment l and decrement h, i.e., do l++ and h-. 4) If we reach here, it means we didn't find a mis

What is a dynamic ip address and a static ip address?

- Difference between static and dynamic IPs. When a device is assigned a static IP address, the address does not change. Most devices use dynamic IP addresses, which are assigned by the network when they connect and change over time - A dynamic IP address is an IP address that's automatically assigned to each connection, or node, of a network, like your smartphone, desktop PC, wireless tablet... whatever. This automatic assignment of IP addresses is done by what's called a DHCP server. A DHCP server assigned IP address is called dynamic because it will often be different on future connections to the network. The "opposite" of a dynamic IP address is called a static IP address (one that was configured manually)

return maximum element in an array

1. Pick 2 elements(a, b), compare them. (say a > b) 2. Update max by comparing (max, a) This way you would do 2 comparisons for 2 elements, amounting to 2N/2 total comparisons for N elements.

O'NEIL's data jobs duties

1/ Database Programming: Help clients with database architecture, database design, the creation of custom databases, and database applications for data-driven document solutions. 2/ Data Cleansing: O'NEIL's data cleaning solutions include address standardization, duplicate record elimination and CASS & NCOA for postage savings. 3/ Data Normalization 4/ Data Processing & File Management 5/ Automated Composition 6/ Template Creation + Editing 7/ Content Management

SQL Joins

A JOIN clause is used to combine rows from two or more tables, based on a related column between them. Here are the different types of the JOINs in SQL: (INNER) JOIN: Returns records that have matching values in both tables LEFT (OUTER) JOIN: Return all records from the left table, and the matched records from the right table RIGHT (OUTER) JOIN: Return all records from the right table, and the matched records from the left table FULL (OUTER) JOIN: Return all records when there is a match in either left or right table

SQL Self JOIN

A self JOIN is a regular join, but the table is joined with itself. SELECT column_name(s) FROM table1 T1, table1 T2 WHERE condition; SELECT A.CustomerName AS CustomerName1, B.CustomerName AS CustomerName2, A.City FROM Customers A, Customers B WHERE A.CustomerID <> B.CustomerID AND A.City = B.City ORDER BY A.City;

How would you determine if two strings are anagrams

An anagram is a word or phrase formed by rearranging the letters of a different word or phrase, typically using all the original letters exactly once. For example, the word anagram can be rearranged into "nagaram". Algorithm: Sol 1: using hashTable + First, using hashTable to insert all characters of the first string into the hashtable, with key is a character, value is the frequency of the character in the string. + Then, for the second string, each c in the second string. - If not existed in the hashTable, return false - If existed, then decrease the frequency of c by 1. If frequency == 0, then remove c out of the hashTable + Finally, if there is no character left in the hashTable, return true. Otherwise, return false ** Sol 2: Sorts String - Sort both strings, then compare 2 sorted strings ** Sol 3: (Count characters) This method assumes that the set of possible characters in both strings is small. In the following implementation, it is assumed that the characters are stored using 8 bit and there can be 256 possible characters. 1) Create count arrays of size 256 for both strings. Initialize all values in count arrays as 0. 2) Iterate through every character of both strings and increment the count of character in the corresponding count arrays. 3) Compare count arrays. If both count arrays are same, then return true.

What is the kind of program or application the company want to develop?

Ask interviewer

What is coupling?

Coupling is the degree of interdependence between software modules; a measure of how closely connected two routines or modules are;[1] the strength of the relationships between modules. + Content coupling (high): Content coupling (also known as pathological coupling) occurs when one module modifies or relies on the internal workings of another module (e.g., accessing local data of another module). In this situation, a change in the way the second module produces data (location, type, timing) might also require a change in the dependent module. + Common coupling: Common coupling (also known as global coupling) occurs when two modules share the same global data (e.g., a global variable). Changing the shared resource might imply changing all the modules using it. + External coupling: External coupling occurs when two modules share an externally imposed data format, communication protocol, or device interface. This is basically related to the communication to external tools and devices. + Control coupling: Control coupling is one module controlling the flow of another, by passing it information on what to do (e.g., passing a what-to-do flag). + Data coupling: Data coupling occurs when modules share data through, for example, parameters. Each datum is an elementary piece, and these are the only data shared (e.g., passing an integer to a function that computes a square root).

What is encapsulation and what are its advantages? What's Encapsulation and Abstraction

Encapsulation makes it possible to separate an objects implementation from its behavior to restrict access to its internal data. This restriction allows certain details of an objects behavior to be hidden. It allows us to create a "black box" and protects an objects internal state from corruption by its clients. Encapsulation prevents access to implementation detail Whereas, abstraction allows to making relevant information visible. Abstraction usually uses in Abstract class or interface. For example, private method in a class is encapsulation from outside this class. All methods in an interface or abstract class provide relevant information need to know about the object

I just want to let you know that I am very interested in this opportunity, and hope we can move forward. What is the next step?

Follow up

What characteristics have made your best employees successful here?

Follow up

What is the company expectation for me in the next 3 months?

Follow up

Code an algorithm to find all prime numbers less than n.

Following is the algorithm to find all the prime numbers less than or equal to a given integer n by Eratosthenes' method: Create a list of consecutive integers from 2 to n: (2, 3, 4, ..., n). Initially, let p equal 2, the first prime number. Starting from p, count up in increments of p and mark each of these numbers greater than p itself in the list. These numbers will be 2p, 3p, 4p, etc.; note that some of them may have already been marked. Find the first number greater than p in the list that is not marked. If there was no such number, stop. Otherwise, let p now equal this number (which is the next prime), and repeat from step 3. When the algorithm terminates, all the numbers in the list that are not marked are prime.

Why are you interested in working with us? (CEO)

I knew that company need a software developer who had experiences in mySQL, object OO programming, and want to build an application that can be used by millions of people, that perfect fit to my skills, experiences, and education. Thus, I want to join the company to build that product to make an impact to the team

Why did you apply for this job?

I know that the company is looking for a Software Developer who has experience in multi-programming language, and SQL programming, that is perfect match with my skills. Moreover, the company wants to build a product that can be used by millions of user across the country. This has very interested me to apply for this job to work for the company to help the company build that system.

How would you rate your knowledge?

If you are very good at programming, and know the language to its core, rate yourself high. But if it is not the case, give the interviewer some intermediate number. Higher you rate yourself, more difficult will be the level questions asked in the interview, and more detailed and elaborated answers are expected. Also, if you are a fresher, never rate yourself more than 8, no matter how much expertise you have in the subject. I totally, understand it becomes difficult for someone to answer that question. If you would say 5 or anything below thay, then the consideration of your profile further is doubtful. Also if you would 8 or more than that, then you would amplify interviewer 's expectations from you. The best answer to that question is that depends on the situation and the scope of work. On the job, having the adequate experience is what mayyers, having a SQL master build a database for a school or a small organization would seriously mean having an overqualified person do the job. That could be done by anyone having some experience with SQL and database operations. We don't need a specialist to do the work of an associate. Also an associate will not be more than 6 in any case with the skill in comparison to a professional or specialist. If they are unable to judge your capabilities and limits, expect such questions. They don't actually mean anything other than assumptions. Whenever you face such question, answer them with a different number and see what question do they put forward next and what next steps are. If not a guarantee that they would hire you, if you would say 10/10 as an answer

What programming language to you believe will outlast the others?

It is Java because it is independent platform, so we can run it in any OS

Talk about a large challenging project in your academic life or career. (developer)

It was a data mining project that I need to use neutron network to classified a Reddit article. even I do not know python, Keres, and Tensor Flow when starting the project; however, after 2 months, I knew python, and can apply Neutron Network to classify a Reddit article. Thus, I finish the project on-time, and made an A in this class

What is your greatest achievement? (CEO)

My greatest achievement was helping AVBC company build and Developed window applications to manage Supply Chain using C#, SQL database. I worked with the client, to understand their requirement, and help them to build the software to manage their restaurant, from create ticket, book table, send ticket to kitchen, check out. The software helped the company increased more than 50% annual profit

Tell me a little bit about yourself

My name is Loc, I have just graduated this May with a master's Degree in computer science. I have more than 4 years working experiences in C#, SQL, ASP.net, Java scripts, python. I am a full stack developer who can build an app or a website by using mySQL, C#, ASP.NET. For example, while working for AVBC Company, I built a POS window app that can help owner to manage their employees such as calculate employees' salary, create and sale tickets to customers, calculate annual sale reports by using C#, SQL local express - Build Inventory System that can help owner keeps track their import and export products, sale product by using C#, SQL 2008. - Build Restaurant POS system that can allow customer to place an order, self-checkout using C#, mySQL - Build a classify website that user can create a profile, then advertise their business by using ASP.NET, mySQL, Angular JS - Currently, I am building an untangled game that is using ASP.NET, Java Script Framework (Phaser.js) while working as Research Assistant at UNT Since I work on many projects, and have experiences in many programming languages especially C#, ASP.NET MVC, SQL, so I can use my skill, works experience, and my education to add values to the company.

This job will be busy, stressful job. what do you think how you can/will manage your work/life balance

Priority all my task, mark the test as my highest priority, and need to spend at least 3 hours to prepare for that.

What is your favorite Object-Oriented Programming principle?

SRP - Single Responsibility Principle.: a class should have only a single responsibility (i.e. changes to only one part of the software's specification should be able to affect the specification of the class).

Find the most common integer in an unsorted array.

Sol 1: Use HashTable to insert each number into a hashTable. while traversal each number in the unsorted array. + Add each number into the hashTable with number is a key, value is the frequency of this number. + Save the common integer, max frequency when traversal. Finally, return the common integer after traversing all number in the unsorted array. So 2: A better approach is to create a count array of size k and initialize all elements of count[] as 0. Iterate through all elements of input array, and for every element arr[i], increment count[arr[i]]. Finally, iterate through count[] and return the index with maximum value. This approach takes O(n) time, but requires O(k) space.

Write a program that returns only unique characters in a string (ex. aaaabbbc becomes abc)

Sol 1: Using Hashtable, insert each char to hashtable (char is a key, value is 0), then print out all characters in the hashtable to return unique characters Sol 2: Create a HashTable to store counts of characters. Traverse the input string str and do following for every character x = str[i]. - Add it into the hashTable if x not belong to HashTable- - Else, increase the count of the char if it is existed in the hashTable Traverse the HashTable to print out character that has count = 1

SQL FULL OUTER JOIN

The FULL OUTER JOIN keyword return all records when there is a match in either left (table1) or right (table2) table records. SELECT column_name(s) FROM table1 FULL OUTER JOIN table2 ON table1.column_name = table2.column_name; SELECT Customers.CustomerName, Orders.OrderID FROM Customers FULL OUTER JOIN Orders ON Customers.CustomerID=Orders.CustomerID ORDER BY Customers.CustomerName;

Group by clause in SQL?

The GROUP BY statement is often used with aggregate functions (COUNT, MAX, MIN, SUM, AVG) to group the result-set by one or more columns. SELECT column_name(s) FROM table_name WHERE condition GROUP BY column_name(s) ORDER BY column_name(s); Ex: The following SQL statement lists the number of customers in each country: SELECT COUNT(CustomerID), Country FROM Customers GROUP BY Country;

SQL INNER JOIN Keyword

The INNER JOIN keyword selects records that have matching values in both tables. SELECT column_name(s) FROM table1 INNER JOIN table2 ON table1.column_name = table2.column_name; Ex: SELECT Orders.OrderID, Customers.CustomerName FROM Orders INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID;

SQL LEFT JOIN

The LEFT JOIN keyword returns all records from the left table (table1), and the matched records from the right table (table2). The result is NULL from the right side, if there is no match. SELECT column_name(s) FROM table1 LEFT JOIN table2 ON table1.column_name = table2.column_name; The following SQL statement will select all customers, and any orders they might have: SELECT Customers.CustomerName, Orders.OrderID FROM Customers LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID ORDER BY Customers.CustomerName;

SQL MIN() and MAX() Functions

The MIN() function returns the smallest value of the selected column. The MAX() function returns the largest value of the selected column. SELECT MIN(column_name) FROM table_name WHERE condition; SELECT MIN(Price) AS SmallestPrice FROM Products;

What's is MVC

The Model-View-Controller (MVC) is an architectural pattern that separates an application into three main logical components: the model, the view, and the controller. Each of these components are built to handle specific development aspects of an application. MVC is one of the most frequently used industry-standard web development framework to create scalable and extensible projects. + The Model component corresponds to all the data-related logic that the user works with. This can represent either the data that is being transferred between the View and Controller components or any other business logic-related data. For example, a Customer object will retrieve the customer information from the database, manipulate it and update it data back to the database or use it to render data. + The View component is used for all the UI logic of the application. For example, the Customer view will include all the UI components such as text boxes, dropdowns, etc. that the final user interacts with. + Controllers act as an interface between Model and View components to process all the business logic and incoming requests, manipulate data using the Model component and interact with the Views to render the final output. For example, the Customer controller will handle all the interactions and inputs from the Customer View and update the database using the Customer Model. The same controller will be used to view the Customer data.

SQL RIGHT JOIN

The RIGHT JOIN keyword returns all records from the right table (table2), and the matched records from the left table (table1). The result is NULL from the left side, when there is no match. SELECT column_name(s) FROM table1 RIGHT JOIN table2 ON table1.column_name = table2.column_name; The following SQL statement will return all employees, and any orders they might have have placed: SELECT Orders.OrderID, Employees.LastName, Employees.FirstName FROM Orders RIGHT JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID ORDER BY Employees.LastName

SOLID Design principles

The SOLID principles of Object Oriented Design include these five principles: SRP - Single Responsibility Principle.: a class should have only a single responsibility (i.e. changes to only one part of the software's specification should be able to affect the specification of the class). OCP - Open/Closed Principle: software entities ... should be open for extension, but closed for modification LSP - Liskov Substitution Principle.: objects in a program should be replaceable with instances of their subtypes without altering the correctness of that program. ISP - Interface Segregation Principle: many client-specific interfaces are better than one general-purpose interface DIP - Dependency Inversion Principle: one should "depend upon abstractions, [not] concretions. (hard, heavily)

Why computer science?

The most important aspect of computer science is problem solving, an essential skill for life. Students study the design, development and analysis of software and hardware used to solve problems in a variety of business, scientific and social contexts.

string reversal algorithm

There are 2 ways to solve the: + If allow to use data structure, we can push each char to stack, then pop every characters out to get the reserve string. + Sol 2: Covert string to array of char = str - n = get length of the array - for (int i = 0; i < n / 2; i ++) { tmp = str[i]; str[i] = str[n-i-1] str[n-i-1] = tmp; }

Do you have any difficulty when you have to finish the test during the weekend?

Working during the weekend is not an easy task, since there are so much works need to handle such as I need to finish my home work in Database class, review my notes in Graph Theory class, and do the test. Therefore, i need to look into all of my tasks, priority them, then make a plan to finish those Since doing the test is my highest priority, so I need to spend time to review, and do the test.

- Machine learning, data analysis is a trending in Computer Sciences. Does the company have a plan to apply Machine Learning in future

ask during interview

Recursive palindrome

if(s.length() == 0 || s.length() == 1) // if length =0 OR 1 then it is return true; if(s.charAt(0) == s.charAt(s.length()-1)) // check for first and last char of String: // if they are same then do the same thing for a substring // with first and last char removed. and carry on this // until you string completes or condition fails return isPal(s.substring(1, s.length()-1)); // if its not the case than string is not. return false;

What is instantiation?

instantiation is the creation of a real instance or particular realization of an abstraction or template such as a class of objects or a computer process. ... In other words, using Java, you instantiate a class to create a specific class that is also an executable file you can run in a computer.

Describe polymorphism in OOP

when class has different functionality while sharing the same interface. If you think polymorphism in the real world. a good example is a blue-ray can play DVD, or a CD. it depends on what you put into it. The blue-ray disk itself as a interface, and if you think a CD, and DVD is two different objects of a function can handle, DVD can play in one fashion, while CD can play in order fashion. Another form of polymorphism is to overload a function with different parameter. it is another kind of polymorphism


Ensembles d'études connexes

triangle shirtwaist factory fire

View Set

Check for Understanding (Cables)

View Set

MORS 113: Embalming Lecture Final Exam

View Set