ورود به حساب

نام کاربری گذرواژه

گذرواژه را فراموش کردید؟ کلیک کنید

حساب کاربری ندارید؟ ساخت حساب

ساخت حساب کاربری

نام نام کاربری ایمیل شماره موبایل گذرواژه

برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید


09117307688
09117179751

در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید

دسترسی نامحدود

برای کاربرانی که ثبت نام کرده اند

ضمانت بازگشت وجه

درصورت عدم همخوانی توضیحات با کتاب

پشتیبانی

از ساعت 7 صبح تا 10 شب

دانلود کتاب The Ultimate iOS Interview Playbook: Conquer Swift, frameworks, design patterns, and app architecture [Team-IRA]

دانلود کتاب The Ultimate iOS Interview Playbook: Conquer Swift، فریمورک ها، الگوهای طراحی و معماری برنامه [Team-IRA]

The Ultimate iOS Interview Playbook: Conquer Swift, frameworks, design patterns, and app architecture [Team-IRA]

مشخصات کتاب

The Ultimate iOS Interview Playbook: Conquer Swift, frameworks, design patterns, and app architecture [Team-IRA]

ویرایش:  
نویسندگان:   
سری:  
ISBN (شابک) : 1803246316, 9781803246314 
ناشر: Packt Publishing 
سال نشر: 2023 
تعداد صفحات: 320 
زبان: English 
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) 
حجم فایل: 3 مگابایت 

قیمت کتاب (تومان) : 60,000



ثبت امتیاز به این کتاب

میانگین امتیاز به این کتاب :
       تعداد امتیاز دهندگان : 10


در صورت تبدیل فایل کتاب The Ultimate iOS Interview Playbook: Conquer Swift, frameworks, design patterns, and app architecture [Team-IRA] به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.

توجه داشته باشید کتاب The Ultimate iOS Interview Playbook: Conquer Swift، فریمورک ها، الگوهای طراحی و معماری برنامه [Team-IRA] نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.


توضیحاتی درمورد کتاب به خارجی



فهرست مطالب

Cover
Front cover
Copyright and credit page
Contributors
Table of Contents
Preface
Part 1: Everything about Interviews
Chapter 1: Before the Interview
	Performing company research
		Knowing where you’re going is part of the interview
		Company profiles affect our answers
		Learning the company characteristics
		Building the unofficial company profile
	Building our resume
		A resume is like a book or a movie
		Structuring the resume outline
		Working on design and layout
		What is the personal information part?
		Formulating the personal summary section
		Listing our expertise
		Skills
		Miscellaneous
		Avoiding red flags
		Inviting another set of eyes
	Preparing for the interview
		Taking our time
		Technical, personal, and logistics preparations
	Summary
Chapter 2: Going through the Interview Process
	Understanding the hiring process
		Learning the hiring funnel
		Distinguishing between different companies
	Getting ready for the screening interview
		What does the screening interview include?
		Send a thank-you email
	All about the iOS technical interview
		Worked-on projects
		Answering Swift and algorithm questions
		Solving basic questions about UIKit and SwiftUI
		Mastering development tools
	Cracking the coding interview
		Live coding interview
		Working on a home assessment
	Passing the architecture interview
	Summary
Chapter 3: Developer Branding
	Understanding the importance of developing a brand
		Learning what a brand is
		Increasing our chances of passing the resume scanning
		Increasing our chances of getting an offer
		Expanding our network
		How to start building your brand
	Contributing to the community
		Being a star in Stack Overflow
		Maintaining a public GitHub repository
		Joining an open source project
	Writing content
		Being experts
		Improving wording and expression capabilities
		Increasing our network
		Making the world aware of our knowledge
	Combining all and more
	Understanding that every in-person interaction is important
	Summary
Part 2: Swift Language and Coding
Chapter 4: Data Structures and Algorithms
	Learning the importance of data structures
		Increasing efficiency
		Making our code modular
		Reusing our code
		Using data structures for an API
	Answering classes and struct questions
		“What’s the difference between a class and a struct?”
		“Which is better, a class or a struct?”
		“Why are structs faster than classes?”
	Answering questions about Swift array
		“Please list the Swift array advantages”
		“How to remove duplicates from an array?”
		“How do you implement a queue using an array?”
		“How do you create a new array by mapping the elements of an existing array in Swift?”
	Covering the Codable protocol
		“How do you handle optional properties when using the Codable protocol?”
		“How do you use CodingKeys enumeration to map the keys in a JSON object to the properties of a custom data type?”
		“How can you convert a formatted date string to a date object in Codable?”
	Preparing for dictionary- and set-related interview questions
		“Can you use a dictionary to store configuration data?”
		“How do you use the filter method to select a subset of key-value pairs from a dictionary based on a condition?”
		“What is the time complexity of common set operations, such as inserting an element or checking for membership?”
		“Is it possible to store any type of data in a set collection in Swift?”
	Summary
Chapter 5: The Swift Programming Language
	How do we master all Swift features?
	Basic Swift features
		Answering optionals questions
		Solving access-level questions
		Handling questions about Closures
	Advanced Swift language features
		Solving computed and lazy variables questions
		Solving extensions questions
		Solving generics questions
		Solving error-handling questions
		Solving protocol questions
		Solving memory management questions
	Summary
Chapter 6: Managing Your Code
	Planning
		“How do you create a project timeline and plan for the iOS app’s development process?”
		“How do you estimate development time for a task?”
		“How do you create a technical design document for an iOS task?”
	Testing
		“What is the meaning of unit and integration testing in the context of iOS development?”
		“How do you perform performance testing in iOS applications?”
		“Can you explain what it means to write a testable code?”
	Debugging
		“Can you explain how to debug memory leaks in iOS applications?”
		“Can you explain how to debug UI-related issues in iOS applications?”
		“How do you debug performance issues in iOS applications?”
	Documentation
		“Can you explain how you document your iOS code?”
		“Can you explain how to document design patterns and best practices in iOS development?”
		“How do you handle the documentation of code that multiple team members are developing?”
	Summary
Part 3: The Frameworks
Chapter 7: Building Great User Experiences with UIKit
	Answering questions about Auto Layout
		“Can you explain what content hugging and compression resistance are in Auto Layout and how they are used to control the layout of UI elements?”
		“Can you explain how to use size classes in Interface Builder to adapt layouts for different screen sizes and orientations?”
		“What is the purpose of the safe area in Auto Layout, and how do you ensure that your views are properly positioned within the safe area?”
	Solving UIView questions
		“Can you explain how the responder chain works in iOS?”
		“How can you respond to device orientation changes in UIView?”
		“Why does UIView not have a ‘viewDidAppear’ method as UIViewController does?”
		“Can you explain the difference between setNeedsLayout, layoutSubviews, and layoutIfNeeded in UIView? When would you use each of these methods, and how do they impact the layout process?”
		“What is the difference between the frame and bounds properties?”
	Understanding everything about UIViewController
		“Can you list all the life cycle events or methods of a UIViewController, in the order in which they occur?”
		“Can you explain the concept of UIViewController containment? How would you implement it in your app?”
		“How do you pass data between view controllers in iOS?”
	Making sure we are ready with UITableView
		“How does the queuing mechanism work in a UITableView, and what are some best practices for optimizing its performance?”
		“What is pagination in UITableView, and how would you implement it to efficiently load and display large amounts of data while maintaining good performance and user experience?”
		“What are the different approaches for adjusting cell size in a UITableView, and how do you determine the optimal size for cells based on the content they will display?”
	Performing navigation well
		“What is the purpose of the navigationItem property in a view controller, and how can you use it to customize the behavior and appearance of a navigation bar in iOS development?”
		“What are some of the preset options for presenting a UIViewController in iOS, and why is it important to understand these options?”
		“How would you design a navigation system for an iOS app using the coordinator pattern, where view controllers don’t decide where to go next, and a coordinator object is responsible for managing the navigation flow?”
	Empowering user experience with animations
		Going over the core concepts of animation in UIKit
		“How can you create custom transitions between UIViewControllers in an iOS app?”
	Summary
Chapter 8: SwiftUI and Declarative Programming
	Entering a new era of development
	Understanding declarative programming
		“What’s the difference between declarative programming and the “classic” programming paradigm, also known as imperative programming?”
		“How does declarative programming help handle state management in iOS apps?”
	Learning states and observable objects
		“Can you explain the differences and use cases for the @State and @Binding property wrappers in SwiftUI?”
		“What is the purpose of @ObservedObject in SwiftUI, and in what situations would you use it instead of @State or @Binding?”
	Navigating SwiftUI views
		“How do you pass data between views using the SwiftUI navigation system?”
		“Can you explain how to use @Environment(\\.presentationMode) to dismiss a presented view in SwiftUI navigation?”
	Expertise with the SwiftUI life cycle
		“How does SwiftUI handle state changes during the view life cycle?”
		“How do you use the onChange modifier in SwiftUI, and what state changes does it respond to?”
	Expertise in Combine
		“Can you provide an example of how you would use Combine in an iOS app?”
		“How do you debug a Combine stream?”
	Summary
Chapter 9: Understanding Persistent Memory
	Mastering Core Data questions
		“How do you design a Core Data Stack that supports concurrency while ensuring thread safety, and how can you use NSManagedObjectIDs in a multi-threaded environment to facilitate this?”
		“What would your Core Data data model look like for a recipe app that includes ingredients, cooking instructions, and user ratings?”
		“How would you approach testing Core Data in an iOS app?”
	Handling persistent state with UserDefaults
		“Explain how an iOS app and its extensions can share data using UserDefaults. What steps are involved in setting up and using UserDefaults to share data between an app and its extensions?”
		“Can you explain how to store a struct or a class in UserDefaults in an iOS app?”
	Storing sensitive information in the Keychain
		“What is a Keychain Access Group, and how can it be used to securely share Keychain items between different components of an iOS app, such as the app and its extensions?”
	Working with the filesystem
		“Can you explain the purpose of each of the following folders in an iOS app: Documents, Library, Cache, and Temp? How would you decide which folder to use for storing different types of files in your app?”
	Summary
Chapter 10: Libraries Management
	Mastering CocoaPods
		Learning how CocoaPods is built
		“What best practices do you follow when working with CocoaPods, and why are they important?”
		“What is the difference between pod update and pod install?”
	Learning about the Swift Package Manager
		Creating a Swift package
		Going over the package manifest and folders
		Swift package common commands
		Using a Swift package
		“What are the advantages and disadvantages of using the SPM compared to CocoaPods?”
		“What are some best practices for organizing and structuring Swift packages to optimize build times and minimize dependency conflicts?”
	Summary
Part 4: Design and Architecture
Chapter 11: Design Patterns to Solve Complex Questions
	Building a UI with MVC/MVVM
		Solving different problems with MVC and MVVM
		Learning MVC
		Exploring MVVM
		“How would you implement navigation in an MVVM architecture, considering that the ViewModel should not have knowledge of the View?”
		“Why is the MVVM architecture considered good for testability in iOS app development?”
	Decoupling with Dependency Injection
		Using constructor injection
		Simplifying things with setter injection
		Using pure functions with method injection
		Decoupling our code using protocols
	Communicating using delegation
		“How does the delegation pattern differ from other communication patterns, such as notifications or closures, in Swift?”
	Sharing a state using Singleton
		“How would you avoid using a Singleton in your code? Can you describe some of the alternative approaches you might consider?”
		“Can you describe the potential issues with using Singletons in a multithreaded environment, and how can these be addressed?”
	Improving performance with Concurrency
		Working with GCD
		Creating advanced queues with OperationQueue
		Blocking threads with NSLock
		Using the Combine Future publisher to implement async operations
		Going over concurrency development best practices
	Summary
Chapter 12: Drilling into App Architecture
	All about the Separation of Concerns principle
		Defining the Separation of Concerns principle
		Explaining the importance of SoC
		Going practical with the Separation of Concerns principle
	Designing app architecture
		Breaking the architecture into application layers
		Learning about data flow
		Designing an offline-first system architecture
	The architecture design interview
		Entering the head of our interviewer
		Approaching the mission
		Starting the design
		Communicating with the interviewer
	Summary
Chapter 13: Acing the Coding Assessment
	Succeeding in live coding
		Learning about the different live coding tests
		Preparing ourselves for the coding interview
		Starting to code
		Coding like a pro
	Excelling in a home assessment
		What does a home assessment look like?
		The different skills being tested in a home assessment
		Going over examples
	Avoiding red flags
		Inability to explain or defend a solution
		Dichotomic thinking
		Limited error handling
		Poor code quality
	Summary
Index
Other Books You May Enjoy




نظرات کاربران