Ace Your Next Technical Job Interview
Angie Jones
http://angiejones.tech
@techgirl1908
Senior Automation Engineer
Twitter, San Francisco, CA, USA
T.J. Maher
Adventures in Automation
@techgirl1908
@techgirl1908
@techgirl1908
@techgirl1908
UI
SERVICES
UNIT
@techgirl1908
public int add(int a, int b);
@techgirl1908
Given a user profile, how would you test
CRUD operations of a REST API?
@techgirl1908
CRUD | REST Methods | Tests |
---|---|---|
create | post | |
read | get | |
update | put | |
delete | delete |
@techgirl1908
CRUD | REST Methods | Tests |
---|---|---|
create | post | post with all optional and required data post with only required data post with required data missing post with invalid data for the parameters |
read | get | |
update | put | |
delete | delete |
@techgirl1908
CRUD | REST Methods | Tests |
---|---|---|
create | post | post with all optional and required data post with only required data post with required data missing post with invalid data for the parameters |
read | get | get when profile doesn't exist get when profile exists create profile then get update profile then get delete profile then get |
update | put | |
delete | delete |
@techgirl1908
CRUD | REST Methods | Tests |
---|---|---|
create | post | post with all optional and required data post with only required data post with required data missing post with invalid data for the parameters |
read | get | get when profile doesn't exist get when profile exists create profile then get update profile then get delete profile then get |
update | put | update existing profile update non-existing profile update deleted profile update then update again |
delete | delete |
@techgirl1908
CRUD | REST Methods | Tests |
---|---|---|
create | post | post with all optional and required data post with only required data post with required data missing post with invalid data for the parameters |
read | get | get when profile doesn't exist get when profile exists create profile then get update profile then get delete profile then get |
update | put | update existing profile update non-existing profile update deleted profile update then update again |
delete | delete | delete profile delete when there are dependencies delete after delete delete non-existing |
@techgirl1908
@techgirl1908
@techgirl1908
@techgirl1908
@techgirl1908
@techgirl1908
@techgirl1908
/html/body/div/div/div/div/div/div[2]/label/span[2]
@techgirl1908
@techgirl1908
.//span[contains(@class, 'PollXChoice-choice--radio')]/span[text() = '%s']
@techgirl1908
@techgirl1908
@techgirl1908
Notation | Description | Example |
---|---|---|
O(1) - Excellent | performance of execution is the same regardless of the input set | insert, delete, search Hash table |
O(log N) - Good | high performance at beginning but flattens as the size of the data set increases | binary search |
O(N) - Fair | performance will deteriorate in direct proportion to the growth of the input set | loop through List to find value |
O (N log N) - Bad | O(N) * O(log N) - task takes O(log N) and has to be repeated O(N) times | sorting |
O(N^2)- Horrible |
performance will deteriorate in direct proportion of 2 times the data set | nested loops N^2 is for 2 nested loops N^3 is for 3 nested loops |
O(2^N) - Horrible | number of calls inside function x number of times function will be called | recursive function with multiple calls (i.e fibonacci recursion) |
@techgirl1908
Structure | Description |
---|---|
Hash Table | maps keys to values |
Stack | line of data. last in, first out |
Queue | line of data. first in, first out |
Linked List | sequence of nodes where each node points to next node |
@techgirl1908
Instructions: 2 arrays. Print any that appear in both
Example:
a1 = {'a', 'b', 'c'}
a2 = {'b', 'c', 'd'}
@techgirl1908
Instructions: 2 arrays. Print any that appear in both
Example:
a1 = {'c', 'a', 'b', 'c'}
a2 = {'b', 'c', 'd'}
@techgirl1908
Instructions: 2 arrays. Print any that appear in both
Example:
a1 = {'c', 'a', 'b', 'c'}
a2 = {'b', 'c', 'd'}
Expected Result: {'c', 'b'}
@techgirl1908
Instructions: 2 arrays. Print any that appear in both
Example:
a1 = {'c', 'a', 'b', 'c'}
a2 = {'b', 'c', 'd'}
Expected Result: {'c', 'b'}
@techgirl1908
Instructions:
Given a list of Strings and a specific String, find out many times the String appears in the list
Example:
l = {"abc", "def", "abc", "ghi"}
s = "abc"
output = 2
@techgirl1908
Instructions:
Given a list of Strings and a specific String, find out many times the String appears in the list
Example:
l = {"abc", "def", "abc", "ghi"}
s = "abc"
output = 2
@techgirl1908
by Gayle McDowell
@techgirl1908
Angie Jones
http://angiejones.tech
@techgirl1908
Senior Automation Engineer
Twitter, San Francisco, CA, USA