-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathperf_engg_common_ques.html
40 lines (24 loc) · 2.64 KB
/
perf_engg_common_ques.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Following are some of the key points that you should be prepared to answer if you are projecting yourself as a performance engineer.
1. Explain the product architecture
2. Explain any performance bottlenecks you identified in your product and any performance improvements you recommended.
E.g. a) API Gateway forwarding latency - Microservice creating http client connections in multiple threads, was doing Client.create() over and over, causing lot of memory allocation overhead. Client.create() is a thread safe API and can be created in a Factory class.
b) Low data ingest throughput - Data loader microservice ingesting data to the DB was ingesting data to redundant tables, thereby slowing down the entire data ingestion, increasing latency and decreasing throughput.
c) Latency in UI page load - Many UI page sections are loaded through query service calls done from various other dependent services. Some of these query calls were made using filter which fetches more than 50K records. Since in the UI, we will not need high data volume for visualization, we recommended the integrator services to reduce the call batch size to a lower number instead of 50K.
d) Latency in event processing - Microservice dealing with event processing, was impacted by a lot of thread contention and latency in the thread which produces kafka messages. This problem was diagnosed from a JFR and was resolved by using threads from kafka producer pool.
3. Explain some of the performance issues reported by your customer and how you approached the triage.
4. How do you start planning for a performance / system test for a feature.
a. Find out who is going to be the consumer of the feature
b. Find out the expected volume of usage
c. Find out whether the feature (could be an API) is exposed to customers or is consumed by another service
d. List the KPIs for the API like throughput, latency at anticipated levels of concurrency and above.
e. Anhy KPIs like the host, database, mid-tier container etc.
5. Explain any project or tool your developed, which you are proud of.
6. What are some of the challenges you faced while doing/planning for performance testing.
7. How do you interact with the developers and co-ordinate the performance bug fixes ?
8. Why do you want to pursue a career in performance engineering ?
9. While triaging performance issues, do you take a bottom up approach or otherwise ?
10. What are the different tools and mechanisms used for load generation.
a. Based on current PROD load
b. Based on expected data volume in PROD
c. Bash + Java based utilities to generate data
d. Tools like Jmeter to drive the load generation.