0% found this document useful (0 votes)
13 views10 pages

Software Engineer Profile: Skills & Projects

Do Ky Duyen is a recent Software Engineering graduate with a GPA of 3.4/4.0 from Can Tho University, having practical experience from internships at FPT SOFTWARE and TMA Solutions. Proficient in technologies like Flutter, Angular, and MuleSoft, Duyen has developed a TodoList application and an Online Fundraising Website with advanced features such as facial recognition. Currently pursuing a Java SE Developer certification, Duyen aims to grow as a software engineer, focusing on mobile and web application development.

Uploaded by

Duyên Đỗ
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views10 pages

Software Engineer Profile: Skills & Projects

Do Ky Duyen is a recent Software Engineering graduate with a GPA of 3.4/4.0 from Can Tho University, having practical experience from internships at FPT SOFTWARE and TMA Solutions. Proficient in technologies like Flutter, Angular, and MuleSoft, Duyen has developed a TodoList application and an Online Fundraising Website with advanced features such as facial recognition. Currently pursuing a Java SE Developer certification, Duyen aims to grow as a software engineer, focusing on mobile and web application development.

Uploaded by

Duyên Đỗ
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Hello, I'm Do Ky Duyen, a recent Software Engineering graduate from Can Tho University.

I
graduated with a GPA of 3.4/4.0 and have gained practical experience through internships at
companies like FPT SOFTWARE and TMA Solutions.

During my internships, I've worked with technologies like Flutter, Angular, and MuleSoft,
developing skills in mobile and web application development. My most recent project was a
comprehensive TodoList application at Hahalho - ZiiChat, where I implemented advanced
features like internationalization and cross-platform functionality.

I'm passionate about technology and continuous learning. Currently, I'm pursuing my Java SE
Developer certification and working to improve my technical skills. My goal is to contribute
innovative solutions and grow as a software engineer.

I'm excited about the opportunity to bring my technical skills, problem-solving approach, and
enthusiasm for learning to your team

Q: Can you walk me through your experience with Flutter development at Hahalolo - ZiiChat?

"During my internship at Hahalolo - ZiiChat, I applied Object-Oriented Programming principles to


develop a TodoList application. I focused on implementing CRUD operations with efficient state
management. A key achievement was designing widget components and creating a widgetBook
according to Figma designs. I also actively participated in Agile Scrum processes, including sprint
planning and estimation, which helped me understand collaborative software development."

Q: You've had internships in different technologies. How have these experiences helped you grow?

"Each internship provided unique learning opportunities. At FPT SOFTWARE, I gained expertise in
MuleSoft and enterprise integration, which taught me about backend systems. My internship at TMA
Solutions with Angular helped me improve my frontend skills and understand RESTful API integrations.
At Hahalolo, I deepened my Flutter development skills. These experiences have made me versatile,
showing my ability to quickly adapt to different technologies and understand various aspects of software
development."

Q: Tell me about the Online Fundraising Website and its authentication feature.

"For the Online Fundraising Website, I implemented a secure authentication system using facial
recognition with FaceNet. The project involved creating a full-stack application using Python,
JavaScript, ReactJS, NodeJS, and MongoDB. I designed the database schema and RESTful
APIs, ensuring robust and secure communication between frontend and backend. The facial
recognition feature was particularly challenging and showcased my ability to integrate
advanced technologies into a practical application."

"For the Online Fundraising Website, I implemented secure authentication using FaceNet for
facial recognition. The project was built using a full-stack approach with Python, JavaScript,
ReactJS, NodeJS, and MongoDB. The facial recognition feature involved several key steps:

 Integrating machine learning models for face detection and recognition


 Implementing secure storage of facial feature vectors
 Creating a robust authentication flow that balances security and user experience
 Handling edge cases like low-light conditions or partial face visibility

"The biggest challenge was ensuring both accuracy and performance of the facial recognition
system while maintaining user privacy and data security."

Q: How do you choose the right technology for a project?

"I evaluate projects based on several factors: project requirements, scalability, performance needs, and
team expertise. For instance, I've used Flutter for mobile app development due to its cross-platform
capabilities, Angular for enterprise web applications requiring robust structure, and React for more
flexible, component-based interfaces. My approach is to understand the project's specific needs and
select the most appropriate technology stack."

Q: Why are you pursuing Java SE Developer certification?

"I'm committed to continuous learning and expanding my skill set. The Java SE certification will
help me deepen my understanding of core Java concepts and OOP principles. Currently, I'm
taking Core Java Programming courses to complement my existing knowledge. This certification
aligns with my goal of becoming a more comprehensive and skilled software developer."

Q: Where do you see yourself in the next 3-5 years?

"I aim to grow into a senior developer role, specializing in mobile and web application development. I'm
particularly interested in continuing to work with technologies like Flutter, React, and expanding my
backend development skills. My goal is to not just write code, but to contribute to creating innovative
solutions that solve real-world problems."

Q: How do you stay updated with new technologies?

"I stay current through multiple channels: online courses, tech blogs, GitHub repositories, and developer
communities. I'm actively pursuing certifications, like my ongoing Java SE certification. I also enjoy
working on personal projects that allow me to experiment with new technologies. For example, my
Online Fundraising Website was an opportunity to explore facial recognition technology."

Interview Preparation for Do Ky Duyen


Technical Skills and Experience
Q1: Can you tell me about your experience with Flutter development?

A1: During my internship at Hahalolo - ZiiChat, I applied Object-Oriented Programming


principles in Flutter development. I worked on TodoList applications, implementing CRUD
operations and state management. I also developed UI components and widgetBooks according
to Figma designs, demonstrating my ability to translate design specifications into functional
code.

Q2: What different technologies have you worked with during your internships?

A2: I've gained diverse technology experience across multiple internships:

 At FPT Software, I worked as a MuleSoft Developer, gaining expertise in MuleSoft 4.x


and Anypoint Platform for enterprise integration solutions.
 At TMA Solutions, I worked as a Frontend Developer using Angular and TypeScript,
implementing interfaces and working with RESTful API integrations.
 My current Flutter Developer role involves mobile app development with a focus on UI
design and state management.

Q3: Can you describe one of your personal projects in more detail?

A3: My Online Fundraising Website project is a good example of my full-stack development


skills. I used Python, JavaScript, ReactJS, NodeJS, and MongoDB to create a platform with
secure authentication, including an innovative facial recognition feature using FaceNet. I
designed the database schema and RESTful APIs, following best practices in software design.

Educational Background and Skills


Q4: How has your academic background prepared you for a software
development career?

A4: My Software Engineering degree from Can Tho University provided a strong foundation in
key areas like Object-Oriented Programming, Data Structures and Algorithms, and Software
Development Lifecycle. With a GPA of 3.4/4.0, I've developed a solid understanding of core
computer science principles that I've been able to apply directly in my internships and personal
projects.

Q5: What programming languages are you most comfortable with?

A5: I have experience with multiple programming languages:

 JavaScript and TypeScript for frontend and full-stack development


 Java (with a focus on core concepts and OOP principles)
 Python for backend development
 Flutter for mobile app development
 Angular and React for web development

Professional Development
Q6: What steps are you taking to continue your professional growth?

A6: I'm currently pursuing my Java SE Developer certification and taking Core Java
Programming courses. I'm also preparing to obtain a TOEIC certificate above 650, which
demonstrates my commitment to continuous learning and improving my technical and language
skills.

Q7: How do you stay updated with the latest technologies?

A7: I actively work on personal projects using different technologies, which helps me stay
current. My recent projects showcase my ability to learn and implement new technologies like
facial recognition, advanced filtering, and various web development frameworks.

Soft Skills and Methodology


Q8: Can you describe your experience with Agile methodologies?

A8: During my Flutter Developer internship, I participated in Agile Scrum processes, including
sprint planning and estimation. This experience taught me the importance of collaborative
development, iterative progress, and effective team communication.

Potential Behavioral Questions


Q9: Tell me about a challenge you faced during a project and how you overcame
it.

A9: During my Online Fundraising Website project, implementing secure facial recognition
authentication was technically challenging. I researched FaceNet technology, studied its
implementation, and successfully integrated a secure authentication mechanism. This
demonstrated my problem-solving skills, ability to learn new technologies, and commitment to
creating robust solutions.

. Yêu cầu làm rõ câu hỏi

Nếu câu hỏi chưa rõ ràng, bạn có thể hỏi lại để có thêm thời gian suy nghĩ:
🔹 "Could you clarify what you mean by that?" (Anh/chị có thể làm rõ ý của câu hỏi không?)
🔹 "I'm not sure I fully understand the question. Could you elaborate?" (Tôi không chắc mình hiểu rõ câu
hỏi. Anh/chị có thể giải thích thêm không?)

2. Thừa nhận bạn chưa biết nhưng thể hiện sự sẵn sàng học hỏi

🔹 "I haven't encountered that before, but I’d love to learn more about it." (Tôi chưa từng gặp điều này
trước đây, nhưng tôi rất muốn tìm hiểu thêm.)
🔹 "That's an interesting question. I don’t have an exact answer at the moment, but here’s how I would
approach it…" (Đây là một câu hỏi thú vị. Hiện tại tôi chưa có câu trả lời chính xác, nhưng tôi sẽ tiếp cận
nó theo cách sau…)

3. Nếu câu hỏi về công nghệ hoặc khái niệm bạn chưa biết

🔹 "I haven't worked directly with that technology, but I have experience with something similar, such as
[công nghệ tương tự]. Would you like me to explain my experience with that?"
(Tôi chưa làm việc trực tiếp với công nghệ đó, nhưng tôi có kinh nghiệm với một công nghệ tương tự,
như [công nghệ tương tự]. Anh/chị có muốn tôi chia sẻ về kinh nghiệm đó không?)

🔹 "I am not familiar with that specific concept, but given my background in [lĩnh vực liên quan], I believe
I can learn it quickly."
(Tôi chưa quen với khái niệm cụ thể đó, nhưng với nền tảng của tôi trong [lĩnh vực liên quan], tôi tin
rằng mình có thể học nhanh chóng.)

4. Nếu bạn cần thêm thời gian suy nghĩ

🔹 "That's a great question. Let me take a moment to think about it." (Đó là một câu hỏi hay. Cho tôi một
chút thời gian suy nghĩ.)
🔹 "I’d like to think about this carefully. May I take a few seconds?" (Tôi muốn suy nghĩ kỹ về điều này. Tôi
có thể dành vài giây được không?)

Việc giữ bình tĩnh và thể hiện thái độ tích cực sẽ giúp bạn ghi điểm, ngay cả khi không biết câu trả lời.
Nếu cần, mình có thể giúp bạn luyện tập cách trả lời một số tình huống cụ thể! 🚀

4o
You said:
các câu hỏi phỏng vấn tiếng anh liên quan đến OOP

ChatGPT said:

Dưới đây là một số câu hỏi phỏng vấn bằng tiếng Anh liên quan đến Object-Oriented Programming
(OOP), kèm theo gợi ý cách trả lời:

1. What are the four pillars of OOP? (Bốn nguyên tắc chính của OOP là gì?)

✅ Gợi ý trả lời:


"The four main pillars of OOP are Encapsulation, Abstraction, Inheritance, and Polymorphism."

🔹 Encapsulation: Wrapping data and methods into a single unit (class) and restricting direct access.
🔹 Abstraction: Hiding implementation details and exposing only the necessary functionalities.
🔹 Inheritance: Allowing one class to inherit properties and behaviors from another class.
🔹 Polymorphism: Allowing a single interface to be used for different types, enabling method overriding
and overloading.

2. What is the difference between abstraction and encapsulation? (Sự khác nhau
giữa abstraction và encapsulation là gì?)

✅ Gợi ý trả lời:


"Encapsulation is about restricting direct access to data by wrapping it inside a class and providing
controlled access via methods. Abstraction, on the other hand, is about hiding unnecessary details and
showing only relevant information to the user. Encapsulation is implemented using access modifiers
(private, protected, public), while abstraction is implemented using abstract classes and interfaces."

3. Can you explain polymorphism with an example? (Bạn có thể giải thích về đa
hình và đưa ra ví dụ không?)

✅ Gợi ý trả lời:


"Polymorphism allows a single interface to be used for different types. There are two types: method
overloading and method overriding. In method overloading, multiple methods have the same name but
different parameters. In method overriding, a subclass provides a specific implementation of a method
that is already defined in the parent class."

💡 Example:

java
CopyEdit
class Animal {
void makeSound() {
[Link]("Some sound...");
}
}

class Dog extends Animal {


@Override
void makeSound() {
[Link]("Bark!");
}
}

public class Main {


public static void main(String[] args) {
Animal myAnimal = new Dog();
[Link](); // Output: Bark!
}
}
4. What is the difference between an abstract class and an interface? (Sự khác
nhau giữa abstract class và interface là gì?)

✅ Gợi ý trả lời:

Feature Abstract Class Interface

Can have both abstract and concrete Only abstract methods (before Java
Methods
methods 8)

Fields Can have instance variables Only constants (static & final)

Multiple Inheritance Cannot support multiple inheritance Can implement multiple interfaces

Constructor Can have constructors Cannot have constructors

💡 Example:

java
CopyEdit
abstract class Animal {
abstract void makeSound();
}

interface Pet {
void beFriendly();
}

5. What is method overloading and method overriding? (Method overloading và


method overriding là gì?)

✅ Gợi ý trả lời:

 Method Overloading: Same method name, different parameters (Compile-time polymorphism).


 Method Overriding: A subclass provides a new implementation of a method inherited from a
parent class (Runtime polymorphism).

💡 Example:

java
CopyEdit
class MathUtils {
int add(int a, int b) { return a + b; } // Overloaded method
int add(int a, int b, int c) { return a + b + c; }
}

class Parent {
void show() { [Link]("Parent class"); }
}

class Child extends Parent {


@Override
void show() { [Link]("Child class"); } // Overridden method
}

6. What is the difference between composition and inheritance? (Sự khác nhau
giữa composition và inheritance là gì?)

✅ Gợi ý trả lời:


"Inheritance represents an 'is-a' relationship, while composition represents a 'has-a' relationship.
Inheritance can lead to tight coupling, whereas composition provides better flexibility by allowing objects
to be composed of other objects."

💡 Example:

 Inheritance (Dog is a type of Animal):

java
CopyEdit
class Animal { }
class Dog extends Animal { }

 Composition (Car has a Engine):

java
CopyEdit
class Engine { }
class Car {
private Engine engine; // Car has an engine
}

7. What are access modifiers in Java? (Các access modifier trong Java là gì?)

✅ Gợi ý trả lời:


"Java has four access modifiers: private, default, protected, and public."

Modifier Scope Example

Private Within the same class only private int age;

Default Within the same package int age;

Protected Within the same package + subclasses protected int age;

Public Accessible everywhere public int age;


8. What is the difference between a class and an object? (Sự khác nhau giữa class
và object là gì?)

✅ Gợi ý trả lời:


"A class is a blueprint or template for creating objects, while an object is an instance of a class. A class
defines properties and behaviors, whereas an object holds actual data and executes behaviors."

💡 Example:

java
CopyEdit
class Car { // Class
String brand;
void drive() { [Link]("Driving..."); }
}

public class Main {


public static void main(String[] args) {
Car myCar = new Car(); // Object
[Link] = "Toyota";
[Link]();
}
}

9. What is a constructor in Java? (Constructor trong Java là gì?)

✅ Gợi ý trả lời:


"A constructor is a special method in Java that is used to initialize objects. It has the same name as the
class and does not have a return type."

💡 Example:

java
CopyEdit
class Person {
String name;
Person(String n) { // Constructor
name = n;
}
}

10. What is the difference between static and instance methods? (Sự khác nhau
giữa static method và instance method là gì?)

✅ Gợi ý trả lời:


 Static methods belong to the class and can be called without creating an object.
 Instance methods belong to an object and require an instance to be called.

💡 Example:

java
CopyEdit
class MathUtils {
static int square(int x) { return x * x; } // Static method
int add(int a, int b) { return a + b; } // Instance method
}

Common questions

Powered by AI

Do Ky Duyen's Software Engineering degree from Can Tho University laid a strong foundation in essential areas like Object-Oriented Programming, Data Structures and Algorithms, and the Software Development Lifecycle. The rigorous curriculum and her GPA of 3.4/4.0 reflect her grasp of computer science principles, which she has applied effectively in her internships and personal projects, preparing her well for real-world software development challenges .

Do Ky Duyen faced significant challenges in ensuring both accuracy and performance of the facial recognition system while maintaining user privacy and data security. She tackled these challenges by integrating machine learning models for face detection and recognition, implementing secure storage of facial feature vectors, and creating a robust authentication flow that could handle edge cases like low-light conditions or partial face visibility. Her problem-solving approach involved in-depth research and application of advanced technology to achieve a balance between security and user experience .

Do Ky Duyen’s approach to handling unknown challenges includes acknowledging when she doesn’t know something but expressing a strong willingness to learn about it. She views unfamiliar questions or technologies as opportunities to expand her knowledge and skills, rather than obstacles. This mindset is supported by her continuous learning practices, like pursuing certifications and engaging in technology exploration, showing her proactive adaptability and commitment to professional growth .

Pursuing a Java SE Developer certification aligns with Do Ky Duyen's commitment to continuous learning and skill expansion. It allows her to deepen her understanding of core Java concepts and Object-Oriented Programming principles, which supports her aim to become a comprehensive and skilled software developer. This certification is part of her strategy to enhance her technical expertise and prepare for advanced roles in software engineering .

Do Ky Duyen stays updated with new technologies through online courses, tech blogs, GitHub repositories, and developer communities. Actively engaging in personal projects allows her to experiment with and apply new technologies, such as the facial recognition technology in her Online Fundraising Website project. These strategies enable her to continuously expand her knowledge base and technical skills, equipping her for career advancement and innovation in the rapidly changing tech industry .

Do Ky Duyen's diverse internship experiences across different companies such as FPT SOFTWARE, TMA Solutions, and Hahalho - ZiiChat highlight her adaptability in technology fields. At FPT SOFTWARE, she learned about backend systems through her work with MuleSoft, at TMA Solutions she honed her frontend skills using Angular, and at Hahalho she expanded her expertise in Flutter development. This variety in experiences shows her ability to quickly learn and adapt to different tools and environments, making her versatile in handling both frontend and backend development challenges .

Do Ky Duyen demonstrates capability in both frontend and backend development through her comprehensive experience with various technologies. Her internships involved working with frontend technologies such as Angular and React, where she implemented user interfaces and worked with RESTful APIs. For backend development, she utilized Python and NodeJS in her Online Fundraising Website project, showcasing her ability to implement authentication systems and integrate advanced technologies like facial recognition. This blend of skills across the software stack indicates her competence as a full-stack developer .

During her internship as a Flutter Developer, Do Ky Duyen engaged in Agile Scrum processes, including sprint planning and estimation. These experiences taught her the value of collaborative development and iterative progress. Her participation in Agile methodologies enhanced her ability to communicate effectively with team members and work cohesively in a group setting to achieve project goals, reflecting her growth in teamwork and collaboration skills .

Do Ky Duyen selects technology for projects based on factors such as project requirements, scalability, performance needs, and team expertise. Her approach is to thoroughly understand the specific needs of the project and choose a technology stack that optimally meets those requirements. For instance, she uses Flutter for mobile app development due to its cross-platform capabilities, Angular for robust structure in enterprise web applications, and React for flexible component-based interfaces. This method shows her capability to match technology capabilities to project objectives .

Problem-solving skills are central to Do Ky Duyen's career as seen in her project work. For instance, the implementation of a facial recognition feature in her Online Fundraising Website project required solving technical challenges related to data security and user privacy. Her success in integrating such advanced features into practical applications showcases her critical thinking, ingenuity, and her drive to innovate through creative solutions in software engineering .

You might also like