Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Interview Cheatsheet

Interview Cheatsheet

General Question - Introduce Each Other (介绍自己的经历, 经验, 技能, 特长 等)

Q: Introduce Your Self

My name is Sanhe.

I have versatile Engineering background in Data Architect, Data Engineering, Data Analytics, Software Development, DevOps engineering, Database Management, and Machine Learning.

I am a AWS Certified Big Data Specialist and also a AWS Solution Architect. I have been doing Design and Development for Enterprise for 7 years.

In my current job I serve as a tech lead that create internal software development workflow and code framework.

From perspective of project and people management, I write technique proposal to support business team, and mentor engineer team to delivery reliable and software solution to customer.

In my spare time, I contribute software to Python Open Source community. Two of my personal Python library are very popular and having over 200,000 monthly downloads.

Q: What is your role and responsibility in your current job?

  1. Create Internal Software Development Workflow, Code Framework.
    • For example, settiing up CI/CD pipeline is common work for all of the IT project.
    • Detailed examples:
      • Create a Virtual Machine Image and Docker Image CI/CD pipeline and management framework to maintain thousands of Amazon Machine Image for varieties of projects, because Cloud Migration for Servers is our core business.
      • Create a general used Big Data Infrastructure including Data Collection, ETL, Storage, Data Analytics, Business Intelligent, Dashboard and Visualization. All of the components are AWS Managed and Serverless Architect.
      • Create a Internal Serverless application framework to standardize and simplify the microservice and API development and deployment.
      • Create a General used AWS Account Management framework to help big organization to manage their AWS Account, IAM User, AWS Resource, and data security, at scale.
      • Create a Open source Infrastructure as Code framework to orchestrate the Cloud Resource and Application stacks.
  2. Technique Lead Engineer Team, Make decision for Cloud Architect, Framework, Code Style. Mentor engineers in development and Code Review.
    • RDSO Challenge Project
    • BLS Data Lake Project
  3. Market Company Reputation by attending Cloud Technique Conference and do Hackathon competition, marketing for company reputation.
    • AWS Summit DC for Public Sector
    • Cloud guru NYC Serverless Conference
    • Amazon Reinvent Conference in Vegas
  4. Internal Training
    • Do internal training in lunch and learn event every Friday as a teacher for engineering team, teaching Packer, Docker, Cloudformation, Serverless, Python, Big Data, Statistics, ML.

General Question - What do you want to ask us (问用人单位的问题)

Q: Responsibility - Can you tell me more about the day-to-day responsibilities of this job?

Follow up questions:

  • Can you tell me about the distribution of the work loads for Engineering, Analytics, Businesss, Management, Measured by Time

Q: Responsibility - What can you tell me about the position that isn't listed in the job post?

Q: Responsibility - How do you anticipate interacting with your new hire.

Me: do you have a weekly one-on-one meeting, or do you mostly rely on email, or something else?

该问题用于了解对方对于沟通方式的预期.

Q: Responsibility - What qualities do you look for in your co-workers?

该问题用于了解对方对于员工素质的预期.

Q: Responsibility - Is there direct client interaction?

Q: Collaboration - Who are the other members of the department (by position) and how would we all interact?

当工作性质是作为 Contractor 服务对方的时候, 甲方会关心你会如何和对方互动. 所以你要问一些问题看看如何能更好的跟对方沟通以及提供服务.

Follow up questions:

  • which team would be my primary point of contact to support?

Q: Collaboration - How does your team impact the rest of the organization?

Q: Collaboration - How does this department interact with the broader organization? Any challenges with collaboration?

Q: Value - What is the Primary Goal on 3 month, 6 month, 1 year Milestone on this project?

Me: This helps me prioritize my task.

Q: Value - What are your expectations for this role during the first 30 days, 60 days, year?

Me: This helps me prioritize my task.

Q: Value - What is the Core Bussiness Value of this Project.

Me: I want to associate this with my daily engineering effort.

Q: Value - Can you explain the need for a XXX department and the [Position Title] position?

这个问题对方通常在面试的前期就问过了, 如果练对方的需求是什么都不知道, 那说明你面试也没做功课.

Q: Career Growth - How do you empower your employees?

Career Growth 类的问题表现出你对成长的重视以及跟公司一起成长的意愿, 表现出长期合作的意向.

Q: Point of Interests - Can you tell me about current projects or any projects you may do in the future?

Point of Interests 类的问题表现出你对公司的兴趣.

  1. I want to know about how's engineering team in XYZ company.
  2. I want to know about what values you are looking for in the engineer interview process, and how you evaluate that. Because in my current job, I interviewed engineers, for some project I am looking for specific skills set people already have, for some project I am looking for talented engineers who has self-motivation and incentive.
  3. Tell me about the project and the technique challenge you have, I want to figure out how can I help with that.

Behavior Interview - Leadership

领导者从客户入手,再反向推动工作。他们努力地工作以赢得并维系客户对他们的信任。虽然领导者会关注竞争对手,但是他们更关注客户

Leaders start with the customer and work backwards. They work vigorously to earn and keep customer trust. Although leaders pay attention to competitors, they obsess over customers.

Q: TMAT you mentor someone

1 min answer

3 min answer

S (Situation)

T (Task)

A (Action)

R (Resuult)

Work Experience - Enquizit

login.gov - 修复 ETL pipeline 的同时 大幅优化 Lambda Function 性能

login.gov - 开发 通用型 Duplicate Filter

login.gov - 开发 Documentation as Code System, doc builder

login.gov - Re-architect ETL Pipeline

enquizit.com - 为 Skymap MPL 开发 Rest API 以及 data entry framework

enquizit.com - 带领团队获得 Amazon DC Summit 和 NYC Serverless Con Hackathon 奖项

enquizit.com - 为 Maximus Federal 开发 IAC 框架, 赢得用户的信任

enquizit.com - 在 RDSO Challenge 项目中领导技术团队在压力下 Delivery Solution

enquizit.com - 受 IAC 项目的启发, 开发 IAC 框架, 作为公司内部的交付手段

enquizit.com - 在 lockheed 项目中拯救客户对我们的信任, 赢得对方的信任并交付方案

enquizit.com - 在 lockheed 项目中受到启发, 开发并教授 Python 课程, 提高运维人员的技术

enquizit.com - 在 cms 项目中赢得客户对我们的信任

enquizit.com - 在 cms 项目中受到启发, 为公司内部开发 Image 管理框架

enquizit.com - 在 FDIC 项目中受到启发, 为公司制定标准化招聘流程

enquizit.com - 在 BLS 项目中 训练客户使用我们开发的软件

S (Situation)

BLS (Bureau of Labor Statistics), Bureau 发音 (闭而肉)

BLS 委托 Enquizit 开发了一套数据分析系统, 其中包括 用来采集术的爬虫, 用来清理数据的 ETL pipeline, 以及用来储存数据的 DataLake.

作为 Data Architect 我的主要任务是 系统设计, 代码框架设计, 以及帮助开发者解决困难的具体实现问题. 在 POC 阶段完成之后, 大框架已经确定下来, 我的精力转向于维护部署, 以及培训客户.


BLS wants a 3-tier system to support their quarterly Consumer Price Index research. The system includes, Web Crawler to collect data, ETL Pipeline to transoform the data, and a Datalake to store and query the data.

My primary role as Data Architect is to make decision on System Design, Code Framework set up, and mentor developer to solve difficult implementation. After the POC phase (it is a three phase contract), I change my focus to maintaining the deployment and mentoring our customer.

T (Task)

客户 BLS 从来没有使用过 AWS 运行 Application, 所以他们需要我们对其进行培训以确保之后他们能顺利 Take Over 我们的 work.


This is BLS's first complex AWS Project. And by nature, the web crawler project is very complex. So BLS need a mentor to help their data scientist and developer.

A (Action)

  1. I tried to become a trusted advisor and to build a close relationship with their engineering team.
  • I meet the data scientist and engineering team as early in the customer lifecycle as I can.
  • I am involved a lot in transition from implementation to go-live.
  • (optional example): I helped a member of the customer with a problem that little bit beyond the scope of the contract.
  • In these collaboration work, I showed them that I am be trusted as a very experienced engineer and problem solver.
  1. I tailor the mentor strategy based on their knowledge level
  • To train their data scientist tool using AWS Service, I usually train them by providing simplified Proof of Concept (POC) example. Because Data scientist is unlike engineer, their primary knowledge is analytics skills, those tooling stuff is just for serving their primary task. They are system users, they just need to know how to use it by following an example.
  • To train their engineer, I ususally give them a lot details and the deep consideration of the design. Because engineers are supposed to enbrance new technology more frequently and they need to be capable to add customization upon the system I delivery.
  1. I prioritize the knowledge to meet customer's business outcome
  • Because the capability to perform researchs on the Datalake is the most important business value for their Major Product - Consumer Price Index, I choose to provide moe example and adaptor code to boost up their data scientist team workflow.
  • I focus on teaching the engineeering team how to deploy and maintain the web crawler for the most important dataset. And use this as a example to deal with other web crawler.

R (Result)

We have received very positive feed back that their engineer team are ganing new skills every sprint. And they want us to providing long term advisoring service after this contract.

tmat your experience with SageMaker

I have done two contracts using SageMaker before. One is about migrating the Client's Machine Learning Infrastructure to the AWS Sagemaker, in this project the customer don't have any Sagemaker experience. THe Second one is to improve the Client's existing Machine Learning development workflow using Sagemaker Estimator, Parameter Tunner, Model training, testing, deployment pipeline.

enquizit.com - Federal Deposit Insurance Company (FDIC) Sagemaker project

enquizit.com - Bureau of Labor Statistics (FDIC) Sagemaker projecct

technique skills - Tell me about your skills with ABC

如果回答: 说说你的 ABC 技能吧. 这一类的问题.

technique skills - AWS

High Level Summary:

  • I have been using AWS from 2014 at the first time they Published AWS Lambda. I heavily use AWS Services Computation, Storage, Database, DevOps, Maching Learning, Data Analytics for my daily development. I am able to design an architect, implement the infrastructure as code, set up all AWS Resources, write application code, and delivery everything as a system independently.

Detail:

  • Computation: EC2, Lambda, ECS
  • Storage: S3
  • Database: RDS, Dynamodb, ElasticCache
  • Management and Governance: CloudFormation, CloudWatch, CloudTrail, Parameter Store, Service Catalog
  • Network: VPC, Load Balancer
  • ML: Sagemaker, AWS Transcode, AWS Comprehend, AWS Ground Truth
  • Security: IAM, EKS, Secret Manager
  • CI: Code Commit, Code Build
  • Application Integration: SQS, SNS, Step Function
  • Analytics: Athena, Redshift, Elastic Search, Quick Sight

technique skills - Python

High Level Summary

  • uszipcode
  • troposphere_mate

technique skills - Sagemaker

High Level Summary:

I have done two contracts using SageMaker before.

  1. One is about migrating the Client's Machine Learning Infrastructure to the AWS Sagemaker, in this project the customer don't have any Sagemaker experience.

  2. The Second one is to improve the Client's existing Machine Learning development workflow using Sagemaker Estimator, Parameter Tunner, Model training, testing, deployment pipeline.

FDIC Project

S (Situation)

  • Federal Deposite Insurance Company has a Data Scientist team working on Risk Evaluation, Fraud Detection.
  • A lot of problems are slowing them down:
    1. Setting up development environment for different Machine Learning and Data Analytics Tooling (MXNet, PyTouch, PySpark)
    2. Train a complex ML model on big data usually requrie a high performance computer, their data scientist need to request for the computation recourses, which is inconvienent.
    3. They don't want to spend more and more money on shopping expansive laptop, hardware for their data scientist team.
    4. They currently use username/password, or IP address to control data access. Which is not a scalable and flexible enough.

T (Task)

  • Write technique proposal to response to
  • Create a POC Project to demonstrate how those problem been solved.
  • Delivery solution in form of IAC.

A (Action)

  • use IAM Role and Group for Sagemaker Jupyter Notebook Environment access control.
  • define Resource Policy on AWS Glue Catalog for Data access control.
  • use AWS Lambda to optimize spending on Sagemaker Jupyter Notebook Instance
  • use AWS CloudFormation to deploy and update configuration in batch.

R (Result)

BLS Project

technique skills - SQL

I would say my SQL Skill is good but not excellent. I write many SQL in my daily development work falling into two categories.

  1. One is application logic query. For example, when you place an order on E-Commerce website, the back end need to process your order, and update inventory, all of things has to be wrapped into a Atomic Transaction.
  2. Second is analytics query. For example, come up a script to calculate daily convertion rate for a Website. There would be a lot JOIN, PARTITION BY, RANK and intermediate Table involved.
  • For the application logic query, I usually don't write SQL Handy, I use ORM (Object Relation Mapping) framework to generate it.
  • For complex analytc query, I ususally use temp table and dummy data to validate it before I run it on the real database.

Job - Capital One Data Enginner

Job - AAA Life Insurance Contract

Q: Introduce Your Self

My name is Sanhe.

I have versatile Engineering background in Data Architect, Data Engineering, Data Analytics, Software Development, DevOps engineering, Database Management, and Machine Learning.

I am a AWS Certified Big Data Specialist and also a AWS Solution Architect. I have been doing Design and Development for Enterprise for 7 years.

In my current job I serve as a tech lead that create internal software development workflow and code framework.

From perspective of project and people management, I write technique proposal to support business team, and mentor engineer team to delivery reliable and software solution to customer.

In my spare time, I contribute software to Python Open Source community. Two of my personal Python library are very popular and having over 200,000 monthly downloads.

Q: What is your role and responsibility in your current job?

  1. Create Internal Software Development Workflow, Code Framework.
    • For example, settiing up CI/CD pipeline is common work for all of the IT project.
    • Detailed examples:
      • Create a Virtual Machine Image and Docker Image CI/CD pipeline and management framework to maintain thousands of Amazon Machine Image for varieties of projects, because Cloud Migration for Servers is our core business.
      • Create a general used Big Data Infrastructure including Data Collection, ETL, Storage, Data Analytics, Business Intelligent, Dashboard and Visualization. All of the components are AWS Managed and Serverless Architect.
      • Create a Internal Serverless application framework to standardize and simplify the microservice and API development and deployment.
      • Create a General used AWS Account Management framework to help big organization to manage their AWS Account, IAM User, AWS Resource, and data security, at scale.
      • Create a Open source Infrastructure as Code framework to orchestrate the Cloud Resource and Application stacks.
  2. Technique Lead Engineer Team, Make decision for Cloud Architect, Framework, Code Style. Mentor engineers in development and Code Review.
    • RDSO Challenge Project
    • BLS Data Lake Project
  3. Market Company Reputation by attending Cloud Technique Conference and do Hackathon competition, marketing for company reputation.
    • AWS Summit DC for Public Sector
    • Cloud guru NYC Serverless Conference
    • Amazon Reinvent Conference in Vegas
  4. Internal Training
    • Do internal training in lunch and learn event every Friday as a teacher for engineering team, teaching Packer, Docker, Cloudformation, Serverless, Python, Big Data, Statistics, ML.

enquizit.com - 在 BLS 项目中 训练客户使用我们开发的软件

S (Situation)

BLS (Bureau of Labor Statistics), Bureau 发音 (闭而肉)

BLS 委托 Enquizit 开发了一套数据分析系统, 其中包括 用来采集术的爬虫, 用来清理数据的 ETL pipeline, 以及用来储存数据的 DataLake.

作为 Data Architect 我的主要任务是 系统设计, 代码框架设计, 以及帮助开发者解决困难的具体实现问题. 在 POC 阶段完成之后, 大框架已经确定下来, 我的精力转向于维护部署, 以及培训客户.


BLS wants a 3-tier system to support their quarterly Consumer Price Index research. The system includes, Web Crawler to collect data, ETL Pipeline to transoform the data, and a Datalake to store and query the data.

My primary role as Data Architect is to make decision on System Design, Code Framework set up, and mentor developer to solve difficult implementation. After the POC phase (it is a three phase contract), I change my focus to maintaining the deployment and mentoring our customer.

T (Task)

客户 BLS 从来没有使用过 AWS 运行 Application, 所以他们需要我们对其进行培训以确保之后他们能顺利 Take Over 我们的 work.


This is BLS's first complex AWS Project. And by nature, the web crawler project is very complex. So BLS need a mentor to help their data scientist and developer.

A (Action)

  1. I tried to become a trusted advisor and to build a close relationship with their engineering team.
  • I meet the data scientist and engineering team as early in the customer lifecycle as I can.
  • I am involved a lot in transition from implementation to go-live.
  • (optional example): I helped a member of the customer with a problem that little bit beyond the scope of the contract.
  • In these collaboration work, I showed them that I am be trusted as a very experienced engineer and problem solver.
  1. I tailor the mentor strategy based on their knowledge level
  • To train their data scientist tool using AWS Service, I usually train them by providing simplified Proof of Concept (POC) example. Because Data scientist is unlike engineer, their primary knowledge is analytics skills, those tooling stuff is just for serving their primary task. They are system users, they just need to know how to use it by following an example.
  • To train their engineer, I ususally give them a lot details and the deep consideration of the design. Because engineers are supposed to enbrance new technology more frequently and they need to be capable to add customization upon the system I delivery.
  1. I prioritize the knowledge to meet customer's business outcome
  • Because the capability to perform researchs on the Datalake is the most important business value for their Major Product - Consumer Price Index, I choose to provide moe example and adaptor code to boost up their data scientist team workflow.
  • I focus on teaching the engineeering team how to deploy and maintain the web crawler for the most important dataset. And use this as a example to deal with other web crawler.

R (Result)

We have received very positive feed back that their engineer team are ganing new skills every sprint. And they want us to providing long term advisoring service after this contract.

technique skills - AWS

High Level Summary:

  • I have been using AWS from 2014 at the first time they Published AWS Lambda. I heavily use AWS Services Computation, Storage, Database, DevOps, Maching Learning, Data Analytics for my daily development. I am able to design an architect, implement the infrastructure as code, set up all AWS Resources, write application code, and delivery everything as a system independently.

Detail:

  • Computation: EC2, Lambda, ECS
  • Storage: S3
  • Database: RDS, Dynamodb, ElasticCache
  • Management and Governance: CloudFormation, CloudWatch, CloudTrail, Parameter Store, Service Catalog
  • Network: VPC, Load Balancer
  • ML: Sagemaker, AWS Transcode, AWS Comprehend, AWS Ground Truth
  • Security: IAM, EKS, Secret Manager
  • CI: Code Commit, Code Build
  • Application Integration: SQS, SNS, Step Function
  • Analytics: Athena, Redshift, Elastic Search, Quick Sight

technique skills - Python

High Level Summary

  • uszipcode
  • troposphere_mate

technique skills - Sagemaker

High Level Summary:

I have done two contracts using SageMaker before.

  1. One is about migrating the Client's Machine Learning Infrastructure to the AWS Sagemaker, in this project the customer don't have any Sagemaker experience.

  2. The Second one is to improve the Client's existing Machine Learning development workflow using Sagemaker Estimator, Parameter Tunner, Model training, testing, deployment pipeline.

FDIC Project

S (Situation)

  • Federal Deposite Insurance Company has a Data Scientist team working on Risk Evaluation, Fraud Detection.
  • A lot of problems are slowing them down:
    1. Setting up development environment for different Machine Learning and Data Analytics Tooling (MXNet, PyTouch, PySpark)
    2. Train a complex ML model on big data usually requrie a high performance computer, their data scientist need to request for the computation recourses, which is inconvienent.
    3. They don't want to spend more and more money on shopping expansive laptop, hardware for their data scientist team.
    4. They currently use username/password, or IP address to control data access. Which is not a scalable and flexible enough.

T (Task)

  • Write technique proposal to response to
  • Create a POC Project to demonstrate how those problem been solved.
  • Delivery solution in form of IAC.

A (Action)

  • use IAM Role and Group for Sagemaker Jupyter Notebook Environment access control.
  • define Resource Policy on AWS Glue Catalog for Data access control.
  • use AWS Lambda to optimize spending on Sagemaker Jupyter Notebook Instance
  • use AWS CloudFormation to deploy and update configuration in batch.

R (Result)

BLS Project

technique skills - SQL

I would say my SQL Skill is good but not excellent. I write many SQL in my daily development work falling into two categories.

  1. One is application logic query. For example, when you place an order on E-Commerce website, the back end need to process your order, and update inventory, all of things has to be wrapped into a Atomic Transaction.
  2. Second is analytics query. For example, come up a script to calculate daily convertion rate for a Website. There would be a lot JOIN, PARTITION BY, RANK and intermediate Table involved.
  • For the application logic query, I usually don't write SQL Handy, I use ORM (Object Relation Mapping) framework to generate it.
  • For complex analytc query, I ususally use temp table and dummy data to validate it before I run it on the real database.

Q: What do you want to ask us?

  • Collaboration - Who are the other members of the department (by position) and how would we all interact?
  • Value - What are your expectations for this role during the first 30 days, 60 days, year?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment