General / Behavioural + Apple Flashcards

sd

1
Q

Tell Me More About Yourself

A

Hi I’m Ze Xuan, a Y2 Computer Science student studying at NUS

I’m someone with experience in a variety of roles, including Backend Engineering & Machine Learning

I most recently interned as a backend engineer at Bytedance last summer and worked on designing and maintaining a highly available and performant system to ensure the quality and stability of TikTok’s core functions.

I previously also spent about 2 years as a machine learning engineer at the Singapore armed forces where I was involved in multiple machine learning projects

I also have a passion for competition and learning. Over the past few years I have achieved a few first place finishes at international ML competitions and I’ve also had some high rank finishes on Kaggle Competitions.

I would say I’m someone who’s always willing to learn and expose myself to new things (be it tech related or not)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are you Weaknesses

A
  • Lack of patience / Get Frustrated When I’m blocked
  • During my time in the Singapore Armed Forces, we collaborated with several external vendors.
  • On several occasions, delays from their end would hinder our progress.
  • Initially, I found myself getting frustrated and occasionally commenting on their efficiency.
  • In retrospect, I realize that while these situations were frustrating, I could have managed my time and reactions better.
  • Instead of dwelling on the delay, I could have redirected my efforts towards other productive tasks.
  • However I’ve made conscious efforts to address this
  • During my Internship at Bytedance I faced similar challenges where I would work with teams in China and sometimes my work would get blocked too
  • And so I started by mocking responses to write out as much code as I possibly could
  • And When I’m still blocked I would try to look for productive ways to utilize my time.
  • So I worked on bettering the onboarding docs for the new interns because the old document was extremely outdated and I found it challenging myself when onboarding.
  • This experience highlighted the importance of patience and adaptability
  • While I’m still working on it I think I’ve come a long way in turning my impatience into a catalyst for proactive and constructive action
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are your Strengths

A

I would say my most defining strength would be curiosity and the constant pursuit of learning / The hunger to learn.

  • When I’m working on Machine Learning competitions or collaborating with colleagues, I constantly find myself driven to understand the deeper “why” behind certain concepts, strategies and decisions.
  • In environments like Kaggle (Machine Learning Competitions), this curiosity pushes me to delve deeper into the broader context of problems, be it medicine, law or biodiversity. This in-depth exploration has often led to unexpected insights and strategies that many competitors may overlook.
  • This trait was also evident during my internship at Bytedance where I regularly engaged with my colleagues to gain a deeper understanding of our technological choices, such as our preference for Kitex over gRPC.
  • Ultimately I think my curiosity ensures that I am never simply content with surface-level knowledge and always strive to understand problems in detail and to learn more about it.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Where do you see yourself in 5 Years

A
  • In the short term, especially during the remainder of my studies at NUS, I aim to further refine my skills in backend development and also explore a little bit more about parallel computing, distributed systems and the intersections between machine learning and backend systems.
  • I hope to build up a good foundation to soon become an effective contributor in larger-scale projects and have an opportunity to work on more interesting problems.
  • Five years from now, I see myself as an experienced software/backend engineer, hopefully having been part of and perhaps even spearheaded several complex projects.
  • My passion lies at the crossroads of machine learning and software engineering, particularly in enhancing system performances.
  • But more than that, I’m deeply interested in parallel computing and distributed systems.
  • As data continues to grow exponentially, being able to utilise these data effectively and building systems around it will become paramount, and I aspire to be at the forefront of designing and implementing such solutions.
  • In this ever-evolving tech landscape, I think I would be committed to continuous learning.
  • In order to stay abreast of emerging technologies, I think it is important to constantly try them out and attend workshops or sharing sessions to refine my technical skills

======== SKIP ========

Considering [Company’s] commitment to innovation and breaking new grounds in tech, I believe my vision aligns perfectly with where the company is headed. The prospect of evolving alongside [Company] and making impactful contributions excites me immensely.”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are you passionate about

A

1) Backend Engineering & Distributed Systems:
- I’m fascinated by the robustness and efficiency that backend systems can offer.
- The field of parallel and distributed systems particularly intrigues me.
- The idea of breaking down complex tasks and processing them simultaneously across a distributed environment throws in unique challenges that would be interesting to tackle.
- Having an opportunity to address these challenges, such as consistency, fault tolerance, and scalability, really excites me.

2) Intersection of AI/ML:
- I think I’m also someone interested in AI and Machine Learning
- The world of Machine Learning and AI has an element of the unknown.
- Unlike traditional algorithms with clear logic, ML models have this element of unpredictability.
- Every model built is a journey of exploring this ‘unknown,’ which makes it a thrilling experience.
- This also means alot of problems AI often requires creative, out-of-the-box solutions, and this constant innovation is what keeps me engaged in this field.

3) Problem-solving at its Core:
- But I think beyond specific domains, what really drives me is the allure of difficult and interesting problems.
- It’s not so much about the particular area I’m working in, but more about the complexity of the challenge in front of me.
- The harder and more interesting the problem, the more fulfilling it would feel to devise a solution for it.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Why did you do computer science?

A
  • I’m interested in analytical problems
  • I’ve actually always thought about being a forensic pathologist but unforunately … (Singapore doesn’t need it :D)
  • I really enjoy working on interesting and complex problems and I think programming / CS provides an avenue to achieve that
  • I was previously actually in applied math but I had the opportunity to interview at a Computer Vision Unit in SAF and thats how I found out about programming.
  • I realised i really enjoy the problem solving aspect of CS and so I decided to change course to pursue CS instead
  • So in some sense it was a little bit of luck, because I likely would not be here if not for that opportunity in NS
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Led Team to achieve specific outcome

A

Situation:
- At the Singapore Armed Forces, I was assigned to lead a team of 2 juniors to work on an Anomaly Detection Project.

Task:
- Our primary objective was to develop an anomaly detection system that would be accurate enough remove the current need for manual monitoring and move to an automated system instead.

Action:
- I tried spending some time on the problem initially and was able to make a simple K means model work
- And so I subsequently delegated tasks based on the strengths and interests of each team member.
- One of them worked on optimising the K Means model that I had quickly drafted up for our use case and the other worked on trying to find other ways to improve our system’s overall detection accuracy
- I then worked on addressing the issue of mean shifts / distribution shifts in our data
- Whenever any of us was stuck, we would come together to discuss possible ways to approach the problem, for example at one point, the person working on trying to optimise performance of our entire system wasn’t too sure of how to proceed, so we had brainstorming sessions and eventually decided to settle on ensembling an Isolation Forest to bring up our accuracy

Result:
- As a result of our combined efforts, we were able to successfully develop an anomaly detection system that met the requirements and reduced operational manpower requirements by over 90%.
- I think this project highlighted the importance of adaptability and teamwork in achieving tangible results.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Overcome Significant Obstacle

A

Situation:
- During my time with SAF, we were working on an Object detection pipieline where we were using a ResNet-based object detection model for an essential operational process.
- We encountered a significant obstacle, because of our hardware limitations we had low FPS and thus struggled with detecting new targets that move across the screen quickly.
- This became especially concerning given we had an upcoming presentation with the commanding officer in about a month where we had to guarantee these new targets could be detected without sacrificing too much on accuracy in general.

Task:
- My main task together with some of my team members was to address the detection problem our model was facing, and we had to do so within a short timeframe.

Action:
- We began by evaluating potential solutions with the team, and one feasible solution was to transition / downgrade from ResNet to MobileNet.
- This was a major decision that took alot of planning and consideration because it involved a complete change of the model architecture which could mean alot of bugs and problems with our pipeline.
- To combat the drop in accuracy that MobileNet introduced, we also had to implement a good feedback loop system for users to annotate some of the missing targets to quickly improve our model’s accuracy and for continuous model training and refinement.

Result:

  • Though this was a huge change in our system, we were able to finish it quickly by splitting the task amongst all the team memberes and significantly improve detection of that new target and eventually approached, if not fully matched, the accuracy levels of our previous ResNet model.
  • By the time of the presentation, our solution was well-received, and the experience highlighted the importance of adaptability and agile decision-making in our work.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Conflict with Team Member

A

Situation:
- During my time at SAF, while working on an Object Detection project, my team members and I were discussing the limitations of our ResNet-based object detection model and how we could fix it.
- Essentially our model wasn’t able to detect certain targets that moved across the screen too fast.

Task:
- Our goal was to optimise our model’s performance and ensure that it could detect all targets with a decent accuracy, to prepare for a presentation to an officer in about a months time.

Action:
- One of the team members was adamant about sticking with the current architecture and enhancing its performance in other ways like reducing resoluion, quantization and better processing techniques.
- He argued that we wouldn’t have the time to downgrade the model and improve its performance to a satisfactory point.
- We sat down together as a team and talked through the pros and cons of each solution. Ultimately he was still worried that we would not be able to create a good feedback loop system to raise our accuracy in time
- And so we decided to each work with a few other engineers to quickly built a proof of concept and prototype for our proposals and we eventually came together a few days later to make a final decision with the team.

Result:
- My final prototyped model had accuracies that was not far off from the original model and I had suggested a rough idea of how we could implement our feedback loop system
- After our discussions and the subsequent prototype, my colleague was more convinced about my proposed solution.
- We implemented the changes and was able to improve our detection capabilities without compromising much on accuracy. Most importantly we finished this change in time for the presentation and the presentation went well.
- This experience not only led to a successful project but also highlighted the importance of open communication and collaboration in a team setting.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Conflict with Manager / Officer

A

Situation:
- During my time at SAF, I worked on a project that aimed to automate the geo-rectification process to address some of our operational bottlenecks.
- The manual process of geo-rectification using ArcGis was tedious, degraded image quality, and wasn’t always that accurate.
- And so we suggested that we could come up with something to automate this process
- My officer suggested to use an ML solution to automate this process, believing that it would be the most robust and innovative solution for our needs.

Task:
- My colleague and I thought that there would be some challenges in implementing a ML solution for this project and we agreed that a non-ML technique using OpenCV would suffice and potentially perform better than an ML solution for this project
- Of course, we had some disagreements with our officer regarding the approach to the problem and we had to find common ground, ensuring the best solution was chosen for our operational needs.

Action:

==> Research & Prototype Development:
- In order to persuade our officer we simply built a prototype on top of QGis with added OpenCV features for faster auto-geo-rectification, particularly relying on the ORB algorithm for keypoint calculation.
- This helped in quantifying the efficiency of our non-ML approach.

==> Addressing Image Quality Concerns:
- We also ran into the challenge of satellite image blurriness and the lack of distinct features for certain types of images.
- We implemented pansharpening to address this.
- However, pansharpening amplified high-frequency noise.
- Our solution to that was to denoise after pansharpening and by combining both methods, we managed to achieve the best result.

==> Presenting Results:
- We were able to get a prototype working, even though it was not optimised
- We presented our findings to our officer and looked at the potential of this approach
- We also highlighted the relative simplicity and lower overhead of our method compared to a full-fledged ML implementation which we also thought would have a huge bottleneck because of how low quality some of our images are

Result:
- We planned the project milestones with our officer, inviting him to review the progress at multiple stages.
- This approach allowed him to see the progress of our proposed solution and he was eventually convinced and simply just left us to take charge of the project ourselves
- We eventually finished the project and had about a 75% increase in speed in the geo-rectification process and also a significant increase in geo-rectification accuracy

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Most Technically Challenging Project (SAF)

A

SAF ANOMALY DETECTION

Situation:
- During my time as a Machine Learning Engineer in SIngapored Armed Forces, I was leading a team to work on a project to improve operational process efficiency

Task:
- It was an Anomaly Detection Project that essentially aimed to automate some manual tasks in our operational process and completing the project would allow our sister/parent unit to remove their 24/7 shift work

Action:

  • I initially worked on prototyping a simple K Means Clustering Algorithm to find the anomalous data points
  • One problem I had was finding the balance between FN and FP.
  • Although we didn’t really want to have a high FN, because if you cannot even detect anomalies then there is no point implementing an automated system,
  • We also didn’t really want a high FP as well, because it also defeats the purpose of using an automated detection system since the human will need to check and verify consistently, and at that point might as well have the human do everything instead.
  • The way I decided to tackle this problem without sacrificing too much speed for accuracy in detection is to simply ensemble models which uses different means to detect the anomaly,
  • I found that ensembling our K means model with an Isolation Forest algorithm worked especially well in our use-case and we simply just mark an event as anomalous if both algorithms deems it as anomalous (Majority Voting).
  • Another Big problem we faced is the shift of mean / distribution.
  • So when the distribution of normality shifts, we want to make sure we don’t falsely detect a bunch of events / points as anomalous.
  • After some experimenting, we decided to deal with this problem using a Variational Auto Encoder (VAE)
  • SO A LITTLE BIT OF BACKGROUND KNOWLEDGE:

==> VAEs are essentially a type of auto encoders that instead of producing a deterministic value from its encoder bottleneck, produces a probabilistic distribution instead

==> This probabilistic bottleneck allows VAEs to generate a variety of plausible outputs for a given input which makes them more robust to changes in input distributions
==> Additionally there is a regularization term in VAE’s loss function which encourages the latent space to follow a specific distribution (typically a mutivariate Gaussian)
==> This regularization ensures that the latent representations are well-distributed and not overly concentrated, making it more resilient to shifts in input data distribution

  • So after some testing, we saw a pretty significant improvement in the reduction of FP’s when our data went through a mean shift with the use of VAE processing our data than without
  • Also our system was still rather lightweight since we only used VAE to transform our input data then feed it into our model ensemble

Result:
- In the end, we were able to finish the project and help reduce manpower requirements for operational processes by over 90%

========== SKIP START =============
* AutoEncoders are essentially a NN that is trained by unsupervised learning to produce reconstructions that are close to its inputs
* Essentially, auto encoder is simply a process that seeks to produce outputs identical to its input and uses unlabelled data for this task (which is essentially very fitting for an Anomaly Detection Problem)
* AE has 2 parts: Encoder and Decoder, Encoder essentially receives data input x and compresses it into a smaller dimension while feeding it forward to the next layer in the encoder. This can be accomplished for h layers which are referred to as hidden layers
* Final Compression of input occurs at the bottleneck of the AE. The input representation is now referred to as z, which is the latent representation of x
* Now the decoder takes the input’s latent representation z and attempts to reconstruct the original input x by expanding it through the same number of hidden layers with identical corresponding neurons as the encoder and ideally the output x’ will be identical as the input x.
* And the AE would learn a compressed (lower dimensional) version of the identify function
* We then use the reconstruction error (the difference between x’ and x) to detect anomalies
* VAEs are different from a standard AE because its bottleneck at the encoder is a probabilistic distribution rather than a deterministic value.
========== SKIP START =============

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Talk about one of your Failed Projects / Failure

A

Situation & Task:
- During my time as a Machine Learning Engineer with the Singapore Armed Forces,
- one of our sister units approached us with a request to develop a predictive maintenance system for their fleet of vehicles.
- The goal was to use machine learning to analyze data from sensors on these vehicles to predict when parts might fail, which can enable proactive maintenance and reducing downtimes especially when they are being used in operational processes.
- Myself and another colleague took up this project

Action:

  • Data Gathering:
    ==> Collected huge amounts of sensor data from a sample of vehicles.
    ==> This data encompassed everything from engine temperature to tire pressure.
  • Model Training:
    ==> Using this data, we trained a model to recognize patterns and predict potential part failures.
    ==> Initial tests using our sample data were promising.
  • However, the real-world application presented unexpected challenges:
  • Data Variation:
    ==> While our sample data was consistent, when we scaled up, we discovered that not all vehicles had sensors calibrated in the same manner.
    ==> Some of the older vehicles had outdated or malfunctioning sensors, which either sent incorrect data or failed to send data altogether. This further skewed our predictive model’s results.
    ==> This led to variations in the data, which made our model less accurate.
  • Over-Promising Results:
    ==> When the project was proposed, I gave assurances based on our preliminary tests.
    ==> But, I didn’t account for the aforementioned data variations in a larger fleet of vehicles, and our model couldn’t deliver the accuracy rates I had initially promised which was close to 100%.

Result:
==> Despite refining our model multiple times, we could not achieve the accuracy levels that we promised initially (95%+), we only had about ~80% accuracy.
==> The project was eventually shelved, with the unit reverting to their traditional maintenance schedules.

Learnings:
- This experience was humbling, it taught me the significance of thorough testing before scaling up
- It’s especially easy to get excited about early results and over-promise
- I think this experience has also taught me to be always prepared for unexpected challenges or curveballs that may come my way and the importance of adaptability in my approaches
- While this project didn’t pan out as we hoped, I think I walked away with some invaluable lessons

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Took Initiative to Solve Problem

A

Situation:
- During my time at SAF, we took many initiatives to try to solve certain problems our sister unit was facing
- One of which was to deal with challenges faced from the manual process of geo-rectification using ArcGis
- This method was not only time-consuming but also led to decreased image quality and was often riddled with inaccuracies.

Task:

  • We recognised this issue and I believed that we could innovate and develop a more efficient process to handle geo-rectification automatically

Action:

  • I took the initiative with a colleague to start a project to try to fix this problem.
  • We quickly identified OpenCV as a potential tool to aid in our goal.
  • In order to validate our theory, we developed a prototype integrating OpenCV with QGis (open source version of ArcGis), utilizing the ORB algorithm for faster auto-geo-rectification. - This step was pivotal, as it allowed us to demonstrate the feasibility and efficiency of our method in comparison to a more complex ML solution.
  • With a functional prototype in hand, we showcased our results to our officer and the potential users, emphasizing not just the efficiency but also the simplicity of our approach.
  • To ensure that we were going down the right direction and to keep all stakeholders in the loop, we initiated regular review meetings with them, and presented our progress at each stage.

Result:

  • Our initiative paid off. The final product increased the speed of the geo-rectification process by around 75%, and we also saw a very notable improvement in accuracy.
  • The project’s success also demonstrated the value of taking proactive measures and thinking outside the box to address challenges.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Made a Mistake at Work

A

Situation: During my internship at Bytedance, while working on optimizing the loading time for our in-house monitoring tool dashboard, I was tasked with enhancing the caching system to make it more efficient

Task: After my initial implementation of the caching system, my mentor suggested going a step further by introducing a locking mechanism to prevent multiple cache fetches. The objective was to improve efficiency by ensuring that resources weren’t wasted on redundant cache fetches

Action: Without fully grasping the distributed nature of our system, I proceeded to implement a local lock system instead using mutexes. It was only during a group discussion with some of the other engineers where we were discussing API endpoint integrations that I realised my solution wouldn’t really work in a distributed environment. I immediately acknowledged the oversight and quickly settled down with my Mentor post meeting to discuss potential solutions and implementation details to make sure that I can still deliver my project on time.

Result: With some guidance, I was able to re-implement the lock system, transitioning from a local to distributed lock mechanism, and was able to do so within the initially stipulated time frame. This experience reinforced the importance of understanding and clarifying the broader context and always asking questions even when some questions you want to ask may seem stupid.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Most Technically Challenging Project (TIKTOK)

A

BYTEDANCE DISTRIBUTED LOCK SYSTEM

Situation:
- During my internship as a Backend Engineer at Bytedance, I was working on optimizing our in-house monitoring tool’s loading time.
- This tool was important for various SRE teams to monitor and manage TikTok’s performance, but it was a new tool and had a slow loading time.

Task:
- So I was tasked to try to optimise it’s loading time by implementing a caching and distributed lock system

Action:
- I initially tried to use Redlock to build a distributed locking system for the caching system, but later realised that Redlock had some limitations when you start multiple sessions for one User
- So I decided to drop the idea and simply achieved the goal of a distributed locking system by spinning up a redis DB to call setNX and delete operations which are atomic operations to provide a consistent system to keep track of the locks.
- Also I set a Time to live (ttl) through setNX to make sure our system is more fault tolerant.
- Additionally, I used fencing tokens to make sure the lock is safe and that the right machine is releasing the lock. - This also ensures that if there is a delayed connection to our system, we know that it is an old request and we can simply reject it.

==> I initially ended my project here, but when I was blocked on another project later on, I came back to this project to try to make it better.

  • I realised that to ensure stronger consistency, we need to use a consensus algorithm to ensure that any changes made is agreed upon agreed by the majority of the nodes before it’s committed, preventing split-brain scenarios where different parts of the system have a different idea of who is holding a lock.
  • This was previously accounted for when using redlock because it had a built in consensus algorithm but because I had a simple Redis implementation now, I could consider working on the consensus algorithm now
  • I tried to use a raft consensus algorithm which is initialised with an odd number of nodes, and one of them being a leader.
  • Everytime a read is proposed, the leader is going to propose this to all the other nodes, as long as majority of the follower nodes can accept that the lock would be held by this session, then the leader is going to go ahead with the process and tell all the other follower nodes about it.
  • This allows us to be sure that lock holders are agreed upon and we wouldn’t have different systems thinking different sessions have the same lock which would defeat the purpose of our implementation.

Result:
- Ultimately although there were some small issues with the raft consensus algorithm, my mentor actually said we didn’t really have to optimise it so much because there wouldn’t be many concurrent users and the downside of 2 locks fetching data in the cache at the same time would be very low and non-detrimental anyways

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Balance Multiple Responsibilities

A

Situation: During my time as a Backend Engineer at Bytedance, I was still doing summer courses (Orbital) which was essentially a course where you partner with someone to work on a mid scale project

Task: I not only had to make sure that I am not lagging behind at my job and not skimping on learning new things, I also had to keep up with the school project because I also didn’t really want to let my partner down or fail that course.

Action: During this period of time, I had to plan out clearly, what I wanted to do for the school project and communicate clearly with my partner to understand what we hope to achieve as a team each week, since he was also interning somewhere else as well. At work, I had to communicate clearly with my mentors to fully understand the task at hand so I can be more efficient in my learning and in my work.

Result: Ultimately, I felt like I was able to learn alot through my internship at Bytedance and contributed significantly to some of the projects I worked on there. Additionally, I was able to complete my school project and got a good grade in the end.

  • Ultimately I feel like communication is really important because you want to make sure that you are always working on something that is useful and that your goals are aligned with your other team members as well
16
Q

Adapt to Change Quickly

A

Situation:
- During my internship at ByteDance, I actually worked with a team of engineers based in China, while being located in Singapore throughout my entire internship.
- This presented a unique set of challenges due to the difference in work hours

Task:
- This was not easy, especially for my first project where I was adjusting to this new work arrangement and the large codebase that we had made it even harder to progress smoothly

Action:
- In order to adapt to the change in work environment and challenges:

1) Adapting to Work Hours:
- I adjusted my work hours slightly to ensure there was a significant overlap with the Chinese team’s working hours.
- This allowed us to have dedicated time each day to discuss updates, blockers, and solutions.

2) Effective Communication:
- I recognised the importance of clarity in remote communication, I started documenting my questions and concerns in a more clear and structured manner.
- This ensured that when I did get a chance to communicate with the team, our discussions were productive and concise.

3) Self-Reliance:
- Given the inherent communication delays because we don’t work in the same office, I made it a point to dig deeper into the codebase and consult available documentation before reaching out to them with questions.
- This approach not only helped me become more independent but also improved my understanding of the system.

4) Seeking Alternate Solutions:
- For the technical issues that I had with connecting to ByteDance services,
- I looked to seek advice from colleagues in my Singapore team or started oncalls to ensure that I was more efficient

Result:
- Despite the initial challenges, the project moved forward smoothly.
- And I felt like subsequent projects went well
- Through this experience I learned that the importance of adaptability, proactive problem solving, and effective communication in a remote team setting.
- The experience also reinforced the idea that with the right approach and mindset, even seemingly difficult situations can be managed efficiently.

17
Q

Worked under a Tight Deadline

A

Situation:
During my time at DSTA, I was part of a 2 man team working on a data analytics project.

Task:
- We worked on a brand new Use Case which focused on optimising the unit allocation of NSMen returning for reservice, so we essentially had to do everything from scratch: data cleaning to data visualisation and we had a 2 week deadline, after which we had to present our use case to the director there.

Action:
- While It was our first project under such a tight deadline, instead of getting overwhelmed, we dissected the task into manageable components
- This not only made the workload more digestible but also allowed us to work on different parts of the problem based on our expertise.
- We had frequent discussions and check-ins to ensure that our ideas were aligned and there were no ambiguities
- Additionally, we would discuss with the other engineers on certain problems that we struggled with or decisions that just needed another opinion

Result:
- Our structured and proactive approach worked out in the end, not only did we finalise our Use Case ahead of schedule, but our presentation also went really well
- This reaffirms the importance of teamwork, clear communication, and resourcefulness when working under time pressure.

18
Q

Most Interesting/Passionate Project (Creative)

A
  • One of the most interesting projects I’ve embarked on was building a computational model to predict the frog count across specific locations.
  • The overarching goal was to leverage these predictions to support biodiversity conservation, considering the crucial ecological role that frogs play.
  • What set this project apart was the degree of autonomy granted. Although it was framed as a competition, participants were given a broad canvas to paint their solutions and approach the problem.
  • Several aspects of this project stood out to me:

1) Generating Bounding Box Sizes for Training Data:
- We were given only the coordinates of frog counts over a large area and you are supposed to generate training data yourself.
- I devised a strategy to segment these areas into bounding boxes with the frog counts within each box serving as my training data.
- This method synergized really well with the data available from the Microsoft Planetary Data Catalog since data points were marked using coordinates as well.
- The flexibility of adjusting the bounding box size proved extremely valuable later on in manipulating the total number of data points.

2) Pseudo-Labeling like Technique to Augment Data:
- The dataset represented an aggregate frog count over two decades.
- To maximize the use of this, I partitioned the data annually, effectively amplifies my dataset by 20 times.
- This allowed me to generate enough data to train using neural networks and gradient-boosted decision trees without the problem of underfitting which was present initially.

3) Redefining the Evaluation Metric:
- I questioned the efficacy of the given F1-Score metric used for evaluation, especially when dealing with imbalanced data and the regression nature of the problem.
- Instead, I decided to evaluate my solutions on the Weighted Mean Absolute Percentage Error (WMAPE) which accounted for error magnitude in relation to actual counts, ensuring a more accurate representation of the model’s performance.

4) Visualizing Predictions:
- I visualized predictions as heatmaps overlaid on a world map.
- This not only made results more interpretable but also aided in identifying potential prediction anomalies in areas with denser frog populations.

  • Throughout the project, I found myself constantly weighing trade-offs, diving deep into problem nuances, and making well-informed decisions.
  • Despite having several other competitive accomplishments, I feel like this this remains one of my more thoughtful and interesting project I have ever worked on.
19
Q

Why Apple

A
  • As someone early in my career journey, my primary goal is to immerse myself in an environment that would accelerate my learning, especially in the realm of technology.
  • While there are other firms that offer growth opportunities as well
  • I’ve always believed that the best type learning happens when there’s a synergy between individual values and organizational culture or beliefs.
  • With Apple, I do see a clear alignment on many fronts

1) Apple’s commitment to Helping People Grow in Their Own Direction’ resonates deeply with me. - I believe that each person brings a distinct talent and perspective to the table. - I think Apple is an environment that recognises individual potential and provides avenues for unique growth trajectories and ensures every individual has the platform to excel - This also ties in pretty closely with Apple's belief in Growing Roles into Careers` It’s clear that the company doesn’t just see its staff as employees but also as individuals on personal and professional growth trajectories.

=== SKIPABLE ===
2) In addition to that, I understand that Apple has A Healthy Respect for Well-Being.
- Maintaining a balance between personal well-being and professional success is something I prioritize myself.
- I’ve always believed that true innovation and productivity actually stems from a balanced approach to work and life
- I think this philosophy ensures not only the longevity of one’s career but also the quality of their contributions
- Knowing that Apple has a culture that emphasizes this balance further cements my desire to be part of the team.
=== SKIPABLE ===

3) Beyond the value alignment, Apple’s reputation for relentless innovation is unparalleled.
- The drive to continuously push boundaries and innovate is an ethos I’m excited to potentially be a part of.

  • And maybe on a more personal note, as an Apple user myself, I have always been captivated by the seamless integration and intuitive nature of the Apple ecosystem.
  • One particularly memorable experience was when I was preparing for a TOK presentation in school.
  • I had noted everything on the Notes app on my MacBook, but on the day of the presentation, I left it at home charging.
  • Thankfully, Apple’s Handoff feature saved the day, allowing me to review everything on my iPhone.
  • This is definitely not the first time that it has saved me but one of the most memorable ones
  • This kind of seamless experience is not just about convenience but is a testament to Apple’s engineering excellence and attention to detail.
  • And as a tech enthusiast, I’m eager and curious to unravel the engineering behind it, understand its nuances, and hopefully be part of contributing to the evolution of products that I deeply admire and use daily.
20
Q

Why should Apple Hire You

A

I think there are a few reasons to why Apple should hire me:

1) Diverse and Holistic Background / Expertise:

  • My roles have spanned from backend engineering at Bytedance to machine learning with the Singapore Armed Forces
  • This not only showcases my adaptability and willingness to learn new things, but also my ability to bring a broad or new perspective to Apple which can help solve complex problems in creative ways.

2) Passion for technology and Alignment with Apple’s Values/Ethos:

  • Apple is a place that is renowned for its relentless innovation.
  • And I personally think that my professional journey as of now has been driven by a relentless pursuit of excellence and innovation, which reflects/mirrors Apple’s core values.
  • My diverse tech background, coupled with my passion for technology, aligns with Apple’s spirit of pushing boundaries.
  • I am always eager to tackle challenging problems, learn from them, and find innovative solutions.
  • I see myself thriving in Apple’s culture, because apart from innovative thinking, Apple’s emphasis on individual growth and well-being also aligns perfectly with my own values

3) Finally, I think Apple should hire me because I have a `Proven Track Record of Excellence:

  • My achievements, whether in the form of improving backend systems at Bytedance, leading AI projects in the Singapore Armed Forces, or achieving high ranks in multiple global ML competitions, all underscore a consistent commitment to excellence.
  • At Apple, I envision leveraging this commitment to contribute to, and be part of, building the next generation of software
21
Q

Why this role?

A
  • The role mentioned building ‘extraordinary scalable systems’ that is meant to ensure a flawless experience for millions of customers and developers.
  • I understand that the team pushes boundaries of high performance, scalability and big data
  • I feel like this scale and potential for impact really appealed to me
  • I’m someone thats interested in working on interesting and complex problems and I see this as a golden opportunity to contribute to projects that touch the lives the millions globally
  • I also noticed that the role talked about how the teams would be “small, nimble and cross functional”, which I believe will offer an accelerated learning curve
  • Being exposed to various opportunities sounds like an enriching experience that I am keen to be a part of
  • But I think really a big reason to why I applied here is because its Apple. ==> Go on to the why Apple Answer
22
Q

What are the values of Apple

A

–> 1. A Healthy Respect for Well-Being
2. Putting the personal in personalisation
3. Keeping it green. And clean.
–> 4. Growing roles into careers
5. Off to a running start
6. Inspiring minds by augmenting reality
7. Looking ahead for Apple. Looking out for all
8. Bridging cultures with inspiration as a Volunteer Champion
–> 9. Helping People grow in their own direction
10. Making Products and careers even more accessible
11. Rethinking a supply chain to reimagine recycling
12. Connecting products with code. Connecting people with privacy

23
Q

What do you know about Apple

A
  • Apple is the company with the largest market cap currently
  • It began as a company that produced personal computers founded by Steve Jobs, Steve Wozniak and Ronald Wayne in 1976
  • And slowly transformed and grew into a company that provided not just hardware products but also a robust software ecosystem as well
  • Most notably they introduced the iPod in 2001 and iPhone and iPad in the late 2000s and early 2010s
  • Apple’s journey from a small personal computer company to a tech titan has been marked by persistent innovation, especially in the software realm.
  • I think the company’s commitment to excellence, user experience, and pushing the technological boundaries is what makes Apple stand out as a popular place that software engineers want to work at
  • I would say Apple is a place with some of the best engineers and most interesting work / problems due to it’s large scale.
24
Q

What are some Apple values that you resonate the most with

A

1) Apple’s commitment to Helping People Grow in Their Own Direction resonates deeply with me.
- As an early career individual I’m always looking for opportunities to grow and challenge myself
- I believe that each person brings a distinct talent and perspective to the table.
- I think Apple is an environment that recognises individual potential and provides avenues for unique growth trajectories and ensures every individual has the platform to excel
- This also ties in pretty closely with Apple’s belief in Growing Roles into Careers It’s clear that the company doesn’t just see its staff as employees but also as individuals on personal and professional growth trajectories.

2) In addition to that, I understand that Apple has another value: A Healthy Respect for Well-Being.
- Maintaining a balance between personal well-being and professional success is something I prioritize myself.
- I’ve always believed that true innovation and productivity actually stems from a balanced approach to work and life
- I think this philosophy ensures not only the longevity of one’s career but also the quality of their contributions
- Knowing that Apple has a culture that emphasizes this balance really cements my desire to be part of the team.

25
Q

What is your favourite apply product

A

My favorite Apple product has to be the iPhone 13, which I currently use. Prior to this, I primarily used Android devices, and making the switch has given me a unique perspective on what sets the iOS ecosystem apart.

The Apple ecosystem experience is a masterclass in integration. From a software engineer’s viewpoint, the way that features are seamlessly integrated and the fluid overall user experience really makes me want to better understand the software that supports it.

  • I specifically like the handoff and continuity Apple supports, being able to start a task on one device and finishing it using another. The AirDrop, and iCloud integrations are also amazing and unique experiences.
  • I think in essence it’s not really just about the allure of an individual Apple product but the seamless integration of software that makes Apple products so attractive.
  • And I think Once you’ve tasted the Apple ecosystem, it naturally just makes you yearn for more, simply because of its unmatched software harmony and high quality products.
26
Q

Why do you think Apple’s Ecosystem is Sleek

A

Sleekness:

Integration Across Devices: One of the standout features of the Apple ecosystem is the seamless integration across devices. With features like Handoff, I can start a task on one device and pick it up on another, making multitasking so much more efficient.

Unified Design Language: The visual and interactive design of Apple’s software remains consistent across the ecosystem. This consistency ensures that when you pick up any Apple device, the learning curve is minimal, leading to a more intuitive user experience.

Optimized Performance: Apple’s hardware and software integration is impeccable. They control the entire stack, from the chip design to the OS, to the apps. This results in an optimized, fast, and fluid experience across all devices.

Interesting Aspects:

Security and Privacy: Apple’s emphasis on user privacy is noteworthy. Features like on-device intelligence for Siri and differential privacy ensure user data protection. The ecosystem is built with privacy as a foundational pillar, and I respect and admire that approach.

Continuity Features: Beyond Handoff, features like Universal Clipboard or making calls from a Mac using the iPhone are not just technically impressive but greatly enhance user productivity.

Ecosystem Expansion with Services: The way Apple has expanded its ecosystem beyond devices, into services like iCloud, Apple Music, and App Store, is interesting. It provides a holistic environment where software and services complement the hardware.

Developer-Friendly Tools: From a software engineering perspective, Apple’s developer tools and frameworks, like Swift and SwiftUI, are forward-thinking and delightful to work with. They not just accelerate development but also ensure apps and services can integrate efficiently into the ecosystem.

In essence, the Apple ecosystem’s strength lies in its ability to provide a unified, smooth, and user-centric experience across devices and services. The blend of aesthetics, functionality, and security is what makes it stand out for me. And as a software engineer, the ecosystem represents an embodiment of what good software design and integration should aspire to be

27
Q

Apple’s Mission

A

“To bringing the best user experience to customers through innovative hardware, software, and services.”

28
Q

What are some of Apple Services?

A

Apple TV, Apple Music, the App Store, Apple Podcasts, Fitness and Apple Books

29
Q

Have you had any experiences with Apple specific platform or tech

A
  • While I haven’t directly worked with Apple-specific technologies, I have experience in Python and Go development and have worked on small scale and large scale systems
  • I think my experiences has given me a strong foundation in software engineering principles.
  • I believe that the core concepts and best practices I’ve learned are transferable and will allow me to quickly adapt to Apple’s technologies.
  • I’d say I’m someone who is also proactive about self-learning and staying updated with the latest in tech
  • Given the opportunity, I’m confident in my ability to ramp up and contribute effectively using Apple’s tech stack and product