Karim Ebrahem
Karim Ebrahem

@k_ebrahem_

19 تغريدة 13 قراءة Sep 19, 2021
فى ناس كتيرة بتسأل ايه اللى كشخص Junior iOS Developer المفروض اكون عارفة ودايما بتسأل السؤال دا , فخلينى اوضح ايه اللى محتاجك تكون عارفه
تعالى نقسمهم لـ ٧ حاجات لازم تعدى عليهم او تعملهم علشان اقدر اقول عليك Junior وتعدى الانترفيو بسهولة :
1. The Big Picture
2. Fundamentals
3. Networking
4. Persisting Data
5. UI
6. Patterns
7. Interview
هاتكلم على كل نقطة فيهم باختصار علشان وممكن نبقى نخصص threads تانية لكل نقطة
1. The Big Picture
محتاج تفهم وتركز مع البلاتفورم الجديد اللى انت داخل عليه , ولازم تاخد بالك وتركز مع الـ Patterns اللى هتقابلها .. و Patterns هنا اقصد بيها انك تقدر تعمل Mind Mapping للحاجات اللى بتتعلمها بحيث انها تبقى مترتبة فى دماغك فى شكل Categories ..
لازم تبقى عارف ايه الـ Apps وازاى هيا بتشتغل وازاى الـ iOS بيتعامل مع الـ Applications المختلفة ومتخيل ايه اللى بيحصل بس انت مش شايفه ولا ليك تحكم فيه.
الـ Life Cycles الموجودة و الـ Layers اللى موجودة فى كل ابليكيشن بناء على الـ Functionality اللى بيقدمها ..
2. Fundamentals
لازم تبقى فاهم Swift وبتعرف تحول افكارك لكود بيها (ودى اهم من انك تكون فاهم Syntax وخلاص) .. مع شوية Design Patterns هيا اصلا موجودة فى الـ iOS وانت بتستخدمها فلازم تكون فاهم الـ Concept بتاعها وفى المرحلة دى انت على الاقل قادر تطلع ابليكيشن بسيط من اسكرين واحدة
ودى titles كدا ممكن تساعدك فى المرحلة دى :
Memory Management (ARC and MRC) , Optionals , Struct and Classes , Protocols , Closures , Extensions , App and ViewController Life Cycles , Singleton , Delegate , Observer , MVC
3. Networking
هو تقريبا كدا مافيش اى ابليكيشن مفيد مش بيتعامل مع Backend Side .. فطبيعى لازم تكون فاهم الـ Networking اللى بيتم من ناحية الـ Application بتاعك وازاى تتعامل مع Backend Side بشكل كويس وتبقى كمان فاهم ايه اللى بيحصل كويس
ودى titles ممكن تساعدك فى المرحلة دى :
HTTP , REST , Implement CRUD Operations in URLSession , Networking Concerns , URLSession and Alamofire , Life Cycle of URLSessions Task , Download and Upload , Multi-threading with Networking
4. Persisting Data
أكيد محتاجين نعمل Save لشوية معلومات Local على الجهاز وهنا يجى دول الجزء دا. لازم تفهم كويس ايه اللى هايتعمله Save والـ Best Practice بتاع الـ save للداتا دى ايه ؟ .. هل هى حاجة بسيطة ليها علاقة بالابليكيشن ؟ ولا انا محتاج ابنى Offline Capable Application ؟
ودى titles ممكن تساعدك فى المرحلة دى :
In Memory , UserDefaults , Keychain , File/Disk Storage , Core Data , Realm , SQLite
5. UI
معلش يعنى لو فيها اساءة ادب , انت لازم تكون بتعرف تطلع الـ UI زى الديزاين .. مش شرط الـ Quality بتاعت الـ Constraints والكود تبقى عظمة , بس يعنى الـ UI لازم يكون زى المطلوب , مافيهوش مشاكل , ويا سلام لو شوية Animation بسيطة جدا
ودى titles ممكن تساعدك فى المرحلة دى :
Storyboard , XiB , AutoLayout , Frames , StackView , CollectionView , TableView , ScrollView , Options for Animation , UI from Code , Hand off Designs from UI/UX Team (Sympli and Zeplin)
6. Patterns
هنا يجى دور ازاى تخلى الكود بتاعك منظم (وشوية حاجات كتير كدا هاتعرفها بعدين) وتتعلم Design and Architectural Patterns .. الموضوع دا مفيد لانك بتفهم حاجات كتير ليها علاقة بالـ Quality بتاعت الكود بتاعك وازاى تطلع Software Product كويس
ودى titles ممكن تساعدك فى المرحلة دى :
MVC , MVP , Singleton , Delegate , Observer , Decorator , Factory Method , SOLID
7. Interview
ودا المفروض يكون هدفك بعد ما اتعلمت كويس , انك توصل للانترفيو ..
حابب بس اقول ان ماينفعش تروح تقدم على اى شغل من غير ماتكون مهتم بالبروفايلز بتاعتك Linkedin , Github , CV
وكمان ازاى توصل للشركات وتتكلم مع ناس من التيم بتاعها سواء Technical او HR وتعرفهم بنفسك ..
فى كام حاجة لازم تكون عارفها ومستعد ليها بحيث تطلع باقصى استفادة وكمان يبقى شكلك Profissional اكتر زى الـ Soft and Negotiation Skills ..
ودايما حاول تبنى Brand لنفسك فى الكوميونتى بتاعتك , وهنا كل واحد وطريقته واللى يقدر يعمله مافيش حاجة بتنطبق على الكل ..
خليك دايما جاهز لاى انترفيو فى اى وقت , ممكن Phone Interview او Onsite Interview وفى خدمات اونلاين بتعمل Mock Interviews ممكن تشوفهم وتبص عليهم وتتمرن دايما ..
الكتابين دول بيغطوا كل اللى اتكلمت عنه فى الثريد دى حاول تقضى وقت من يومك انك تقرأهم ..
1 - iOS Programming: The Big Nerd Ranch Guide 7th Edition.
2 - The iOS Interview Guide.
مش محتاج كورسات لا اونلاين ولا فى مكان بعد الكتابين دول لو فهمتهم كويس جدا .. وشكرا ☺️❤️
وممكن تتابع الراجل دا @owahab على Linkedin عامل شوية مقالات فوق العظمة بشوية عن الحاجات المطلوب منك وانت Junior, Mid-Level, Or Senior SWE .. شكراا جدا ياعمر على الـ Posts العظيمة دى ❤️

جاري تحميل الاقتراحات...