1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

24 7 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Báo Cáo Thực Tập Backend Developer Zalopay Tech Intern 2022
Tác giả Nghi Lâm Minh Khôi
Người hướng dẫn Nguyễn Văn Thử, Mentor
Trường học Trường Đại Học Công Nghệ Thông Tin - Đại Học Quốc Gia TP. Hồ Chí Minh
Chuyên ngành Công Nghệ Thông Tin
Thể loại Báo cáo thực tập
Năm xuất bản 2023
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 24
Dung lượng 1,08 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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ậ

Trang 1

ĐẠ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

Trang 2

TP HỒ CHÍ MINH, 2023

Trang 3

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

Trang 4

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

Trang 5

NHẬN XÉT CỦA KHOA

Trang 6

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ỚITHIỆUCÔNGTYVNGVÀCÁCSẢNPHẨMCỦAZALOPAY 1

1.1.1 GIỚITHIỆUVỀVNG 1

1.1.2 BỘPHẬNZALOPAYTẠIVNG 3

1.2.GIỚITHIỆUCHƯƠNGTRÌNHZALOPAYTECHINTERN 4

2.1.GIỚITHIỆUVÀTRAININGKĨNĂNGMỀM 8

2.1.1 TƯDUYLOGICVÀGIAOTIẾPTHỜIGIAN:1NGÀY 8

2.1.2 KỸNĂNGXÂYDỰNGVÀTỔCHỨCKẾHOẠCH 8

2.1.3 KỸNĂNGTHUYẾTTRÌNH 8

2.2.THỰCHIỆNDỰÁNDƯỚISỰHƯỚNGDẪNCỦAMENTOR(16TUẦN) 9

2.2.2 TÌMHIỂUVỀGIT,GITFLOW 10

2.2.3 TÌMHIỂUVỀDATABASE,CACHE 11

2.2.4 TÌMHIỂUVỀNETTY,PROTOBUF 12

2.2.5 TÌMHIỂUVỀBUSINESSCỦADỰÁN 13

2.2.6 THỰCHIỆNDỰÁNTHỰCTẬP 13

2.3.BÁOCÁOKẾTQUẢTHỰCTẬP 13

2.4.KẾTQUẢCUỐICÙNG 13

3.1.GIỚITHIỆUVỀCHỨCNĂNG 15

3.1.1 YÊUCẦUCHỨCNĂNG 15

3.1.2 PHÂNTÍCHCHỨCNĂNG 15

3.2.QUÁTRÌNHTHỰCHIỆN 16

3.3.KẾTQUẢĐẠTĐƯỢC 16

TÀI LIỆU THAM KHẢO 17

Trang 8

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

Ở 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

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]

Trang 9

2

Trang 10

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 toá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 toán hóa đơn: ZaloPay cho phép người dùng thanh toá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

Trang 11

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á Ngoài ra, ZaloPay cũng đảm bảo tính bảo mật và an toàn trong quá trình thanh toá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 toá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

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ỗ

Trang 12

và chỉ cần đáp ứng đủ 2.5 buổi trong tuần, chương trình hoàn toà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

Trang 13

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

Giai đoạn 1: Giới thiệu và gặp gỡ (1 ngày)

5/12/2022

Chào mừng và giới thiệu chương trình 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)

Java và framework Spring Boot

Trang 14

Tuần 5

Tìm hiểu về Business của công ty

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)

Trang 15

Ở 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

Trang 16

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:

Trang 17

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

Trang 18

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

Trang 19

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

Trang 20

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

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

Trang 21

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

Trang 22

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

Ở 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

● Á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

Trang 23

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

• 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 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

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ừ

Ngày đăng: 04/09/2023, 20:57

TỪ KHÓA LIÊN QUAN

w