Tải bản đầy đủ (.pdf) (24 trang)

Báo cáo thực tập backend developer zalopay tech intern 2022

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.08 MB, 24 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

BÁO CÁO THỰC TẬP

BACKEND DEVELOPER
- ZALOPAY TECH INTERN 2022 -

Công ty thực tập:

Công ty cổ phần Zion

Người phụ trách:

Nguyễn Văn Thử

Thực tập sinh:

Nghi Lâm Minh Khôi


TP. HỒ CHÍ MINH, 2023


LỜI MỞ ĐẦU
Sau một thời gian khơng ngừng tìm kiếm trên các diễn đàn và các website lập
trình để theo đuổi mục tiêu trở thành lập trình viên iOS, em đã vơ tình nhìn thấy bài
đăng tuyển dụng của ZaloPay - một tổ chức thuộc VNG. Được biết, VNG là một cơng
ty cơng nghệ uy tín hàng đầu Việt Nam với các sản phẩm phục vụ cuộc sống người


Việt, hơn nữa cơng ty cịn có mối quan hệ hợp tác tốt đẹp với khoa Cơng nghệ phần
mềm. Chính vì vậy em đã lựa chọn VNG là nơi thực tập cho mình.
Sau khi trở thành thực tập sinh tại VNG, em đã được trải nghiệm một chương
trình đào tạo chuyên nghiệp với đội ngũ mentor giàu kinh nghiệm. Bên cạnh đó việc
được tiếp xúc với môi trường làm việc thực tế cũng giúp đỡ em rất nhiều trong việc
phát triển các kĩ năng mềm cần thiết cho tương lai. Sau thời gian thực tập kéo dài ba
tháng, em đã nắm vững các kiến thức, kĩ năng cần thiết trong lập trình iOS và sẵn
sàng tiến xa hơn trên con đường mà mình đã chọn.


LỜI CẢM ƠN
Em xin gửi lời cảm ơn chân thành đến các tổ chức, cá nhân đã giúp em có một
kỳ thực tập thành cơng và bổ ít.
Đầu tiên em xin gửi lời cảm ơn đến công ty cổ phần VNG và đặc biệt là đội
ngũ ban tổ chức chương trình ZaloPay Tech Intern 2022 đã tạo điều kiện cho em có
cơ hội thực tập tại cơng ty. Tuy chỉ trong thời gian ngắn, nhưng nhờ sự nhiệt tình chỉ
dạy của đội ngủ trainer và ban tổ chức chương trình em đã có được những kiến thức
và kĩ năng vơ cùng quan trọng trong lĩnh vực lập trình iOS để chuẩn bị hành trang
trên con đường trở thành kỹ sư lập trình của mình.
Đặt biệt cảm ơn anh Nguyễn Văn Thử là mentor trực tiếp đã hướng dẫn các
kiến thức nền tảng và các kĩ thuật nâng cao. Bên cạnh đó, cảm ơn anh đã hỗ trợ nhiệt
tình, giúp đỡ em giải quyết các khó khăn khi tham gia vào môi trường làm việc mới
đặc biệt trong vấn đề giao tiếp với mọi người trong nhóm.Trên hết, em xin cảm ơn
những đóng góp và những lời khun bổ ít của anh trong việc xây dựng dự án, giúp
em có thể hoàn thành dự án một cách tốt nhất.
Cuối cùng, em xin cảm ơn những thầy cô trong khoa Công nghệ phần mềm đã
nhiệt tình hỗ trợ và tạo điều kiện giúp em có cơ hội được đi thực tập và hoàn thành
bài báo cáo này.
Em xin chân thành cảm ơn.


Tp. Hồ Chí Minh, 30 tháng 6 năm 2023
Sinh viên

Nghi Lâm Minh Khôi


NHẬN XÉT CỦA KHOA


MỤC LỤC

LỜI MỞ ĐẦU ................................................................................................................. 6
LỜI CẢM ƠN ................................................................................................................. 7
NHẬN XÉT CỦA KHOA .............................................................................................. 8
NỘI DUNG BÁO CÁO .................................................................................................. 1
1.1. GIỚI THIỆU CÔNG TY VNG VÀ CÁC SẢN PHẨM CỦA ZALOPAY ............. 1
1.1.1. GIỚI THIỆU VỀ VNG ...................................................................................... 1
1.1.2. BỘ PHẬN ZALOPAY TẠI VNG ..................................................................... 3
1.2. GIỚI THIỆU CHƯƠNG TRÌNH ZALOPAY TECH INTERN ............................. 4
2.1. GIỚI THIỆU VÀ TRAINING KĨ NĂNG MỀM .................................................... 8
2.1.1. TƯ DUY LOGIC VÀ GIAO TIẾP THỜI GIAN: 1 NGÀY ............................... 8
2.1.2. KỸ NĂNG XÂY DỰNG VÀ TỔ CHỨC KẾ HOẠCH ..................................... 8
2.1.3. KỸ NĂNG THUYẾT TRÌNH ........................................................................... 8
2.2. THỰC HIỆN DỰ ÁN DƯỚI SỰ HƯỚNG DẪN CỦA MENTOR (16 TUẦN) ..... 9
2.2.2. TÌM HIỂU VỀ GIT, GIT FLOW ..................................................................... 10
2.2.3. TÌM HIỂU VỀ DATABASE, CACHE ............................................................ 11
2.2.4. TÌM HIỂU VỀ NETTY, PROTOBUF............................................................. 12
2.2.5. TÌM HIỂU VỀ BUSINESS CỦA DỰ ÁN ....................................................... 13
2.2.6. THỰC HIỆN DỰ ÁN THỰC TẬP .................................................................. 13
2.3. BÁO CÁO KẾT QUẢ THỰC TẬP ...................................................................... 13

2.4. KẾT QUẢ CUỐI CÙNG ...................................................................................... 13
3.1. GIỚI THIỆU VỀ CHỨC NĂNG .......................................................................... 15
3.1.1. YÊU CẦU CHỨC NĂNG ............................................................................... 15
3.1.2. PHÂN TÍCH CHỨC NĂNG ........................................................................... 15
3.2. Q TRÌNH THỰC HIỆN .................................................................................. 16
3.3. KẾT QUẢ ĐẠT ĐƯỢC ....................................................................................... 16
TÀI LIỆU THAM KHẢO ............................................................................................ 17



NỘI DUNG BÁO CÁO
Chương 1. GIỚI THIỆU CÔNG TY VÀ CHƯƠNG TRÌNH THỰC TẬP
Ở chương đầu của báo cáo em sẽ nêu một vài thông tin về công ty thực
tập VNG, team ZaloPay nơi mình sẽ trực tiếp làm việc, cũng như là một vài
thơng tin về chương trình ZaloPay Tech Intern 2022.
1.1.

Giới thiệu công ty VNG và các sản phẩm của ZaloPay

Ở phần này, em sẽ giới thiệu về công ty VNG, lý do chọn VNG là công ty thực
tập và các sản phẩm của bộ phận ZaloPay.
1.1.1. Giới thiệu về VNG

Hình 1.1 Logo cơng ty VNG1
Thành lập từ năm 2004, VNG Corporation là một trong những
công ty Internet & Công nghệ hàng đầu tại Việt Nam, phục vụ cho
người dùng Internet trên 100 quốc gia và vùng lãnh thổ. Sở hữu hệ sinh
thái các sản phẩm Internet đa dạng, cùng với nguồn lực công nghệ tiên
tiến, đội ngũ kỹ sư trẻ, tài năng, VNG còn nghiên cứu và phát triển các
hệ thống, giải pháp thông minh trên nền tảng IoT, Big Data, VR/AR,

AI.[1]

1


1 Nguo&n:

2


VNG được xếp hạng vào CLB các công ty Internet trị giá tỷ đơ
của thế giới (2014), được bình chọn là Doanh nghiệp Nội dung số có
ảnh hưởng lớn nhất đối với sự phát triển của Internet Việt Nam trong 1
thập kỷ (2007 - 2017). Trong năm 2019, VNG nhận giải thưởng “Nơi
làm việc tốt nhất Châu Á” do HR Asia, tạp chí uy tín hàng đầu về Nhân
sự tại Châu Á tổ chức và bình chọn.[1]
Cùng với sứ mệnh phát triển con người của mình, VNG thường
xuyên làm tham gia, tổ chức vào các hoạt động với các trường thuộc
khối Đại học Quốc gia trong đó có UIT. Hơn nữa VNG còn mối quan
hệ hợp tác tốt đẹp với Khoa Cơng nghệ phần mềm.
Chính vì những lý do trên nên em đã quyết định sẽ chọn VNG
là địa điểm thực tập của mình.
1.1.2. Bộ phận ZaloPay tại VNG
Được ra mắt vào năm 2015, ZaloPay cung cấp một loạt các tính
năng và tiện ích cho người dùng trong việc thực hiện các giao dịch tài
chính trực tuyến.
Với ZaloPay, người dùng có thể thực hiện nhiều hoạt động thanh
tốn khác nhau, bao gồm:
Chuyển tiền: Người dùng có thể gửi và nhận tiền từ bạn bè, người
thân hoặc đối tác kinh doanh thơng qua ứng dụng Zalo.

Thanh tốn hóa đơn: ZaloPay cho phép người dùng thanh tốn các
hóa đơn tiện ích như điện, nước, internet, truyền hình cáp và nhiều loại
dịch vụ khác một cách thuận tiện.
Mua sắm trực tuyến: ZaloPay tích hợp tính năng mua sắm trực
tuyến, cho phép người dùng mua hàng từ các cửa hàng trực tuyến, ứng
dụng di động hoặc website đối tác.
Giao dịch nội dung số: Người dùng có thể mua các nội dung số
như nhạc, game, ứng dụng di động, và nhiều dịch vụ giải trí khác bằng
ZaloPay.
3


Rút tiền: ZaloPay cung cấp tính năng rút tiền từ tài khoản điện tử
vào tài khoản ngân hàng hoặc bằng cách chuyển tiền trực tiếp đến cửa
hàng liên kết với ZaloPay.
ZaloPay cũng mang lại nhiều lợi ích cho người dùng. Ví dụ, người
dùng có thể nhận các ưu đãi và khuyến mãi đặc biệt khi sử dụng ZaloPay,
cũng như tích lũy điểm thưởng để đổi lấy các quà tặng hoặc giảm giá.
Ngồi ra, ZaloPay cũng đảm bảo tính bảo mật và an tồn trong q trình
thanh tốn, đảm bảo thơng tin tài chính và dữ liệu cá nhân của người dùng
được bảo vệ.
Tóm lại, ZaloPay là một dịch vụ thanh tốn di động đa năng và tiện
ích tại Việt Nam, mang lại sự tiện lợi, an toàn và linh hoạt cho người dùng
trong việc thực hiện các giao dịch tài chính hàng ngày.
1.2.

Giới thiệu chương trình ZaloPay Tech Intern

Hình 1.2 ZaloPay Tech Intern Program 20222
ZaloPay Tech Intern 2022 là chương trình đào tạo nhanh dành cho các

ứng viên mới hơn về công nghệ trẻ và tài năng, những người đam mê sử dụng
công nghệ để tạo ra tác động lớn hơn đến cuộc sống của người Việt Nam. Với
khóa huấn luyện 1-1 kéo dài 4 tháng, ứng viên sẽ được tham gia đào tạo tại chỗ
4


với các cố vấn chuyên nghiệp, giàu kinh nghiệm là những chuyên gia công
nghệ hàng đầu và đang giữ vai trò leader của Zalopay.
Ứng viên sẽ được tạo điều kiện bằng kiến thức cơ bản và kinh nghiệm
thực tế để học hỏi, sáng tạo và phát triển sau khóa học.[3]
Đây là một trong những chương trình thực tập thực sự đáng trông chờ
trong năm 2022 với nhiều đãi ngộ tốt và phù hợp với sinh viên còn đang đi
học như em bởi nhiều lý do. Đầu tiên với sự linh hoạt trong thời gian làm việc
và chỉ cần đáp ứng đủ 2.5 buổi trong tuần, chương trình hồn tồn phù hợp với
lịch học dày đặc ở năm cuối chương trình đào tạo. Hơn nữa việc được tiếp cận
sớm với môi trường làm việc chuyên nghiệp cùng với nơi làm việc cởi mở và
năng động sẽ giúp ích cho bản thân em rất nhiều trong tương lai. Chính vì thế
em đã chọn tham gia chương trình ZaloPay Tech Intern 2022 trong kì thực tập
của mình.

5


Chương 2. NỘI DUNG THỰC TẬP
Ở chương này, báo cáo sẽ tập trung trình bày các nội dung của kì thực tập bao
gồm các phần giới thiệu và training kĩ năng mềm, nghiên cứu các kiến thức liên quan
về lập trình iOS, thực hiện dự án thực tập và cuối cùng là kết quả dự án thực tập. Toàn
bộ quá trình thực tập kéo dài khoảng 4 tháng với lịch trình được khái quát trong bảng
sau:
Bảng 2.1 Lịch trình thực tập


Thời gian

Nội dung

Giai đoạn 1: Giới thiệu và gặp gỡ (1 ngày)
Chào mừng và giới thiệu chương trình
5/12/2022

Gặp gỡ mentor, kết thúc giai đoạn 1

Giai đoạn 2: Training kỹ năng song song với thực hiện dự án (4 tháng)
Tìm hiểu các kiến thức về ngơn ngữ lập trình
Tuần 1

Tuần 2

Tuần 3
Tuần 4

Java và framework Spring Boot
Tìm hiểu về git, gitflow

Tìm hiểu về database, cache

Tìm hiểu về netty, protobuf

6



Tìm hiểu về Business của cơng ty
Tuần 5

Tuần 6 - 8
Tuần 9 - 16

Tìm hiểu về các project trước đó của team

Tham gia dự án thực tế, triển khai chức
năng hủy liên kết và lưu trữ thông tin
người dùng.

Giai đoạn 3: Review, hoàn thiện và báo cáo kết quả thực tập (2 tuần)
Review, đánh giá chất lượng thực tập
Tuần 1
Chuẩn bị báo cáo, demo và thuyết trình.
Tuần 2
25/7/2022

Báo cáo kết thúc kỳ thực tập

7


2.1.

Giới thiệu và training kĩ năng mềm
Ở phần đầu tiên của kì thực tập sẽ là các buổi giới thiệu và training kĩ

năng mềm kéo dài 1.5 tuần, cuối các buổi training sẽ có các bài tập thực hành

nhóm giúp ghi nhớ bài học và để mọi người làm quen với nhau.
2.1.1. Tư duy logic và giao tiếp
Thời gian: 1 ngày
Nội dung: Ở kĩ năng này, em được học thế nào là tư duy phản biện, cách
hình thành tư duy phản biện, và tầm quan trọng của nó trong giao tiếp.
Cùng với các tình huống và bài tập được thiết kế sinh động gần gửi từ
Thinking school đây là một trong những tiết học thú vị và vô cùng bổ ích.
Thực hiện: học thông qua các buổi training của công ty, làm bài tập về
nhà theo nhóm.
2.1.2. Kỹ năng xây dựng và tổ chức kế hoạch
Thời gian: 1 ngày
Nội dung: Ở kĩ năng này, các kiến thức về an toàn cá nhân , các rủi ro cá
nhân và virus máy tính được đề cập giúp em nâng cao nhận thức về bảo
mật và các rủi ro rị rỉ thơng tin cá nhân và thông tin doanh nghiệp. Đồng
thời cũng cung cấp những bài học hữu ích trong việc bảo vệ bản thân trên
môi trường ảo.
Thực hiện: học thông qua buổi seminar của team security.
2.1.3. Kỹ năng thuyết trình
Thời gian: 1 ngày
Nội dung: Ở phần này, các kĩ năng về quản lý thời gian và cơng việc được
trình bày một cách dí dỏm và hài hước thơng qua các hoạt động trị chơi và
câu hỏi tương tác giúp q trình học tập diễn ra vô cùng vui vẻ mà vẫn
mang lại nhiều kiến thức bổ ích. Kĩ năng thuyết trình cũng được chú trọng
8


và cuối buổi bài tập thuyết trình đã góp phần cũng cố thêm cho những lý
thuyết về kĩ năng này.
Thực hiện: học thông qua buổi training của công ty, làm bài tập về nhà
theo nhóm.

2.2.

Thực hiện dự án dưới sự hướng dẫn của mentor (16 tuần)
Sau khi hoàn thành các bài training về kỹ năng mềm ở 8 tuần tiếp theo

em sẽ học các kiến thức cần thiết để xây dựng một ứng dụng iOS từ lúc bắt
đầu. Giai đoạn này gồm 8 tuần được chia thành 2 giai đoạn nhỏ hơn với các
nội dung:
● Giai đoạn 1: Tìm hiểu cơ bản về ngơn ngữ lập trình Swift và
Objective C, quản lý bộ nhớ ARC, tìm hiểu các design pattern,
cấu trúc project, app lifecycle, kiến trúc hệ thống, lập trình giao
diện với UIKit, Listview native
● Giai đoạn 2: Thực hiện dự án thực tập, GCD và Operation
Queue, Networking và file manager, instrument.
Chi tiết các nội dung được trình bày như sau:

9


2.2.1. Tìm hiểu các kiến thức về ngơn ngữ lập trình
Java và framework Spring Boot
Thời gian: 5 ngày (1 tuần)
Nội dung: Ở tuần đầu trong quá trình thực hiện dự án, em được giao nhiệm
vụ tìm hiểu về ngơn ngữ lập trình trên nền tảng Java và framework Spring
Boot và viết báo cáo về ngôn ngữ Java. Các nội dung tìm hiểu bao gồm:
• Tên và kiểu dữ liệu: Các kiểu dữ liệu cơ bản và tùy chỉnh trong Java.
• Collection (arrays, lists, sets, maps): Các cấu trúc dữ liệu và thao
tác trên các tập hợp trong Java.
• Controlling (control flow, loop statement): Cách điều khiển luồng
chương trình và vịng lặp trong Java.

• Cấu trúc, thuộc tính và phương thức: Cách định nghĩa lớp, thuộc
tính và phương thức trong Java.
• Lập trình hướng đối tượng (lớp và các tính chất của OOP): Nguyên
tắc và các khái niệm cơ bản của lập trình hướng đối tượng trong
Java.
• Interface và abstract class: Sử dụng interface và abstract class để
định nghĩa các hợp đồng và kế thừa trong Java.
• Exception handling: Xử lý ngoại lệ và quản lý các tình huống đặc
biệt trong Java.
• Generics: Sử dụng generics để tạo ra các lớp và phương thức linh
hoạt trong Java.
Thực hiện: tự học thông qua sự hướng dẫn và giới thiệu của mentor về các
nội dung chính yếu và quan trọng.
Kết quả: Sau một tuần tự học em đã nắm được các nội dung cơ bản và
quan trọng của Java và Spring Boot.
2.2.2. Tìm hiểu về git, git flow
Thời gian: 3 ngày
10


Nội dung: Ở tuần thứ 2 em được giao tìm hiểu git và git-flow nhằm mục
đích hiểu được quy trình phát triển của team đang sử dụng
Thực hiện: Tự học thông qua tài liệu của git
Kết quả: Nắm được bản chất git, và git-flow.
2.2.3. Tìm hiểu về database, cache
Thời gian: 5 ngày
Nội dung: Ở tuần thứ 3 em được giao tìm hiểu về MySQL và Redis, là 2
cơng nghệ mà gần như dự án nào của team cũng áp dụng
• MySQL:
o Cơ sở dữ liệu quan hệ: Em tìm hiểu về kiến trúc và nguyên

tắc hoạt động của cơ sở dữ liệu quan hệ. Nắm vững cách cài
đặt và cấu hình MySQL, tạo database, bảng, chỉ mục và ràng
buộc dữ liệu.
o Ngôn ngữ truy vấn SQL: Em nắm vững các câu lệnh SQL cơ
bản như SELECT, INSERT, UPDATE và DELETE để truy
vấn và thay đổi dữ liệu trong MySQL. Tìm hiểu về các toán
tử, hàm và câu lệnh điều kiện trong SQL.
• Redis:
o Hệ thống cache: Em tìm hiểu về khái niệm cache và vai trị
của nó trong tối ưu hóa hiệu suất hệ thống. Tìm hiểu về Redis
như một hệ thống cache in-memory phổ biến.
o Cài đặt và cấu hình Redis: Em nắm vững cách cài đặt và cấu
hình Redis trên máy tính và trong mơi trường sản phẩm. Tìm
hiểu về các cấu trúc dữ liệu cơ bản trong Redis như String,
List, Set và Hash.
o Quản lý cache và tương tác với Redis: Em tìm hiểu cách sử
dụng Redis để lưu trữ và truy xuất dữ liệu cache. Nắm vững
các câu lệnh Redis như GET, SET, DEL và EXPIRE để
tương tác với cache.
11


Thực hiện: Tự học qua các tài liệu của MySQL, Redis, source code của
team.
Kết quả: Nắm rõ các phần liên quan tới MySQL và Redis
2.2.4. Tìm hiểu về netty, protobuf
Thời gian: 1 tuần
Nội dung: Ở tuần này em được phân cơng tìm hiểu hai thành phần quan
trọng của các dự án trong team đó là netty và protobuf, là cách thức mà các
service của team giao tiếp với nhau.

• Netty:
o Netty là một framework mạng mã nguồn mở và hiệu năng
cao, được sử dụng để xây dựng các ứng dụng mạng đáng tin
cậy và có khả năng mở rộng. Em tìm hiểu về kiến trúc và
cách thức hoạt động của Netty.
o Xử lý sự kiện và giao tiếp mạng: Em nắm vững cách sử dụng
Netty để xử lý các sự kiện mạng như kết nối, ngắt kết nối,
truyền/nhận dữ liệu qua socket, và xử lý lỗi.
o Giao thức mạng: Em tìm hiểu cách Netty hỗ trợ các giao thức
mạng như TCP, UDP, HTTP và WebSocket. Nắm vững cách
triển khai và sử dụng giao thức mạng trong Netty.
• Protocol Buffers (Protobuf):
o Protobuf là một ngôn ngữ và công cụ để định nghĩa cấu trúc
dữ liệu và giao tiếp dữ liệu hiệu quả và độc lập với ngơn ngữ.
Em tìm hiểu về cách định nghĩa cấu trúc dữ liệu và tạo file
Proto trong Protobuf.
o Serialization và Deserialization: Em nắm vững cách sử dụng
Protobuf để thực hiện việc serialize (đóng gói) dữ liệu thành
các định dạng nhị phân và deserialize (giải nén) dữ liệu từ
định dạng nhị phân thành đối tượng dữ liệu.
Thực hiện: Tự học từ các blog trên internet và sự hướng dẫn của mentor.
12


Kết quả: Nắm được kiến trúc và cách hoạt động của netty và protobuf.
2.2.5. Tìm hiểu về business của dự án
Thời gian: 1 tuần
Nội dung: Tìm hiểu về các nghiệp vụ mà team đang xử lý.
Thực hiện: Tự học qua các tài liệu của công ty.
Kết quả: Nắm được các nghiệp vụ và ý nghĩa của các service mà team xây

dựng.
2.2.6. Thực hiện dự án thực tập
Sau khi hoàn thành 8 tuần nghiên cứu đầu tiên thì bắt đầu từ tuần thứ
9, song song với việc học kiến thức mới, để có thể áp dụng ngay các kiến
thức vừa học em được yêu cầu thực hiện các chức năng trong dự án
thực tế đó là chức năng hủy liên kết tài khoản của khách hàng và lưu trữ thông
tin khi liên kết thất bại.
Các phần chức năng sẽ được triển khai lên ứng dụng ngay khi hoàn thành.
2.3.

Báo cáo kết quả thực tập

Thời gian: 1 tuần
Nội dung: Sau một khoảng thời gian làm việc cùng với team thì em được yêu cầu
chuẩn bị một bài thuyết trình để báo cáo với các Head của các bộ phận về quá trình
thực tập của em: đã học được gì, phát triển ra sao, giá trị đã đóng góp.
Thực hiện: Họp báo cáo với mentor, chuẩn bị bài thuyết trình kết thúc đợt thực
tập.
Kết quả: Hồn thành tốt bài thuyết trình
2.4.

Kết quả cuối cùng
Sau 4 tháng thực tập dù gặp nhiều khó khăn do tiếp xúc với môi trường

làm việc và công nghệ hoàn toàn mới. Tuy nhiên nhờ sự giúp đỡ của mọi người
13


trong công ty và sự cố gắng của bản thân, em đã hoàn thành kỳ thực tập một
cách trọn vẹn đạt được đánh giá 9.5/10 từ mentor, đồng thời trở thành nhân

viên chính thức tại cơng ty. Sau khi kết thúc kỳ thực tập em đã học được nhiều
kiến thức và kĩ năng mới trong cơng việc, sẵn sàng đón nhận những thử thách,
mục tiêu mới trong tương lai.

14


Chương 3. CHI TIẾT VỀ CHỨC NĂNG
Sau khi trình bày chi tiết nội dung và quá trình thực tập ở VNG trong chương
2, ở chương này em sẽ trình bày về chức năng em đã thực hiện.
3.1.

Giới thiệu về chức năng

Ở phần này em sẽ tập trung giới thiệu về các yêu cầu và phân tích chức năng
của dự án.
3.1.1. Yêu cầu chức năng
Xây dựng chức năng hủy liên kết ở hệ thống mới nhằm mục đích migrate
từ hệ thống cũ sang.
Xây dựng chức năng lưu trữ thông tin khách hàng khi khách hàng liên kết
thất bại.
Yêu cầu:
● Vận dụng Clean Code để thiết kế module có tính mở rộng và khả
năng chống lỗi cao.
● Áp dụng thành thạo multithreading trong việc xử lý logic.
● Xử lý các trường hợp liên quan tới interrupt ứng dụng, môi
trường mạng (chập chờn, mạng ảo)
● Rèn luyện kĩ năng Software Testing: Unit Test, Functional
Testing, Performance Testing.
3.1.2. Phân tích chức năng

● Hủy liên kết


Tạo giao dịch hủy liên kết tài khoản cho khách hàng



Liên kết với các bên để thực hiện hành động hủy liên kết



Liên tục cập nhật status để khách hàng nắm tình trạng
giao dịch
15


● Lưu trữ thơng tin khi liên kết thất bại

3.2.



Thực thi ngay khi có giao dịch thất bại từ khách hàng



Lưu trữ các thơng tin cần thiết để liên kết từ khách hàng

Quá trình thực hiện


Quá trình thực hiện dự án được bắt đầu từ tuần thứ 9 của giai đoạn 2 (thực hiện
dự án dưới sự hướng dẫn của mentor), quá trình thực hiện được diễn ra song
song với việc tìm hiểu các nội dung từ tuần 9:
● Đọc và tìm hiểu cách vận hành của các service cũ
● Xây dựng workflow cho chức năng
● Tiến hành xây dựng chức năng
● Báo cáo cho manager
● Tiến hành deploy lên môi trường QC để test
● Tiếp tục sửa chữa và cải tiến
3.3.

Kết quả đạt được

Các kết quả đạt được của dự án:
● Xây dựng thành công chức năng hủy liên kết có thể đáp ứng migrate từ
hệ thống cũ sang.
● Xây dựng được chức năng lưu trữ thông tin khách hàng đạt chuẩn PCI
DSS
● Phát triển tư duy lập trình, khả năng xây dựng module có tính tái sử
dụng và chống lỗi tốt
● Học được các kỹ năng và kiến thức cần thiết như xây dựng giao diện,
networking, multithreading,... trong việc lập trình ứng dụng di động
trên nền tảng iOS

16


TÀI LIỆU THAM KHẢO
[1]


“VNG

Corporation

-

Technology

Champion

of

Vietnam”

(accessed Jun 30, 2023)
[2] “ZaloPay Tech Intern 2022” (accessed Jun 30, 2023)

17



×