General work simulation interview questions

This was a really good set of articles I found regarding Amazon Interview LP questions: https://interviewgenie.com/blog-1/2018/1/10/ownership

Since the link that I put up there only provides a few sample questions on two major leadership principles which are ‘Customer Obsession’ and ‘Ownership’, I found another link that has questions for other leadership principles: https://interviewsteps.com/blogs/news/amazon-leadership-principles-interview

According to the post linked by the first link, I should prepare at least two answers for each LP. However, I doubt that I get many questions at this stage for all of them. I can finish today’s work by thinking about one example for each LP.

Company A work simulation Interview

According to this link: https://www.quora.com/What-is-the-work-simulation-assessment-in-the-second-OA-at-Amazon-for-SDE-position

It will ask you some questions to understand your work ethics and attitude. Therefore, I need to ask how to answer the questions and choose the right answer. Also, I need to collect information from emails/chat history (This may help!)

According to this post, I should choose ‘user experience’ over ‘deadline’, and ‘deadline’ over other facts.

Another resource: https://www.quora.com/What-is-the-work-simulation-assessment-in-the-second-OA-at-Amazon-for-SDE-position

Another resource: https://www.teamblind.com/article/Work-Simulation-120-minutes-in-Amazon-online-assessment-uFXpuDa8

According to this link, there will basically be two windows. One for chat and another for video.

Tomorrow I will practice my interview skills using articles and amazon leadership principles.

Preparation for the interview for ‘I’

The first round was a basic behavioral interview, and the second interview was more of a case-style question in which we walked through an entire product and its lifecycle from ideation to launch.

From Glassdoor

Preparing for basic behavioural interview questions:

Some onsite tips:

  • Translate your work into a measurable business impact
  • Talk about what you did instead of what your team did
  • You need to talk about the outcome of your work and what you did in this project
  • What did you do to acquire the knowledge for marketing and business side

Possible questions:

  • Why do you want to work for IBM?
    • Conducting business in a globe scale

The interface they are using: HireVue

The interview is conducted in the exact same format as the practice questions, with 30 seconds to prepare for each question, and up to 3 minutes to answer.

  Basic HireVue interview questions

Click to access Typical%20Questions%20from%20HireVue%20Interviews.pdf

https://www.cu.edu/employee-services/collaborative-hr-services/sample-hirevue-questions

From here: https://www.quora.com/What-questions-are-asked-in-the-IBM-HireVue-interview

What do you know about IBM current products and services.

In case you get the position, what would you apport to the IBM team.

You would be asked about your economic expectations.

You would be asked about your professional background and how do you think that experiencie could be useful for the position your applying to.

You would be provide with hipotetic situations about a problematic, such as how would answer to a client in case something goes wrong in his request, and an etic problem, such as what would do if you see that a manager acts in certain way in order to get the things done.

You have to demonstrate that your personal values are aligned with IBM values, honesty, etic, no discrimination are super important fo IBM. (There is also other moral values they’re were just an example).

For each position the firts interview is different, each IBM area in the world and in each bussines area inside IBM has a different first interview, however the aspects I described applies for any due for IBM is important to know if you understand what we do now, if your personal values are aligned with IBM values, and how your professional background can be usefull for the position. (And if your economic expectations are comptible with the position economic offering)

https://targetjobs.co.uk/employers/ibm/how-to-answer-ibm-interview-questions-343024

I think I can use STAR structure that is described below to prepare for the interview

https://targetjobs.co.uk/careers-advice/interview-types/456283-how-to-answer-typical-competency-based-interview-questions

If I have more time, I can read on: https://careers.ibm.com/page/show/offering-manager

Understanding the meaning of ‘offering manager’ at IBM

https://www.learneducatediscover.com/offering-management

I’m currently in the middle of the hiring process for the offering manager position at IBM. When I was applying for the job, I was a bit confused by the name of the position.

What the heck is the offering manager? Is this close to product manger?

After I listened to the podcast by Alex Bentley, now I think I sort of understood this position better. Below is the summary of the audio liked above.

IBM has two reasons why it calls this position an ‘offering manager’ rather call it as a ‘product manager’.

Historically, IBM called people who are more focused on ‘project management’ as ‘product managers’. Then, IBM realized that the responsibility for the role should be bigger than that. They want people who create business rather than experiences.

So one of the examples that he gave that an offering manager at IBM would do, but product manager might not do is

If someone in the higher up asks,

“Are we on the right track to release the product within 3 months?”

Product Manager: (focus only on user experience and creation process) Well, who are the users that I have. What are the experiences and capabilities that I need to be successful.

Offering Manager: What is the probability that there is a business there? How many data points should I collect to understand the market? How many sales people should I hire for this project?

  • Make sure the project is on the right track (Traditional responsibility)
  • What is the user experience with this product (Traditional responsibility)
  • What is the market value of this product? (Offering manager will do)
  • How should I sell this? (Offering manager will do)

What happens during the training period?

  • Experience-based
    • IBM is giving a trainee a real project to work on
    • E.g., Work on the storage portfolio
    • Doing the market analysis and finding out the market strategy
  • Program-based
    • Working with engineers day to day
    • Translate what users want for that technology
  • There are people who work for both of the areas (That’s what I want to be)

Why is this position attractive?

  • You’re engaged in all of the processes for producing the product
  • Traditionally, they were talking about the product lifecycle management (PLM) and revenue data whereas now how we are able to track and how to make users find your product
  • Net promoter score: how loyal your customers are?
  • Key Performance Index (KPI): The key element to determine the success of the product: Revenue for each quoter, but if the scale of the project is small, then it will be treated as a start-up product that cares more about the number of customers that are using etc.
  • Hence, the KPI can be different depending on where the product lies on the life cycle.

What is different from the start-up product?

  • Your product should be incorporated with the company value

What is the typical day of an offering manager?

  • Sitting with the engineers to discuss the backlogs for this particular product
  • Pitching the analysis

What is the most valuable thing?

  • Ability to say no and articulate your reasons well
    • Persuading people with the data
  • You need to go deep and find the root cause of something
  • Focus on your users

Getting a job at ‘I’

I want to be more prepared than remorse later. I highlighted the key points from the job requirements.

https://www.google.com/search?q=offering+manager+IBM&oq=offering+man&aqs=chrome.0.69i59j69i57j69i60l2.1551j0j7&sourceid=chrome&ie=UTF-8&ibp=htl;jobs&sa=X&ved=2ahUKEwjV-NvZ_KvlAhWHnp4KHQwOBeUQp4wCMAB6BAgKEAE#htidocid=C5J2WmZMtQHhdqFAAAAAAA%3D%3D

What does the recruiter want?

  • First, focus on the needs of the client
    • What approach can we take? Especially for the domain? What kind of knowledge can I bring?
  • Entrepreneurial, adaptable, analytical, creative problem solvers, persuasive, empathetic, tenacious
  • Design, Engineering, Customer-oriented
  • Articulate markets (How can this be done?), research users (how this can be taken) and define competitive landscape (market research)
  • Innovate with established & emerging technology – software, hardware and services
  • Develop and execute experience-based roadmaps, business models and go-to-market plans

Questions that I have

  • There are two levels of AOMs based on education, experience and skills — which level am I being considered?

What should I do?

Resources for later use

Brushing up on my Java skill

Please note that the pics and content posted here are from other websites!

This is just for preparing for my interview

I decided to use this website to learn Java again using the two sources as below

  • Basic Java naming convention (https://www.geeksforgeeks.org/java-naming-conventions/):
    • CamelCase convention: Class and Interface should start with a Capitalized character
    • Method: should be a verb and start with a lower case
    • Constant variable: all upper cases and use ‘_’ to combine
    • Package should all be lower case
  • Basic knowledge of Java
    • Case Sensitivity
    • Program file name should be matched with the Class name
    • Java program always start with main function
  • Java identifier
    • Names for classes and methods etc
  • Java modifier
    • Access modifier
    • Non-access modifier (final, abstract, strictfp: just to ensure the floating point calculation)
  • Java variable (https://www.leepoint.net/data/variables/45local-inst-class.html)
    • Local variable: are declared in a method, constructor, or block. When a method is entered, an area is pushed onto the call stack. This area contains slots for each local variable and parameter. When the method is called, the parameter slots are initialized to the parameter values. When the method exits, this area is popped off the stack and the memory becomes available for the next called method. Parameters are essentially local variables which are initialized from the actual parameters. Local variables are not visible outside the method.
    • Instance variable: are declared in a class, but outside a method. They are also called member or field variables. When an object is allocated in the heap, there is a slot in it for each instance variable value.
      • Instance variables are created when an object is created with the use of the keyword ‘new’ and destroyed when the object is destroyed. (The life cycle goes with the object’s life cycle)
    • Visible in all methods and constructors of the defining class, should generally be declared private, but may be given greater visibility.
    • Class/static variables: are declared with the static keyword in a class, but outside a method.  There is only one copy per class, regardless of how many objects are created from it. They are stored in static memory. It is rare to use static variables other than declared final and used as either public or private constants.
    • Primitive – byte: 8 bits, unsigned, 2^8 = 256, but since it is signed, one bit should be used for signing (either it’s positive or negative)
    • Primitive – there is also short (16 bits & signed), int (32 bits & signed), long (64 bits & signed)
    • Primitive – float (32 bits & single precision)
    • Primitive – double (64 bits & double precision)
    • Primitive – Char (16 bit & unicode – supporting up to 4 bytes)
  • Java Enums: Enums restrict a variable to have one of only a few predefined values. The values in this enumerated list are called enums.
  • Inheritance: Superclass and Subclass
  • Interface: Defined as a contract between objects on how to communicate with each other. An interface defines the methods, a deriving class (subclass) should use. But the implementation of the methods is totally up to the subclass.

Inheritance

  • Constructor: Each time a new object is created, at least one constructor will be invoked. The main rule of constructors is that they should have the same name as the class. A class can have more than one constructor.

File rules

  • There can only be one public class per source file.
  • A source file can have multiple non-public classes
  • All directories under src should be lower cased and these should be used as packages
  • Normal programs = one package
  • Library = one package
  • Program + library = two packages

Design approach

  • Singletone: where you would be able to create only one instance of a class.

Package and Import

  • In simple words, it is a way of categorizing the classes and interfaces.
  • Use the proper import statement: Package name > Class name (e.g., For example, the following line: import java.io.*; would ask the compiler to load all the classes available in directory java_installation/java/io)
  • Package declaration: Each file may have a package declaration which precedes all non-comment code. The package name must be the same as the enclosing directory.

Array

  • Array vs. List
List
Array: The length is fixed

OOP terminology

  • override: If a subclass redefines a method defined in a superclass, the method in the superclass is overridden
  • overload: A method in a class is overloaded if there is more than one method by the same name. If the same name is used, the methods must different in the number and/or types of the parameters so that there is no confusion.
  • abstract class: A class which doesn’t define all it’s methods is called an abstract class.
  • Interface: An interface is essentially the same as an completely abstract class.
  • Protected: Visible to the package and all subclasses
    • A subclass does not inherit the private members of its parent class. However, if the superclass has public or protected methods(like getters and setters) for accessing its private fields, these can also be used by the subclass.
  • Abstract class: If a class is declared abstract, it cannot be instantiated.
  • Encapsulation: To achieve encapsulation in Java, (1) Declare the variables of a class as private (2) Provide public setter and getter methods to modify and view the variables values
  • Shallow copy vs. Deep copy:

In Java, all primitives like int, char, etc are similar to C/C++, but all non-primitives (or objects of any class) are always references.

Collection vs. Array

  • Collections data structures work only with objects, not primitive values: A basic set of methods for working with data structures
  • List: Extends Collection. Elements are accessible sequentially or by index
  • Map: Stores key/value pairs, rapidly accessible by key
  • Set: Extends Collection. Conains only one copy of a value
java-arraylist

Linked List

Hashset

The HashSet class implements the Set interface, backed by a hash table which is actually a HashMap instance. No guarantee is made as to the iteration order of the set which means that the class does not guarantee the constant order of elements over time.

Hashmap

Regex

Regular Expressions or Regex (in short) is an API for defining String patterns that can be used for searching, manipulating and editing a text. Regular Expressions are provided under java.util.regex package.

Useful Resources from https://jrebel.com/wp-content/uploads/regular-expressions-cheat-sheet.pdf

Good resources to read: https://www.vogella.com/tutorials/JavaRegularExpressions/article.html#grouping-and-back-reference

https://stringr.tidyverse.org/articles/regular-expressions.html (Regarding Escaping)

File

  • When a File object is created, the system doesn’t test to see if a corresponding file/directory actually exists; you must call exists() to check. 
  • Instances of the File class are immutable; that is, once created, the abstract pathname represented by a File object will never change

Life cycle

  • Garbage collection
    • The finalize( ) Method is get called before the class is garbage collected

My job interview process with A

I got a link for the online assessment with the company name starting with ‘A’

First, I decided to look into the existing sources to get an idea on how I should prepare for that.

Let’s start with this: https://leetcode.com/discuss/interview-experience/402170/amazon-sde1-vancouver-sep-2019-offer

So the online question takes 90 minutes. There are two questions and I need to explain my approach.

  • Q1: Heap question, something similar to return minimum cost of joining ropes.
  • Q2: Similar to Shortest Path in to a node in a graph
  • Q3: Describe the my thinking process
My take on:
- Try Java programming to sort some elements using different data structures and algorithms
- Also, practice on writing my thoughts
- The person who got a job did 150 LC (I'm going to do 30 per day)

List of things to complete:
- Git commands
- Java specific knowledge
- My own javascript webpage

My plan:

  • Do the leet code problem (Algorithm) and write my findings on the blog
  • Practice my writing for describing my thoughts
  • Do Java programming questions
  • Do Java-specific problems
  • Do shell-scripting language
  • Do Javascript specific problems

Resources to use:

Testdom for Java: https://www.testdome.com/questions/java/song/32641?visibility=3&skillId=4

Read about LP: https://www.amazon.jobs/en/principles

My own practice: Writing Java code and creating the Junit test

Learn from others’ failure:https://dev.to/awwsmm/what-i-learned-from-bombing-an-amazon-coding-assessment-4aom

From his post, it seems like I need to focus on doing it fast and think about the edge case later. Also since it’s a online coding process, I can prepare some code snippets that I can use right away.

Use your own editor: I think that is the best recommendation I got. I should be ready with my Java editor and Junit thing

Things to do:

My lit code: 4. Median of Two Sorted Arrays

Sat: Lit code 50 questions, Amazon preview test (https://amdemo.aspiringminds.com/?data=eyJsb2dpbiI6eyJ1c2VybmFtZSI6InlsZWltMjdAY3MudWJjLmNhIiwicGFzc3dvcmQiOiJuYnQ4dmtucCIsImlzQXV0b2xvZ2luIjoxLCJwYXJ0bmVySWQiOiIzMDAxIiwiYXV0aGtleSI6Ik1qVmhaRFF4Tkdaak1UY3hOREl6TWpGa1l6VTFZekUwWVRVM01EUXdaR1U9IiwibGFuZ3VhZ2UiOiJlbiIsInJldHVyblVybCI6IiJ9fQ%3D%3D#/en)
Sun: Lit code 50 questions (Timing required)
Monday: Lit code 50 questions
Tuesday: Prepare online sources and editor, do the Lit code
Wed: Do the question in the after noon
Things to brush up: 
https://stepbystepexpert.com/2019/03/17/how-to-pass-amazon-coding-test/
Sorting, Searching, Hashing, Tree Traversal, Graph Traversal, and Dynamic Programming algorithms. Get familiar with data structures like Linked Lists, HashMaps, Trees. 
Learn to Calculate Time / Memory Complexity
Work Log: 
2019/10/12

The log of mistakes

In this post, I decided to record my writing mistakes to learn English writing in a reenforcing way.

Format:

Mistake: Explanation of the mistake
Date of instance:
A brief summary of the instance:
Mistake: forgot to put 'the'
Date: 2019/09/24
Summary: I forgot to put 'the' in front of a specific conference
Mistake: Don't know how to use 'how' subjective + verb or 'how' + adjective + can + subjective + verb
Date: 2019/09/24
Summary: https://dictionary.cambridge.org/grammar/british-grammar/how
It was simpler than I thought.
Design a site like this with WordPress.com
Get started