TTDN 19520261 Phạm Minh Tân SE501 N11 ĐẠ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 LẬP TRÌNH ỨNG DỤNG TRÊN IOS ZALO TECH FRESHER 2022 Côn[.]
ĐẠ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 LẬP TRÌNH ỨNG DỤNG TRÊN IOS - ZALO TECH FRESHER 2022 - Công ty thực tập: Công ty cổ phần VNG Người phụ trách: Trần Thế Trung Thiện Thực tập sinh: Phạm Minh Tân TP HỒ CHÍ MINH, 2022 LỜI MỞ ĐẦU Ngày nay, lập trình thiết bị di động khơng cịn khái niệm mẻ ngành công nghệ thông tin Những năm gần đây, với lượng người dùng thiết bị di động lớn ngày tăng trưởng, nhu cầu sử dụng phần mềm di động khơng ngừng tăng lên Chính vậy, ứng dụng di động không ngừng phát triển cách đa dạng từ ứng dụng phục vụ nhu cầu giải trí nghe nhạc xem phim, mạng xã hội, đến ứng dụng theo dõi sức khỏe người Nhắc đến thiết bị di động không kể đến hai hệ điều hành phổ biến Android iOS, chúng thống trị thị trường di động nhiều năm Khác với Android, vốn phổ biến với bạn sinh viên tính dễ tiếp cận khơng kén môi trường phát triển, ứng dụng iOS phát triển mơi trường MacOS dẫn đến việc bạn sinh viên chọn học Điều tạo nhiều hội việc làm cạnh tranh so với lập trình Android Chính điều nên em lựa chọn cơng việc lập trình thiết bị di động mà cụ thể tảng iOS để thực tập đặc mục tiêu phát triển sau Sau thời gian khơng ngừng tìm kiếm diễn đàn 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 đăng tuyển dụng Zalo - tổ chức thuộc VNG Được biết, VNG cơng ty cơng nghệ uy tín hàng đầu Việt Nam với sản phẩm phục vụ sống người Việt, 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 em lựa chọn VNG nơi thực tập cho Sau trở thành thực tập sinh VNG, em trải nghiệm 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 tiếp xúc với môi trường làm việc thực tế giúp đỡ em nhiều việc phát triển kĩ 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 kiến thức, kĩ cần thiết lập trình iOS sẵn sàng tiến xa đường mà chọn LỜI CẢM ƠN Em xin gửi lời cảm ơn chân thành đến tổ chức, cá nhân giúp em có tập thành cơng bổ Đầu tiên em xin gửi lời cảm ơn đến công ty cổ phần VNG đặc biệt đội ngũ ban tổ chức chương trình Zalo Tech Fresher 2022 tạo điều kiện cho em có hội thực tập công ty Tuy thời gian ngắn, nhờ nhiệt tình dạy đội ngủ trainer ban tổ chức chương trình em có kiến thức kĩ vơ quan trọng lĩnh vực lập trình iOS để chuẩn bị hành trang đường trở thành kỹ sư lập trình Đặt biệt cảm ơn anh Trần Thế Trung Thiện mentor trực tiếp hướng dẫn kiến thức tảng kĩ thuật nâng cao lập trình iOS Bên cạnh đó, cảm ơn anh hỗ trợ nhiệt tình, giúp đỡ em giải khó khăn tham gia vào mơi trường làm việc đặc biệt vấn đề giao tiếp với người nhóm.Trên hết, em xin cảm ơn đóng góp lời khun bổ anh việc xây dựng dự án, giúp em hồn thành dự án cách tốt Cuối cùng, em xin cảm ơn thầy cô khoa Cơng nghệ phần mềm nhiệt tình hỗ trợ tạo điều kiện giúp em có hội thực tập hoàn thành báo cáo Em xin chân thành cảm ơn Tp Hồ Chí Minh, 25 tháng 12 năm 2022 Sinh viên Phạm Minh Tân NHẬN XÉT CỦA KHOA MỤC LỤC Chương GIỚI THIỆU CƠNG TY VÀ CHƯƠNG TRÌNH THỰC TẬP 1.1 Giới thiệu công ty VNG sản phẩm Zalo 1 1.1.1 Giới thiệu VNG 1.1.2 Team Zalo VNG 1.2 Giới thiệu chương trình Zalo Tech Fresher Chương NỘI DUNG THỰC TẬP 2.1 Giới thiệu training kĩ mềm 2.1.1 Tư logic giao tiếp 2.1.2 Security 2.1.3 Product cycle 2.1.4 Task management and presentation 2.2 Thực dự án hướng dẫn mentor (8 tuần) 2.2.1 Cơ ngơn ngữ lập trình Swift, Objective C 2.2.2 Quản lý nhớ ARC 2.2.3 Tìm hiểu design pattern, cấu trúc project iOS App lifecycle 10 2.2.4 Kiến trúc hệ thống lập trình giao diện UiKit 10 2.2.5 List view native 11 2.2.6 Thực dự án thực tập 11 2.2.7 GCD Operation Queue 12 2.2.8 Networking file manager 12 2.2.9 Instrument 13 2.3 Hoàn thiện dự án báo cáo kết 13 2.4 Kết cuối 14 Chương CHI TIẾT VỀ DỰ ÁN 15 3.1 Giới thiệu dự án 15 3.1.1 Yêu cầu dự án 15 3.1.2 Phân tích chức ứng dụng 16 3.2 Q trình thực 17 3.3 Kết đạt 21 NỘI DUNG BÁO CÁO Chương GIỚI THIỆU CÔNG TY VÀ CHƯƠNG TRÌNH THỰC TẬP Ở chương đầu báo cáo em nêu vài thông tin công ty thực tập VNG, team Zalo nơi trực tiếp làm việc, vài thông tin chương trình Zalo Tech Fresher 2022 1.1 Giới thiệu công ty VNG sản phẩm Zalo Ở phần này, em giới thiệu công ty VNG, lý chọn VNG công ty thực tập sản phẩm team Zalo 1.1.1 Giới thiệu VNG Hình 1.1 Logo cơng ty VNG1 Thành lập từ năm 2004, VNG Corporation công ty Internet & Công nghệ hàng đầu Việt Nam, phục vụ cho người dùng Internet 100 quốc gia vùng lãnh thổ Sở hữu hệ sinh thái sản phẩm Internet đa dạng, với nguồn lực công nghệ tiên tiến, đội ngũ kỹ sư trẻ, tài năng, VNG nghiên cứu phát triển hệ thống, giải pháp thông minh tảng IoT, Big Data, VR/AR, AI.[1] 1 Nguo& n: https://haymora.com/cong-nghe-thong-tin/cong-ty-co-phan-vng VNG xếp hạng vào CLB công ty Internet trị giá tỷ đô giới (2014), bình chọn Doanh nghiệp Nội dung số có ảnh hưởng lớn phát triển Internet Việt Nam thập kỷ (2007 - 2017) Trong năm 2019, VNG nhận giải thưởng “Nơi làm việc tốt Châu Á” HR Asia, tạp chí uy tín hàng đầu Nhân Châu Á tổ chức bình chọn.[1] Cùng với sứ mệnh phát triển người mình, VNG thường xuyên làm tham gia, tổ chức vào hoạt động với trường thuộc khối Đại học Quốc gia có UIT Hơn 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 lý nên em định chọn VNG địa điểm thực tập 1.1.2 Team Zalo VNG Ngồi sản phẩm Game vốn làm nên thương hiệu tiếng củaVNG Việt Nam, biết VNG cịn có đội ngũ phát triển ứng dụng phục vụ đời sống người Việt Đội ngũ Zalo số sản phẩm tiêu biểu Zalo kể đến: ● Ứng dụng Zalo: Ra đời vào năm 2012, Zalo trở thành ứng dụng tin nhắn phổ biến Việt Nam ● Zing MP3: Ra đời từ năm 2007, Zing MP3 thay đổi cách thưởng thức âm nhạc người Việt Từ chỗ nghe playlist, bảng xếp hạng cách thụ động, người yêu nhạc Zing MP3 chuyển sang chủ động tìm kiếm hát muốn.[2] ● Báo mới: Báo Mới trang tổng hợp tin tức phổ biến Việt Nam, ghi nhận lượng truy cập cao cập nhật tin tức cho độc giả từ hàng trăm tờ báo trực tuyến.[2] Thực tập team Zalo cho em hội tiếp cận sản phẩm thân sử dụng ngày gốc độ nhà phát triển từ có động lực việc trở thành lập trình viên tương lai 1.2 Giới thiệu chương trình Zalo Tech Fresher Hình 1.2 Zalo Tech Fresher Program 20222 Zalo Tech Fresher Program 2022 chương trình đào tạo nhanh dành cho ứng viên công nghệ trẻ tài năng, người đam mê sử dụng công nghệ để tạo tác động lớn đến sống người Việt Nam Với khóa huấn luyện 1-1 kéo dài tháng, ứng viên tham gia đào tạo chỗ với cố vấn chuyên nghiệp, giàu kinh nghiệm chuyên gia công nghệ hàng đầu giữ vai trò leader Zalo, Zing MP3, Kiki… Ứng viên tạo điều kiện kiến thức kinh nghiệm thực tế để học hỏi, sáng tạo phát triển sau khóa học.[3] Đây chương trình thực tập thực đáng trông chờ năm 2022 với nhiều đãi ngộ tốt phù hợp với sinh viên học em nhiều lý Đầu tiên với linh hoạt thời gian làm việc 2 Nguo& n: https://zalo.careers/fresher cần đáp ứng đủ 2.5 buổi 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 việc tiếp cận sớm với môi trường làm việc chuyên nghiệp với nơi làm việc cởi mở động giúp ích cho thân em nhiều tương lai Chính em chọn tham gia chương trình Zalo Tech Fresher 2022 tập Chương NỘI DUNG THỰC TẬP Ở chương này, báo cáo tập trung trình bày nội dung tập bao gồm phần giới thiệu training kĩ mềm, nghiên cứu kiến thức liên quan lập trình iOS, thực dự án thực tập cuối kết dự án thực tập Tồn q trình thực tập kéo dài khoảng tháng với lịch trình khái quát 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 training kĩ mềm (1,5 tuần) 9/5/2022 Chào mừng giới thiệu chương trình 10/5/2022 Tư logic giao tiếp 12/5/2022 Security 13/5/2022 Product Cycle 17/5/2022 Task Managerment Presentation 18/5/2022 Gặp gỡ mentor, kết thúc giai đoạn Giai đoạn 2: Thực dự án hướng dẫn mentor (8 tuần) Tìm hiểu kiến thức ngơn ngữ lập Tuần trình Swift Objective C Tìm hiểu Design pattern thường dùng: Singleton, Factory, Delegate Tuần Quản lý nhớ ARC Tìm hiểu cấu trúc project iOS, App Lifecycle Tìm hiểu SOLID principles, Clean code trình phát triển phần mềm cho em gốc nhìn lạ sản phẩm phần mềm doanh nghiệp từ lúc bắt đầu tới dự án kết thúc Thực hiện: học thông qua buổi seminar team product 2.1.4 Task management and presentation Thời gian: ngày Nội dung: Ở phần này, kĩ quản lý thời gian cơng việc trình bày cách dí dỏm hài hước thơng qua hoạt động trị chơi câu hỏi tương tác giúp trình học tập diễn vô vui vẻ mà mang lại nhiều kiến thức bổ ích Kĩ thuyết trình trọng cuối buổi tập thuyết trình góp phần cố thêm cho lý thuyết kĩ Thực hiện: học thông qua buổi training công ty, làm tập nhà theo nhóm 2.2 Thực dự án hướng dẫn mentor (8 tuần) Sau hoàn thành training kỹ mềm tuần em học kiến thức cần thiết để xây dựng ứng dụng iOS từ lúc bắt đầu Giai đoạn gồm tuần chia thành giai đoạn nhỏ với nội dung: ● Giai đoạn 1: Tìm hiểu ngơn ngữ lập trình Swift Objective C, quản lý nhớ ARC, tìm hiểu 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 dự án thực tập, GCD Operation Queue, Networking file manager, instrument Chi tiết nội dung trình bày sau: 2.2.1 Cơ ngôn ngữ lập trình Swift, Objective C Thời gian: ngày (1 tuần) Nội dung: Ở tuần đầu trình thực dự án, em giao nhiệm vụ tìm hiểu ngơn ngữ lập trình tảng iOS Swift Objective C viết báo cáo ngơn ngữ Swift3 Các nội dung tìm hiểu bao gồm: ● Thông tin ngôn ngữ ● Tên kiểu liệu ● Collection (arrays, sets, dictionaries) ● Controlling (control flow, loop statement) ● Cấu trúc, thuộc tính phương thức ● Lập trình hướng đối tượng (lớp tính chất OOP) ● Protocol extensions ● Optional, Unwrapping Generics Thực hiện: tự học thông qua hướng dẫn giới thiệu mentor nội dung yếu quan trọng Kết quả: Sau học em nắm nội dung quan trọng ngôn ngữ lập trình sử dụng Objective C Swift 2.2.2 Quản lý nhớ ARC Thời gian: ngày Nội dung: Ở tuần thứ dự án, ngày đầu em phân cơng tìm hiểu cách mà swift objective C lưu trữ biến theo kiểu store reference, tìm hiểu chế ARC (auto reference counting), thuộc tính biến (retain, weak, strong, atomic, nonatomic) Objective C 3 Nội dung nghiên cứu: https://leather-reptile-723.notion.site/Swift- 8bdd2142331141b78d2f3b54d3c3c629 để tránh lỗi gây lãng phí tài nguyên nhớ tiền đề cho việc đảm bảo thread safe Thực hiện: Tự học thông qua tài liệu Apple Kết quả: Nắm chất ARC, lỗi thường gặp lưu trữ sử dụng biến Hình thành nhận thức việc chống memory leak đảm bảo thread safe cho ứng dụng 2.2.3 Tìm hiểu design pattern, cấu trúc project iOS App lifecycle Thời gian: ngày Nội dung: Cũng tuần thứ dự án, ngày em tìm hiểu thêm số phần có liên quan đến lập trình iOS như: ● Ba số design pattern thường dùng Singleton, Delegate Factory ● Cấu trúc project iOS: cách lưu trữ tệp, thư mục dự án, cách quản lý thư viện, cách tổ chức tệp theo chuẩn cơng ty ● App lifecycle: Tìm hiểu trạng thái ứng dụng từ lúc mở lúc bị tắt vào background, tìm hiểu trường hợp tài nguyên ứng dụng bị thu hồi hệ thống trường hợp ứng dụng bị interrupt Thực hiện: Tự học qua tài liệu apple, góp ý chỉnh sửa thêm mentor phần cấu trúc ứng dụng Kết quả: Nắm rõ phần liên quan tới lập trình iOS chuẩn bị tạo dự án iOS 2.2.4 Kiến trúc hệ thống lập trình giao diện UiKit Thời gian: tuần Nội dung: Ở tuần em phân cơng tìm hiểu hai thành phần quan trọng lập trình iOS kiến trúc lập trình giao diện 10 Ở phần kiến trúc em tìm hiểu kiến trúc MVC, MVP RX Ở phần lập trình giao diện em tìm hiểu components UI UIKit label, button, image view, layout view, stack view cách tạo constraint Thực hiện: Tự học từ blog internet hướng dẫn mentor Kết quả: Nắm kiến trúc dùng iOS, định sử dụng kiến trúc MVC làm dự án tính đơn giản dễ dàng triển khai Nắm components UIKit, sử dụng thành tạo layout constraint, biết sử dụng thư viện bên để cải thiện tốc độ viết constraint 2.2.5 List view native Thời gian: tuần Nội dung: Tìm hiểu listview native iOS tableview collectionview tìm hiểu nâng cao thêm IGListKit4: tìm hiểu đặc điểm, cách sử dụng cách xử lý event chọn item scroll listview native Thực hiện: Tự học qua tài liệu từ khóa mentor, lập trình ứng dụng to-do list đơn giản Kết quả: Biết cách sử dụng custom listview native IGListKit 2.2.6 Thực dự án thực tập Sau hoàn thành tuần nghiên cứu tuần thứ 5, song song với việc học kiến thức mới, để áp dụng kiến thức vừa học em yêu cầu thực dự án cá nhân dự án 4 Kết quả tìm hiểu: https://leather-reptile-723.notion.site/IG-LIST-KIT- 25e1332902d449568081315b2c3b6466 11 phát triển ứng dụng Downloader (sẽ trình bày kĩ chương sau) Dự án phát triển vòng tuần sau review đánh giá thêm chức nâng cao mentor theo timeline sau: Hình 2.2: Timeline thực dự án thực tập 2.2.7 GCD Operation Queue Thời gian: tuần Nội dung: Công việc tuần xoay quanh chủ đề lập trình bất đồng đa luồng iOS, nội dung gồm cơng việc sau: ● Tìm hiểu lập trình đa luồng cách thực đa luồng iOS ● Tìm hiểu GCD (Grand Central Dispatch) Operation Queue ngữ cảnh sử dụng, rủi ro ● Tìm hiểu thread iOS, queue Dispatch Queue: main queue, global queue ● Tìm hiểu thread safe tiến hành tác vụ tải, reload collection view Thực hiện: Đọc hướng dẫn apple dẫn mentor Kết quả: Có thể tích hợp đa luồng, đảm bảo thread safe cho dự án 2.2.8 Networking file manager Thời gian: tuần Nội dung: Phần chủ yếu trình bày kiến thức Networking file manager phục vụ cho dự án downloader: 12 ● Tìm hiểu kiến trúc, pattern thường sử dụng cho việc networking iOS, tìm hiểu NSURLDownload Session ● Thực tác vụ download đơn giản download từ link, tạm dừng, tiếp tục download cancel download ● Thực lưu trữ file download, truy cập quản lý file, thư mục người dùng Thực hiện: đọc hướng dẫn apple Kết quả: Thực download thành công quản lý file 2.2.9 Instrument Thời gian: tuần Nội dung: Sử dụng công cụ instrument tiến hành đánh giá performance hệ thống, kiểm tra lỗi memory leak, thread safe, tìm hiểu Firebase crashlytics để nắm khắc phục trường hợp ứng dụng crash Thực hiện: Tiến hành thực nghiệm công cụ XCode Firebase với hướng dẫn mentor Kết quả: Đánh giá performance dự án, học thêm cơng cụ 2.3 Hồn thiện dự án báo cáo kết Thời gian: 2.5 tuần Nội dung: Sau hoàn thiện dự án em mentor tiến hành reivew lại kết đạt xuyên suốt thời gian làm dự án Bên cạnh tổng kết tính làm được, nâng cấp vài tính cịn hoạt động chưa hiệu quả, đồng thời lên kế hoạch phát triển cho tương lai Sau đó, em tiếp tục hồn thiện để báo cáo kết cuối kết thúc tập Thực hiện: Hồn thành chức lại, họp báo cáo với mentor, chuẩn bị thuyết trình kết thúc đợt thực tập 13 Kết quả: Hoàn thành hoàn chỉnh ứng dụng, hồn thành thuyết trình báo cáo cuối 2.4 Kết cuối Sau ba tháng thực tập dù gặp nhiều khó khăn tiếp xúc với mơi trường làm việc cơng nghệ hồn tồn Tuy nhiên nhờ giúp đỡ người công ty cố gắng thân, em hoàn thành tập cách trọn vẹn đạt đánh giá 9.5/10 từ mentor, đồng thời trở thành nhân viên thức cơng ty Sau kết thúc tập em học nhiều kiến thức kĩ công việc, sẵn sàng đón nhận thử thách, mục tiêu tương lai 14 Chương CHI TIẾT VỀ DỰ ÁN Sau trình bày chi tiết nội dung trình thực tập VNG chương 2, chương em trình bày dự án em thực 3.1 Giới thiệu dự án Ở phần em tập trung giới thiệu yêu cầu phân tích chức dự án 3.1.1 Yêu cầu dự án Xây dựng ứng dụng Downloader cho phép tải lưu trữ file dạng Local sử dụng Native API Hình 3.1 Các hình ảnh ứng dụng Downloader thành phẩm Yêu cầu: 15 ● Vận dụng Clean Code Defensive Programing để thiết kế module download có tính mở rộng khả chống lỗi cao ● Vận dụng Clean Code Defensive Programing để thiết kế module download có tính mở rộng khả chống lỗi cao ● Hiểu rõ chế nguyên tắc hoạt động HTTP connection, thông số timeout request, timeout session để tính tốn phù hợp với điều kiện mạng khác ● Áp dụng thành thạo multithreading việc xử lý logic download ● Xử lý 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) ● Có mindset xây dựng core component đóng gói sử dụng cho nhiều dự án khác ● Rèn luyện kĩ Software Testing: Unit Test, Functional Testing, Performance Testing Nâng cao: Xử lý tối ưu cho phần tải file lớn, áp dụng resume downloader, download theo range 3.1.2 Phân tích chức ứng dụng Về phần download: ● Download từ link ( kiểm tra link hợp lệ) ● Tải file lưu trữ vào thư mục người dùng ● Tìm kiếm tiến trình tải (gồm filter theo trạng thái tải sort theo ngày) ● Quản lý tiến trình tải bao gồm: đổi tên, xóa tiến trình ● Tạm dừng, tiếp tục, hủy download ● Handle trường hợp mạng chậm, khơng có mạng, kết nối đường truyền lúc download Về phần quản lý file 16 ● Tìm kiếm tệp tải ● Filter tệp theo loại tệp ● Tạo, xóa, di chuyển folder quản lý ● Đổi tên, xóa, chép, di chuyển tệp ● Cung cấp nhiều dạng xem khác cho tệp hình ảnh ● Import tệp người dùng vào ứng dụng 3.2 Quá trình thực Quá trình thực dự án tuần thứ giai đoạn (thực dự án hướng dẫn mentor), trình thực diễn song song với việc tìm hiểu nội dung từ tuần 5: ● Tuần 5: Xây dựng giao diện ứng dụng phần downloader, tiến hành download lưu trữ file 17 ● Tuần 6: Thực tác vụ download (Tạm dừng, tiếp tục, hủy download) logic quản lý tiến trình ● Tuần 7: Xây dựng giao diện ứng dụng phần quản lý file, load file native user hiển thị lên hình, xây dựng dạng xem cho tệp 18 ● Tuần 8: Xây dựng tác vụ quản lý file như: tạo, xóa, di chuyển folder quản lý, đổi tên, xóa, chép, di chuyển tệp Kết hợp instrument đánh giá performance ứng dụng số lượng file lớn 19 ● Tuần 9: Tiếp tục hoàn thiện handle download bị lỗi, mạng chậm, nâng cao hiệu suất số lượng file ảnh lớn kích thước ảnh lớn ● Tuần 10: Tiếp tục cải thiện hiệu suất hoàn thiện sản phẩm, đồng thời chuẩn bị tài liệu báo cáo cuối tập công ty 20 3.3 Kết đạt Các kết đạt dự án: ● Xây dựng thành công ứng dụng Downloader đáp ứng yêu cầu đặt mặt chức hiệu suất ● Khả xử lý vấn đề download triệt để vận dụng thành thạo kỹ xử lý multithreading đảm bảo thread safe ứng dụng ● Phát triển tư lập trình, khả xây dựng module có tính tái sử dụng chống lỗi tốt ● Học kỹ kiến thức cần thiết xây dựng giao diện, networking, multithreading, việc lập trình ứng dụng di động tảng iOS 21 TÀI LIỆU THAM KHẢO [1] “VNG Corporation - Technology Champion of Vietnam” https://vng.com.vn/aboutvng.html (accessed Dec 25, 2022) [2] “Zalo Careers” https://zalo.careers/about (accessed Dec 25, 2022) [3] “Zalo Tech Fresher 2022” https://zalo.careers/fresher (accessed Dec 25, 2022) ... thức liên quan lập trình iOS, thực dự án thực tập cuối kết dự án thực tập Tồn q trình thực tập kéo dài khoảng tháng với lịch trình khái quát bảng sau: Bảng 2.1 Lịch trình thực tập Thời gian Nội... chương trình Zalo Tech Fresher 2022 tập Chương NỘI DUNG THỰC TẬP Ở chương này, báo cáo tập trung trình bày nội dung tập bao gồm phần giới thiệu training kĩ mềm, nghiên cứu kiến thức liên quan lập. .. sử dụng ngày gốc độ nhà phát triển từ có động lực việc trở thành lập trình viên tương lai 1.2 Giới thiệu chương trình Zalo Tech Fresher Hình 1.2 Zalo Tech Fresher Program 20222 Zalo Tech Fresher