สมัครตอนนี้

เข้าสู่ระบบ

ลืมรหัสผ่าน

ลืมรหัสผ่านของคุณ? กรุณากรอกอีเมลของคุณ. คุณจะได้รับลิงค์และจะสร้างรหัสผ่านใหม่ทางอีเมล.

เพิ่มโพสต์

คุณต้องเข้าสู่ระบบเพื่อเพิ่มโพสต์ .

เพิ่มคำถาม

คุณต้องเข้าสู่ระบบเพื่อถามคำถาม.

เข้าสู่ระบบ

สมัครตอนนี้

ยินดีต้อนรับสู่ Scholarsark.com! การลงทะเบียนของคุณจะอนุญาตให้คุณเข้าถึงโดยใช้คุณสมบัติเพิ่มเติมของแพลตฟอร์มนี้. สอบถามได้ค่ะ, บริจาคหรือให้คำตอบ, ดูโปรไฟล์ของผู้ใช้รายอื่นและอีกมากมาย. สมัครตอนนี้!

เทคนิคการเขียนโปรแกรมระบบ Linux & ทำความเข้าใจการรับสินค้าคงคลัง

เทคนิคการเขียนโปรแกรมระบบ Linux & ทำความเข้าใจการรับสินค้าคงคลัง

ราคา: $19.99

There are already innumerable courses/tutorials on internet/Udemy which teaches almost every aspect of C programming language. All those courses sound same, talk same and deliver more or less same knowledge. How is this course different from others ?

The intention of this course is to make you ready for System programming Technical interviews, interview levelfrom Beginner to Intermediate. This course is for (อนาคต) และเขียนเกณฑ์การยอมรับ, not for testers or System Administrators.

I choose to create this course to fill the gap between novice/beginner and intermediate/Advanced Programmers. This course assumes that you are at-least above average in programming (in any programming language, but preferable in C/C++) – know memory allocations, all kinds of loops, function calls, pointers etc. ในรายวิชานี้, I won’t teach C/C++ (there are already many courses on it online), but would teach programming techniques and low-level details regarding how C program works behind the scenesAll topics very important from interview point of view. My Target is to grow this course into Linux/C Bible.

ยัง, I always feel, you need to outsmart your fellow colleagues in this era of stiff competition, และดังนั้นจึง, I tried this attempt to present you the wisdom and knowledge which is of utmost importance for a programmer. I have seen though students could write good C/C++ programs, yet they lack the clarity on how one should write better organized, Manageable, extensible and programmable codes in the form of libraries. ตัวอย่างเช่น, Students too good in competitive programming, yet do not know how to write a simple Makefile, reason being, Academics do not teach and students do not care to learn.

ในรายวิชานี้, I will cover the topics related to creating Linux System Libraries (ปล่อย 1) with Advanced language-agnostic Programming Concepts (ปล่อย 2) which can be well applied if you happen to become a programmer in other languages tomorrow.

The Concepts like MultiThreading, Thread-Synchronization, Socket Programming, IPCs etc demands a separate course on each topic altogether. ปัจจุบัน, I have a course on IPC, pls check it out. These topics are out of scope for this course.

The Course shall be delivered into two Releases :

Release 1 Building and Managing a Library: This covers basics regarding how one should create and organize his code as a Library.

Release 2 Memory Management Concepts: This covers Advance concepts on Linux Memory Management specifically. Please check Table of Contents for more info.

Why you should *NOT* do this course?

1. Please Excuse this course if you are the ultimate beginner in C programming !!

2. There is no point of doing this course if you don’t like hitting the keyboard, and lazy enough to watch lecture VDOs only

3. If you want everything cooked and served on your plate.

Course Pre-requisite :

  • Above Beginners Level in C/C++ programming

  • Good to have basic OS knowledge

  • Zeal to excel and Code

No Third Party libraries

Whatever logic you implement, you need to implement it from scratch. Like all my other courses, this course do not suggest taking help of any third party library to get the jobs done. Use of external libraries completely defeats the purpose of the course.

คำเตือน: This course has auto system-generated subtitles which may not be perfect. Please disable subtitles as per your convenience.

หลักสูตร :

**********************************************

Release 1 Building and Managing a Library

**********************************************

ส่วน 1 : Introduction to Libraries

  • What is Library

  • Relationship between Library and Application

  • Ex : Doubly linked list as a Library

  • Quick Compilation Steps

  • สรุป

ส่วน 2 : Header Files

  • Relationship between Source and header files

  • Text Substitution Method

  • Text Substitution MethodExample and Demo

ส่วน 3 : Preprocessing Directives

  • Problem of Duplicate inclusion of Hdr files

  • Pre-processing Directives

  • Solution to Duplicate inclusion of Hdr files

ส่วน 4 : Correct way of Using Structures and Functions

  • StructuresDefine and Use thumb Rule

  • ฟังก์ชั่น – Declare and Use thumb rule

  • The problem of Recursive Dependency

  • A solution to Recursive Dependency

ส่วน 5 : Creation of Static and Dynamic Libraries

  • Resuming with Doubly Linked List Library

  • Quick Creation of Static and Dynamic Libraries

  • Linking with Static Library

  • Linking with Dynamic Library

ส่วน 7: Understanding four stages of Compilation

  • Four stages of C/C++ Compilation

  • How Dynamic Library works ?

  • Dynamic Linking : Linking with Dynamic Library

  • การเปรียบเทียบ – Static Vs Dynamic Linking

ส่วน 8 : Building using a Makefile

  • What are Makefiles and why do we need it

  • Functions of Makefile

  • Makefile Dependency tree

  • Steps of Writing a Makefile

  • Assignment on Makefile

ส่วน 9 : Run-time Programmable libraries

  • What are Programmable Libraries?

  • Steps to Program the libraries

  • Registering of the callbacks with Libraries

    • key_match callback

    • comparison_fn callback

  • Delegation of Application-specific operations to Libraries

ส่วน 10 : Writing Iterators using Macros

  • What are Iterative Macros ?

  • Why we need Iterative Macros ?

  • How to Write Iterative MacrosFor Trees and Linked Lists

  • Exercises

ส่วน 11 : Glue Based Libraries and Data structures

  • What are the Glue Based Libraries?

  • Introducing GlthreadsA Glued LinkedList

  • Glthreads Vs Traditional Linked List

  • Structure field offset

  • GLThread Operations

  • Code Walk

  • GLThread Benefits

************************************************

Release 2 Memory Management Concepts

************************************************

ส่วน 12 : Memory Layout of Linux Process

  • Virtual Memory Basics

  • Memory Layout of Linux Process

  • ตัวอย่าง: Memory Layout of Linux Process

  • Exercise on size command

ส่วน 13 : Stack Memory Management

  • Stack Memory Basics and Contents

  • Stack-Overflow and Prevention

  • Stack Memory Corruption

  • Common Cpu Registers

  • Procedure Call Mechanism – เป็นขั้นเป็นตอน

  • Purpose of Base Pointer register (ebp)

  • Procedure Return Mechanism – เป็นขั้นเป็นตอน

  • Lab session

ส่วน 14 : Heap Memory Management

  • Introduction and Goals

  • How Malloc Works

  • Top of Heap Memory region – หยุดพัก pointer

  • Heap Memory Mgmt Sys Callsbrk และ sbrk

  • Meta and Data Blocks

  • ว่างแค่ไหน() ผลงาน

  • Block Splitting

  • Block Merging

  • Memory IllnessProblem of Fragmentation

ส่วน 15 : Concept of Paging

  • Introduction to Paging

  • Byte Addressable Memory

  • 32 bit and 64 bit Machine Architecture

  • Address Bus and Data bus

  • Physical Vs Virtual Address

  • Physical Memory Frames

  • Virtual Address Composition

  • Page Table

  • Paging In Action

  • Shared Physical Memory

ส่วน 16 : Multilevel Paging

ส่วน 17 : Demand Paging

ส่วน 18 : Memory Management for Multi-threaded Process

The intention of this course is to make you ready for System programming Technical interviews from beginners to upto 8-9 yrs of experience.

CISM ข้อสอบการพัฒนาโปรแกรมการรักษาความปลอดภัยของข้อมูล. What are the frequently asked questions by interviewers in a technical round when someone writes C/C++/System Programming language on their resume?

ตอบ : If i am interviewer, what questions i would ask depends on his no of years of experience in C.

1–3 yrs of experience — I would have asked:

  1. Double pointers

  2. design a Macro to return the size of the structure

  3. Two Dimensional Arrays, passing and returning arrays from a fn

  4. Different stages of C program compilation

  5. how fork() ผลงาน

  6. What are various ways to debug memory corruptions.

  7. various IPCs

  8. Heap and Stack memory-based Question

4–6 yrs of experienceI would have asked:

  1. How memory is allocated by the OS

  2. Internal and external fragmentation, what can be done to avoid it

  3. System calls, strace()

  4. Trade-of of one IPC over other

  5. various ways to communicate with kernel and comparison

  6. ข้อมูล (De)Serialization in C

  7. RPC in C

  8. callbacks advanced application

  9. typedef Vs #define

  10. Generic programming in C using macros

  11. การซิงโครไนซ์เธรด

  12. Heap and Stack memory based Question

7+ yrs of experienceI would have asked

  1. Have you designed any system module to solve any problem

  2. Design thread library 0 what functionalities would you incorporate in and how ?

  3. What are Dos and Dont’s for writing a robust and flexible library

  4. How to write generic code in C

  5. Various ways to implement timers in C, and comparison of approaches

  6. How Interrupts work ?

  7. IPCs and comparison

  8. How would you convert a C code to C++ and vice versa

  9. How to write a tool to detect memory leaks, Or garbage collection

  10. Design your own memory allocation tool. Why would you write your own memory allocation scheme ?

  11. When to go for Multi-process design over Multi-threaded design and vice versa

  12. How ValGrind tool works

  13. In production code, would you favor recursive but simple logic, Or Non recursive but complex logic, and why ?

If you analyze the pattern,

Candidate with 1–3 yrs of experience, I would chose to ask more of a direct and straightforward Questions.

Candidate with 4–6 yrs of experience, I would chose to ask more advanced technical C Question plus some comparison of approaches based Questions

Candidate with 7+ yrs of experience, I would chose to ask more of a design and Analysis based Question.

Note that, since Question pertains to C and System Programming, so i have not mentioned Data structures and Algorithms.

เกี่ยวกับ arkadmin

ทิ้งคำตอบไว้