From 63f83b1557462680ec81b62f9d8c804cd6bbb192 Mon Sep 17 00:00:00 2001 From: Saran Mahadev Date: Tue, 25 Jan 2022 23:16:40 +0530 Subject: [PATCH 1/2] Added Excercise and Assessments --- _coverpage.md | 7 +- _sidebar.md | 4 +- ...2581_AWS Course Completion Certificate.pdf | Bin 0 -> 200263 bytes index.html | 10 +++ os/index.md | 0 programming/assessment.md | 68 ++++++++++++++++++ programming/exercises.md | 43 ++++++++++- 7 files changed, 126 insertions(+), 6 deletions(-) create mode 100644 assets/images/134_3_1146049_1642512581_AWS Course Completion Certificate.pdf create mode 100644 os/index.md create mode 100644 programming/assessment.md diff --git a/_coverpage.md b/_coverpage.md index f3e602e..2c3baaf 100644 --- a/_coverpage.md +++ b/_coverpage.md @@ -1,10 +1,9 @@ -# Welcome +# DevOps Digest ![logo](assets/images/logo.png) -## DevOps Digest [![GitHub stars](https://img.shields.io/github/stars/saranmahadev/devops-digest.svg)](https://GitHub.com/saranmahadev/devops-digest/stargazers/) [![GitHub Commit](https://img.shields.io/github/last-commit/saranmahadev/devops-digest)](https://GitHub.com/saranmahadev/devops-digest/commits/) [![GitHub license](https://img.shields.io/github/license/saranmahadev/devops-digest.svg)](https://github.com/saranmahadev/devops-digest/blob/master/LICENSE) [![GitHub Issues](https://img.shields.io/github/issues-closed-raw/saranmahadev/devops-digest)](https://github.com/saranmahadev/devops-digest/issues) -[GitHub](https://github.com/saranmahadev/devops-digest/) -[Get Started](./) \ No newline at end of file +[Get Started](./) + \ No newline at end of file diff --git a/_sidebar.md b/_sidebar.md index 3a4135a..6650a28 100644 --- a/_sidebar.md +++ b/_sidebar.md @@ -6,4 +6,6 @@ - [📚 Golang](programming/go) - [📚 Ruby](programming/ruby) - [📚 Perl](programming/perl) - - [🗒 Exercises](programming/exercises) \ No newline at end of file + - [🗒 Exercises](programming/exercises) + - [⏮ Self Assessment](programming/assessment) + diff --git a/assets/images/134_3_1146049_1642512581_AWS Course Completion Certificate.pdf b/assets/images/134_3_1146049_1642512581_AWS Course Completion Certificate.pdf new file mode 100644 index 0000000000000000000000000000000000000000..e7d04545bc0f3e118aeb44a7ac011af600a79083 GIT binary patch literal 200263 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 + + + +
@@ -56,6 +60,12 @@ + + + + + + diff --git a/os/index.md b/os/index.md new file mode 100644 index 0000000..e69de29 diff --git a/programming/assessment.md b/programming/assessment.md new file mode 100644 index 0000000..5580904 --- /dev/null +++ b/programming/assessment.md @@ -0,0 +1,68 @@ +# Self Assessment + > “The secret to getting ahead is getting started.” - Mark Twain + ++ Must Read + + + Read the Assessment *[or]* Try to Answer the Questions without Opening the Accordion. ++ What are some characteristics of the Python programming language? + + + - General Purpose Programming Language + - Interpreted + - Strongly Typed (i.e. type checking and type inference is enabled) + - High Readability + - Lot of libraries + - Everything is object oriented + ++ What built-in types Python has? + + + - Text Type: str + - Numeric Types: int, float, complex + - Sequence Types: list, tuple, range + - Mapping Type: dict + - Set Types: set, frozenset + - Boolean Type: bool + - Binary Types: bytes, bytearray, memoryview + ++ What are the Mutable and Immutable Datatypes? + + + 1. Mutable: List, Dictionary, Set + 2. Immutable: String, Integer, Float, Boolean, None + ++ What is Mutability? + + + - Mutability refers to the ability to change/modify the value of an object. + - Mutable objects can be changed. + - Immutable objects cannot be changed. + + +#### **Program** + +``` +1 > 2 +'b' > 'a' +1 == 'one' +2 > 'one' +``` + +#### **Output** +``` +False - One is not greater than two +True - Since 'b' is greater than 'a' in ASCII +False - 1 is a integer and 'one' is a string, since == checks for equality it does not throw an error +TypeError - Since 2 is a integer and 'one' is a string, since > checks for greater than it does not throw an error +``` + + ++ What is the result of `bool("")` and `bool(" ")` ? Explain + + + - `bool("")` is False + - `bool(" ")` is True + ++ Give Output: `[] is not []` + + + - `[] is not []` is True
+ `[]` is not `[]` because `[]` is not the same object as `[]` + ++ What is the result of running `True-True` ? + + + - `True-True` is `0` \ No newline at end of file diff --git a/programming/exercises.md b/programming/exercises.md index 8fa64e8..c76cfb7 100644 --- a/programming/exercises.md +++ b/programming/exercises.md @@ -1 +1,42 @@ -# Excercises \ No newline at end of file +# Excercises + + +## Beginners 🧘‍♂️ +Start with the basics from variables, loops, conditionals, functions, and packages. + +``` + 1. Hangman game + 2. Alarm Clock + 3. Mad Libs Generator + 4. Desktop Notifier + 5. Guess the Number +``` + + + + +## Intermediate 🚶‍♂️ +After the basics, Learn some more advanced topics like classes, objects, and inheritance. + +``` + 1. Language Translator + 2. Website Blocker + 3. Content Aggregator + 4. 2D Racing Game + 5. File Organizer +``` + + + + +## Advanced 🚶‍♂️ +After some digging, you'll learn some more advanced topics like interaction databases, and building api's. + +``` + 1. Language Translator + 2. Website Blocker + 3. Content Aggregator + 4. 2D Racing Game + 5. File Organizer +``` + \ No newline at end of file From 62074613c78a194c661a3421916a2ac8ff4c1fa7 Mon Sep 17 00:00:00 2001 From: Saran Mahadev Date: Wed, 26 Jan 2022 13:35:28 +0530 Subject: [PATCH 2/2] Added Assessments --- _sidebar.md | 3 +- programming/assessment-1.md | 1564 +++++++++++++++++++++++++++++++++++ programming/assessment-2.md | 786 ++++++++++++++++++ programming/assessment.md | 68 -- 4 files changed, 2352 insertions(+), 69 deletions(-) create mode 100644 programming/assessment-1.md create mode 100644 programming/assessment-2.md delete mode 100644 programming/assessment.md diff --git a/_sidebar.md b/_sidebar.md index 6650a28..fa3135f 100644 --- a/_sidebar.md +++ b/_sidebar.md @@ -7,5 +7,6 @@ - [📚 Ruby](programming/ruby) - [📚 Perl](programming/perl) - [🗒 Exercises](programming/exercises) - - [⏮ Self Assessment](programming/assessment) + - [⏮ Self Assessment - Page 1](programming/assessment-1) + - [⏮ Self Assessment - Page 2](programming/assessment-2) diff --git a/programming/assessment-1.md b/programming/assessment-1.md new file mode 100644 index 0000000..da0a87b --- /dev/null +++ b/programming/assessment-1.md @@ -0,0 +1,1564 @@ +# Self Assessment + > “The secret to getting ahead is getting started.” - Mark Twain + ++ Must Read + + + Read the Assessment *[or]* Try to Answer the Questions without Opening the Accordion. ++ What are some characteristics of the Python programming language? + + + - General Purpose Programming Language + - Interpreted + - Strongly Typed (i.e. type checking and type inference is enabled) + - High Readability + - Lot of libraries + - Everything is object oriented + ++ What built-in types Python has? + + + - Text Type: str + - Numeric Types: int, float, complex + - Sequence Types: list, tuple, range + - Mapping Type: dict + - Set Types: set, frozenset + - Boolean Type: bool + - Binary Types: bytes, bytearray, memoryview + ++ What are the Mutable and Immutable Datatypes? + + + 1. Mutable: List, Dictionary, Set + 2. Immutable: String, Integer, Float, Boolean, None + ++ What is Mutability? + + + - Mutability refers to the ability to change/modify the value of an object. + - Mutable objects can be changed. + - Immutable objects cannot be changed. + + +#### **Program** + +``` +1 > 2 +'b' > 'a' +1 == 'one' +2 > 'one' +``` + +#### **Output** +``` +False - One is not greater than two +True - Since 'b' is greater than 'a' in ASCII +False - 1 is a integer and 'one' is a string, since == checks for equality it does not throw an error +TypeError - Since 2 is a integer and 'one' is a string, since > checks for greater than it does not throw an error +``` + + ++ What is the result of `bool("")` and `bool(" ")` ? Explain + + + - `bool("")` is False + - `bool(" ")` is True + ++ Give Output: `[] is not []` + + + - `[] is not []` is True
+ `[]` is not `[]` because `[]` is not the same object as `[]` + ++ What is the result of running `True-True` ? + + + - `True-True` is `0` + ++ String is an immutable data type in Python - True or False? + + + True + ++ How to check if a string starts with a letter? + + + ``` + import re + if re.match("^[a-zA-Z]+.*", string): + ``` + + string built-in: + + ``` + if string and string[0].isalpha(): + ``` + + + ++ How to check if all characters in a given string are digits? + + + `string.isdigit` + + + ++ How to remove trailing slash ('/') from a string? + + + `string.rstrip('/')` + + + +#### **Program** +What is the result of of each of the following? +- "abc"*3 +- "abc"*2.5 +- "abc"*2.0 +- "abc"*True +- "abc"*False + +#### **Output** + +- abcabcabc +- TypeError +- TypeError +- "abc" +- "" + + + +#### **Program** +Improve the following code: + +``` +char = input("Insert a character: ") +if char == "a" or char == "o" or char == "e" or char =="u" or char == "i": + print("It's a vowel!") +``` +#### **Output** + +``` +char = input("Insert a character: ") # For readablity +if lower(char[0]) in "aieou": # Takes care of multiple characters and separate cases + print("It's a vowel!") +``` +*OR* +``` +if lower(input("Insert a character: ")[0]) in "aieou": # Takes care of multiple characters and small/Capital cases + print("It's a vowel!") +``` + + + ++ How to define a function with Python? + + + Using the `def` keyword. For Examples: + + ``` + def sum(a, b): + return (a + b) + ``` + + ++ In Python, functions are first-class objects. What does it mean? + + + In general, first class objects in programming languages are objects which can be assigned to variable, used as a return value and can be used as arguments or parameters.
+ In python you can treat functions this way. Let's say we have the following function + + ``` + def my_function(): + return 5 + ``` + + You can then assign a function to a variables like this `x = my_function` or you can return functions as return values like this `return my_function` + + + ++ Write a function to determine if a number is a Palindrome + + + - Code: + + ``` + from typing import Union + + def isNumberPalindrome(number: Union[int, str]) -> bool: + if isinstance(number, int): + number = str(number) + return number == number[::-1] + + print(isNumberPalindrome("12321")) + ``` + + - Using Python3.10 that accepts using bitwise operator '|'. + + ``` + def isNumberPalindrome(number: int | str) -> bool: + if isinstance(number, int): + number = str(number) + return number == number[::-1] + + print(isNumberPalindrome("12321")) + ``` + + Note: Using slicing to reverse a list could be slower than other options like `reversed` that return an iterator. + + - Result: + + ``` + True + ``` + + +#### **Program** + +What is the result of the following block of code? + +``` +x = ['a', 'b', 'c'] +for i in x: + if i == 'b': + x = ['z', 'y'] + print(i) +``` +#### **Output** + +``` +a +b +c +``` + + + ++ Explain inheritance and how to use it in Python + + + ``` + By definition inheritance is the mechanism where an object acts as a base of another object, retaining all its + properties. + + So if Class B inherits from Class A, every characteristics from class A will be also available in class B. + Class A would be the 'Base class' and B class would be the 'derived class'. + + This comes handy when you have several classes that share the same functionalities. + + The basic syntax is: + + class Base: pass + + class Derived(Base): pass + + A more forged example: + + class Animal: + def __init__(self): + print("and I'm alive!") + + def eat(self, food): + print("ñom ñom ñom", food) + + class Human(Animal): + def __init__(self, name): + print('My name is ', name) + super().__init__() + + def write_poem(self): + print('Foo bar bar foo foo bar!') + + class Dog(Animal): + def __init__(self, name): + print('My name is', name) + super().__init__() + + def bark(self): + print('woof woof') + + michael = Human('Michael') + michael.eat('Spam') + michael.write_poem() + + bruno = Dog('Bruno') + bruno.eat('bone') + bruno.bark() + + >>> My name is Michael + >>> and I'm alive! + >>> ñom ñom ñom Spam + >>> Foo bar bar foo foo bar! + >>> My name is Bruno + >>> and I'm alive! + >>> ñom ñom ñom bone + >>> woof woof + + Calling super() calls the Base method, thus, calling super().__init__() we called the Animal __init__. + + There is a more advanced python feature called MetaClasses that aid the programmer to directly control class creation. + ``` + + ++ Explain and demonstrate class attributes & instance attributes + + + In the following block of code `x` is a class attribute while `self.y` is a instance attribute + + ``` + class MyClass(object): + x = 1 + + def __init__(self, y): + self.y = y + ``` + ++ What is an error? What is an exception? What types of exceptions are you familiar with? + + + ``` + # Note that you generally don't need to know the compiling process but knowing where everything comes from + # and giving complete answers shows that you truly know what you are talking about. + + Generally, every compiling process have a two steps. + - Analysis + - Code Generation. + + Analysis can be broken into: + 1. Lexical analysis (Tokenizes source code) + 2. Syntactic analysis (Check whether the tokens are legal or not, tldr, if syntax is correct) + + for i in 'foo' + ^ + SyntaxError: invalid syntax + + We missed ':' + + 1. Semantic analysis (Contextual analysis, legal syntax can still trigger errors, did you try to divide by 0, + hash a mutable object or use an undeclared function?) + + 1/0 + ZeroDivisionError: division by zero + + These three analysis steps are the responsible for error handlings. + + The second step would be responsible for errors, mostly syntax errors, the most common error. + The third step would be responsible for Exceptions. + + As we have seen, Exceptions are semantic errors, there are many builtin Exceptions: + + ImportError + ValueError + KeyError + FileNotFoundError + IndentationError + IndexError + ... + + You can also have user defined Exceptions that have to inherit from the `Exception` class, directly or indirectly. + + Basic example: + + class DividedBy2Error(Exception): + def __init__(self, message): + self.message = message + + def division(dividend,divisor): + if divisor == 2: + raise DividedBy2Error('I dont want you to divide by 2!') + return dividend / divisor + + division(100, 2) + + >>> __main__.DividedBy2Error: I dont want you to divide by 2! + ``` + + + ++ Explain Exception Handling and how to use it in Python + + + **Exceptions:** Errors detected during execution are called Exceptions. + + **Handling Exception:** When an error occurs, or exception as we call it, Python will normally stop and generate an error message.
+ Exceptions can be handled using `try` and `except` statement in python. + + **Example:** Following example asks the user for input until a valid integer has been entered.
+ If user enter a non-integer value it will raise exception and using except it will catch that exception and ask the user to enter valid integer again. + ```py + while True: + try: + a = int(input("please enter an integer value: ")) + break + except ValueError: + print("Ops! Please enter a valid integer value.") + + ``` + For more details about errors and exceptions follow this [https://docs.python.org/3/tutorial/errors.html](https://docs.python.org/3/tutorial/errors.html) + + +#### **Program** +What is the result of running the following function? + +``` +def true_or_false(): + try: + return True + finally: + return False +``` +#### **Output** +False + + + + + +#### **Question** +- Explain the following built-in functions (their purpose + use case example): + * repr + * any + * all + +#### **Answer** + +- repr: + ``` + repr(object) -> string + Return a string containing a printable representation of an object. + ``` +- any: + ``` + any(iterable) -> bool + Return True if bool(x) is True for any x in the iterable. + ``` +- all: + ``` + all(iterable) -> bool + Return True if bool(x) is True for all values x in the iterable. + ``` + + + ++ What is the difference between repr function and str? + + + | repr | str | + | ---- | --- | + | Make Object Readable | Required code that reprdouces object | + | Generate Output to end user | Generate output for developer | + + **Example**: + ``` + >> import datetime + >> now = datetime.datetime.now() + >> str(now) + '2022-01-26 11:06:33.927791' + >> repr(now) + 'datetime.datetime(2022, 1, 26, 11, 6, 33, 927791)' + ``` + ++ What is the \_\_call\_\_ method? + + + It is used to emulate callable objects. It allows a class instance to be called as a function. + + - Example code: + + ``` + class Foo: + def __init__(self: object) -> None: + pass + def __call__(self: object) -> None: + print("Called!") + + f = Foo() + f() + ``` + + - Result: + + ``` + Called! + ``` + + + + ++ Do classes has the \_\_call\_\_ method as well? What for? + + + \_\_class\_\_ method is used to write classes where the instances behave like functions and can be called. + + - Example code: + **Program:** + ```py + class Foo: + def __init__(self: object) -> None: + pass + def __call__(self: object) -> None: + print("Called!") + f = Foo() + f() + ``` + **Output:** + ``` + Called! + ``` + ++ What _ is used for in Python? + + + 1. Translation lookup in i18n + 2. Hold the result of the last executed expression or statement in the interactive interpreter. + 3. As a general purpose "throwaway" variable name. For example: x, y, _ = get_data() (x and y are used but since we don't care about third variable, we "threw it away"). + ++ What is GIL? + + + Python Global Interpreter Lock (GIL) is a type of process lock which is used by python whenever it deals with processes. Generally, Python only uses only one thread to execute the set of written statements. This means that in python only one thread will be executed at a time + ++ What is Lambda? How is it used? + + + A ```lambda``` expression is an 'anonymous' function, the difference from a normal defined function using the keyword `def`` is the syntax and usage. + + The syntax is: + + ```lambda[parameters]: [expresion]``` + + **Examples:** + + * A lambda function add 10 with any argument passed. + + ```py + x = lambda a: a + 10 + print(x(10)) + ``` + + * An addition function + + ```py + addition = lambda x, y: x + y + print(addition(10, 20)) + ``` + + * Squaring function + + ```py + square = lambda x : x ** 2 + print(square(5)) + ``` + Generally it is considered a bad practice under PEP 8 to assign a lambda expresion, they are meant to be used as parameters and inside of other defined functions. + + ++ Are there private variables in Python? How would you make an attribute of a class, private? + + + Yes, there are private variables in Python. + + - Example code: + + ```py + class Foo: + def __init__(self: object) -> None: + self.__private_variable = "private" + self.public_variable = "public" + f = Foo() + print(f.__private_variable) + print(f.public_variable) + ``` + + - Result: + + ``` + private + public + ``` + ++ Explain the following: getter, setter, deleter + + - getter: Used to get the value of an attribute. + ``` + def get_name(self): + return self.__name + ``` + - setter: Used to set the value of an attribute. + ``` + def set_name(self, name): + self.__name = name + ``` + - deleter: Used to delete an attribute. + ``` + def del_name(self): + del self.__name + ``` + + In the above example, the getter and setter are used to get and set the value of the private variable. The deleter is used to delete the private variable. + + ++ Explain what is @property + + + @property is a built-in decorator for the propery() function which is used to give special functionality to the certain methods to make them as getter, setter and deleter. + + - Example code: + ``` + class Foo: + def __init__(self: object) -> None: + self.__name = "Foo" + @property + def name(self): + return self.__name + @name.setter + def name(self, name): + self.__name = name + @name.deleter + def name(self): + del self.__name + f = Foo() + print(f.name) + f.name = "Bar" + print(f.name) + del f.name + ``` + + ++ How do you swap values between two variables? + + + ``` + x, y = y, x + ``` + + + +#### **Question** +Explain the following object's magic variables: + - \_\_dict\_\_ + - \_\_doc\_\_ + - \_\_module\_\_ + - \_\_name\_\_ + - \_\_class\_\_ + - \_\_bases\_\_ + - \_\_mro\_\_ + +#### **Answer** + + 1. \_\_dict\_\_ is a dictionary or other mapping object used to store an object's (writable) attributes. + + 2. \_\_doc\_\_ is a string containing the object's docstring. + 3. \_\_module\_\_ is for retrieving the module where the function was defined. + 4. \_\_name\_\_ is the name of the current object. + 5. \_\_class\_\_ is the class of the current object. + 6. \_\_bases\_\_ is a tuple containing the base classes of the current object. + 7. \_\_mro\_\_ is a tuple containing the method resolution order of the current object. + + + + ++ Write a function to return the sum of one or more numbers. The user will decide how many numbers to use + + + First you ask the user for the amount of numbers that will be use. Use a while loop that runs until amount_of_numbers becomes 0 through subtracting amount_of_numbers by one each loop. In the while loop you want ask the user for a number which will be added a variable each time the loop runs. + + ``` + def return_sum(): + amount_of_numbers = int(input("How many numbers? ")) + total_sum = 0 + while amount_of_numbers != 0: + num = int(input("Input a number. ")) + total_sum += num + amount_of_numbers -= 1 + return total_sum + + ``` + + ++ Print the average of [2, 5, 6]. It should be rounded to 3 decimal places + + + ``` + li = [2, 5, 6] + print("{0:.3f}".format(sum(li)/len(li))) + ``` + ++ What is a tuple in Python? What is it used for? + + + A tuple is a built-in data type in Python. It's used for storing multiple items in a single variable. + + ++ List, like a tuple, is also used for storing multiple items. What is then, the difference between a tuple and a list? + + + List, as opposed to a tuple, is a mutable data type. It means we can modify it and at items to it. + + + ++ How to add the number 2 to the list ```x = [1, 2, 3]``` + + + `x.append(2)` + + + ++ How to check how many items a list contains? + + + `len(sone_list)` + + + ++ How to get the last element of a list? + + + `some_list[-1]` + + + ++ How to add the items of [1, 2, 3] to the list [4, 5, 6]? + + + x = [4, 5, 6] + x.extend([1, 2, 3]) + + Don't use `append` unless you would like the list as one item. + + + ++ How to remove the first 3 items from a list? + + + `my_list[0:3] = []` + + + ++ How do you get the maximum and minimum values from a list? + + + ``` + Maximum: max(some_list) + Minimum: min(some_list) + ``` + + + ++ How to get the top/biggest 3 items from a list? + + + ``` + sorted(some_list, reverse=True)[:3] + ``` + + Or + + ``` + some_list.sort(reverse=True) + some_list[:3] + ``` + ++ How to insert an item to the beginning of a list? What about two items? + + - One item: + + ``` + numbers = [1, 2, 3, 4, 5] + numbers.insert(0, 0) + print(numbers) + ``` + + - Multiple items or list: + + ``` + numbers_1 = [2, 3, 4, 5] + numbers_2 = [0, 1] + numbers_1 = numbers_2 + numbers_1 + print(numbers_1) + ``` + ++ How to sort list by the length of items? + + + ``` + sorted_li = sorted(li, key=len) + ``` + + Or without creating a new list: + + ``` + li.sort(key=len) + ``` + + + ++ Do you know what is the difference between list.sort() and sorted(list)? + + + * sorted(list) will return a new list (original list doesn't change) + * list.sort() will return None but the list is change in-place + + * sorted() works on any iterable (Dictionaries, Strings, ...) + * list.sort() is faster than sorted(list) in case of Lists + + ++ Convert every string to an integer: ```[['1', '2', '3'], ['4', '5', '6']``` + + + ``` + nested_li = [['1', '2', '3'], ['4', '5', '6']] + [[int(x) for x in li] for li in nested_li] + ``` + + + ++ How to merge two sorted lists into one sorted list? + + + ``` + sorted(li1 + li2) + ``` + + Another way: + + ``` + i, j = 0 + merged_li = [] + + while i < len(li1) and j < len(li2): + if li1[i] < li2[j]: + merged_li.append(li1[i]) + i += 1 + else: + merged_li.append(li2[j]) + j += 1 + + merged_li = merged_li + merged_li[i:] + merged_li[j:] + ``` + + + ++ How to check if all the elements in a given lists are unique? so [1, 2, 3] is unique but [1, 1, 2, 3] is not unique because 1 exists twice + + + There are many ways of solving this problem:
+ ```# Note: :list and -> bool are just python typings, they are not needed for the correct execution of the algorithm. ``` + + Taking advantage of sets and len: + + ``` + def is_unique(l:list) -> bool: + return len(set(l)) == len(l) + ``` + + This one is can be seen used in other programming languages. + + ``` + def is_unique2(l:list) -> bool: + seen = [] + + for i in l: + if i in seen: + return False + seen.append(i) + return True + ``` + + Here we just count and make sure every element is just repeated once. + + ``` + def is_unique3(l:list) -> bool: + for i in l: + if l.count(i) > 1: + return False + return True + ``` + + This one might look more convulated but hey, one liners. + + ``` + def is_unique4(l:list) -> bool: + return all(map(lambda x: l.count(x) < 2, l)) + ``` + + + You have the following function + + ``` + def my_func(li = []): + li.append("hmm") + print(li) + ``` + + If we call it 3 times, what would be the result each call? + + + + ``` + ['hmm'] + ['hmm', 'hmm'] + ['hmm', 'hmm', 'hmm'] + ``` + + ++ How to iterate over a list? + + + ``` + for item in some_list: + print(item) + ``` + + + ++ How to iterate over a list with indexes? + + + ``` + for i, item in enumerate(some_list): + print(i) + ``` + ++ How to start list iteration from 2nd index? + + + Using range like this + + ``` + for i in range(1, len(some_list)): + some_list[i] + ``` + + Another way is using slicing + + ``` + for i in some_list[1:]: + ``` + + + ++ How to iterate over a list in reverse order? + + + Method 1 + ``` + for i in reversed(li): + ... + ``` + + Method 2 + ``` + n = len(li) - 1 + while n > 0: + ... + n -= 1 + ``` + + ++ Sort a list of lists by the second item of each nested list + + + ``` + li = [[1, 4], [2, 1], [3, 9], [4, 2], [4, 5]] + + sorted(li, key=lambda l: l[1]) + ``` + + or + + ``` + li.sort(key=lambda l: l[1) + ``` + + + ++ Combine [1, 2, 3] and ['x', 'y', 'z'] so the result is [(1, 'x'), (2, 'y'), (3, 'z')] + + + ``` + nums = [1, 2, 3] + letters = ['x', 'y', 'z'] + + list(zip(nums, letters)) + ``` + + + ++ What is List Comprehension? Is it better than a typical loop? Why? Can you demonstrate how to use it? + + + From [Docs](https://docs.python.org/3/tutorial/datastructures.html#list-comprehensions): "List comprehensions provide a concise way to create lists. Common applications are to make new lists where each element is the result of some operations applied to each member of another sequence or iterable, or to create a subsequence of those elements that satisfy a certain condition.". + + It's better because they're compact, faster and have better readability. + + - For loop: + + ``` + number_lists = [[1, 7, 3, 1], [13, 93, 23, 12], [123, 423, 456, 653, 124]] + odd_numbers = [] + for number_list in number_lists: + for number in number_list: + if number % 2 == 0: + odd_numbers.append(number) + print(odd_numbers) + ``` + + - List comprehesion: + + ``` + number_lists = [[1, 7, 3, 1], [13, 93, 23, 12], [123, 423, 456, 653, 124]] + odd_numbers = [number for number_list in number_lists for number in number_list if number % 2 == 0] + print(odd_numbers) + ``` + + + + You have the following list: ```[{'name': 'Mario', 'food': ['mushrooms', 'goombas']}, {'name': 'Luigi', 'food': ['mushrooms', 'turtles']}]```.Extract all type of foods. Final output should be: {'mushrooms', 'goombas', 'turtles'} + + + ``` + brothers_menu = \ + [{'name': 'Mario', 'food': ['mushrooms', 'goombas']}, {'name': 'Luigi', 'food': ['mushrooms', 'turtles']}] + + # "Classic" Way + def get_food(brothers_menu) -> set: + temp = [] + + for brother in brothers_menu: + for food in brother['food']: + temp.append(food) + + return set(temp) + + # One liner way (Using list comprehension) + set([food for bro in x for food in bro['food']]) + ``` + ++ How to create a dictionary? + + + my_dict = dict(x=1, y=2) + OR + my_dict = {'x': 1, 'y': 2} + OR + my_dict = dict([('x', 1), ('y', 2)]) + ++ How to remove a key from a dictionary? + + + del my_dict['some_key'] + you can also use `my_dict.pop('some_key')` which returns the value of the key. + ++ How to sort a dictionary by values? + + + ``` + {k: v for k, v in sorted(x.items(), key=lambda item: item[1])} + ``` + + + ++ How to sort a dictionary by keys? + + + ``` + dict(sorted(some_dictionary.items())) + ``` + ++ How to merge two dictionaries? + + + ``` + some_dict1.update(some_dict2) + ``` + + ++ Convert the string "a.b.c" to the dictionary ```{'a': {'b': {'c': 1}}}``` + + + ``` + output = {} + string = "a.b.c" + path = string.split('.') + target = reduce(lambda d, k: d.setdefault(k, {}), path[:-1], output) + target[path[-1]] = 1 + print(output) + ``` + + ++ Can you implement "binary search" in Python? + + + ```py + def binary_search(lst,item) -> int: + low = 0 + high = len(lst) - 1 + mid = (low + high) // 2 + + while low <= high: + if lst[mid] == item: + return mid + elif lst[mid] < item: + low = mid + 1 + else: + high = mid - 1 + mid = (low + high) // 2 + return -1 + print(binary_search([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 5)) + ``` + ++ How to write to a file? + + + ``` + with open('file.txt', 'w') as file: + file.write("My insightful comment") + ``` + + + ++ How to print the 12th line of a file? + + + ``` + with open('file.txt', 'r') as file: + for i, line in enumerate(file): + if i == 11: + print(line) + ``` + ++ How to reverse a file? + + + ``` + with open('file.txt', 'r') as file: + lines = file.readlines() + lines.reverse() + with open('file.txt', 'w') as file: + file.writelines(lines) + ``` + ++ Sum all the integers in a given file + + + ``` + with open('file.txt', 'r') as file: + lines = file.readlines() + sum = 0 + for line in lines: + sum += int(line) + ``` + ++ Print a random line of a given file + + + ``` + with open('file.txt', 'r') as file: + lines = file.readlines() + print(random.choice(lines)) + ``` + ++ Print every 3rd line of a given file + + + ``` + with open('file.txt', 'r') as file: + lines = file.readlines() + for i, line in enumerate(lines): + if i % 3 == 0: + print(line) + ``` + ++ Print the number of lines in a given file + + + ``` + with open('file.txt', 'r') as file: + lines = file.readlines() + print(len(lines)) + ``` + ++ Print the number of of words in a given file + + + ``` + with open('file.txt', 'r') as file: + lines = file.readlines() + words = [line.split() for line in lines] + print(len(words)) + ``` + + ++ Can you write a function which will print all the files in a given directory? including sub-directories + + + ``` + def print_files(path): + for root, dirs, files in os.walk(path): + for file in files: + print(os.path.join(root, file)) + ``` + ++ Write a dictionary (variable) to a file + + + ``` + import json + + with open('file.json', 'w') as f: + f.write(json.dumps(dict_var)) + ``` + ++ How to print current working directory? + + + ``` + import os + print(os.getcwd()) + ``` + + ++ Given the path ```/dir1/dir2/file1``` print the file name (file1) + + + ``` + import os + print(os.path.basename('/dir1/dir2/file1')) + # Another way + print(os.path.split('/dir1/dir2/file1')[1]) + ``` + + + +### **Question** + +Given the path ```/dir1/dir2/file1``` + + 1. Print the path without the file name (/dir1/dir2) + 2. Print the name of the directory where the file resides (dir2) + +### **Answer** + + ``` + import os + + ## Part 1. + # os.path.dirname gives path removing the end component + dirpath = os.path.dirname('/dir1/dir2/file1') + print(dirpath) + + ## Part 2. + print(os.path.basename(dirpath)) + ``` + + + + ++ How do you execute shell commands using Python? + + + ``` + import subprocess + subprocess.call(['ls', '-l']) + ``` + + ++ How do you join path components? for example ```/home``` and ```luig``` will result in ```/home/luigi``` + + + ``` + import os + print(os.path.join('/home', 'luigi')) + ``` + ++ How do you remove non-empty directory? + + + ``` + import os + os.rmdir('/home/luigi') + ``` + ++ How do you perform regular expressions related operations in Python? (match patterns, substitute strings, etc.) + + + - import re # Using re module + ++ How to substitute the string "green" with "blue"? + + + ``` + import re + string = "green is the color of the sky" + pattern = re.compile("green") + print(pattern.sub("blue", string)) + ``` + ++ How to find all the IP addresses in a variable? How to find them in a file? + + + ``` + import re + string = "My IP address is 192.168.24.89 and my other IP address is 192.168.42.98" + pattern = re.compile("\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}") + print(pattern.findall(string)) + ``` + ++ Find the first repeated character in a string + + + While you iterate through the characters, store them in a dictionary and check for every character whether it's already in the dictionary. + + ``` + def firstRepeatedCharacter(str): + chars = {} + for ch in str: + if ch in chars: + return ch + else: + chars[ch] = 0 + ``` + ++ How to extract the unique characters from a string? for example given the input "itssssssameeeemarioooooo" the output will be "mrtisaoe" + + + ``` + x = "itssssssameeeemarioooooo" + y = ''.join(set(x)) + ``` + ++ Find all the permutations of a given string + + + ``` + def permute_string(string): + + if len(string) == 1: + return [string] + + permutations = [] + for i in range(len(string)): + swaps = permute_string(string[:i] + string[(i+1):]) + for swap in swaps: + permutations.append(string[i] + swap) + + return permutations + + print(permute_string("abc")) + ``` + + Short way (but probably not acceptable in interviews): + + ``` + from itertools import permutations + + [''.join(p) for p in permutations("abc")] + ``` + + Detailed answer can be found here: http://codingshell.com/python-all-string-permutations + ++ How to check if a string contains a sub string? + + + ``` + def is_substring(string, sub_string): + return sub_string in string + ``` + ++ Find the frequency of each character in string + + + ``` + def frequency(string): + freq = {} + for ch in string: + if ch in freq: + freq[ch] += 1 + else: + freq[ch] = 1 + return freq + ``` + ++ Count the number of spaces in a string + + + ``` + def count_spaces(string): + return string.count(' ') + ``` + + ++ Given a string, find the N most repeated words + + + ``` + def most_repeated_words(string, n): + words = string.split() + freq = {} + for word in words: + if word in freq: + freq[word] += 1 + else: + freq[word] = 1 + return sorted(freq, key=freq.get, reverse=True)[:n] + ``` + ++ Given the string (which represents a matrix) "1 2 3\n4 5 6\n7 8 9" create rows and colums variables (should contain integers, not strings) + + + ``` + string = "1 2 3\n4 5 6\n7 8 9" + rows = string.split('\n') + cols = [row.split() for row in rows] + print(rows) + print(cols) + ``` + + + +#### **Question** + +What is the result of each of the following? + +``` +>> ', '.join(["One", "Two", "Three"]) +>> " ".join("welladsadgadoneadsadga".split("adsadga")[:2]) +>> "".join(["c", "t", "o", "a", "o", "q", "l"])[0::2] +``` + +#### **Answer** + +``` +>>> 'One, Two, Three' +>>> 'well done' +>>> 'cool' +``` + + + + ++ If ```x = "pizza"```, what would be the result of ```x[::-1]```? + + + It will reverse the string, so x would be equal to `azzip`. + + + ++ Reverse each word in a string (while keeping the order) + + + ``` + def reverse_words(string): + words = string.split() + return " ".join(reversed(words)) + ``` + + ++ What is the output of the following code: ```"".join(["a", "h", "m", "a", "h", "a", "n", "q", "r", "l", "o", "i", "f", "o", "o"])[2::3]``` + + + 'mario' + ++ What is an iterator? + + + Iterator is an object that can be iterated upon, i.e. you can call ```next()``` on it. + + **Example:** + ``` + >>> my_list = [1, 2, 3] + >>> my_iterator = iter(my_list) + >>> next(my_iterator) + 1 + >>> next(my_iterator) + 2 + ``` + ++ Explain data serialization and how do you perform it with Python + + + Pickle is a Python library that allows you to serialize and deserialize Python objects to and from a binary stream. + + ++ How do you handle argument parsing in Python? + + + In Python, you can use the ```argparse``` module to parse command line arguments. + + ++ What is a generator? Why using generators? + + + A generator is an object that produces one value at a time. + + **Example:** + ``` + def my_generator(): + yield 1 + yield 2 + yield 3 + ``` + + + +#### **Question:** + +What would be the output of the following block? + +``` +for i in range(3, 3): + print(i) +``` + +#### **Answer:** + +No output :) + + + + + ++ What is ```yield```? When would you use it? + + + yield is a keyword used to return from a function and save the state of the function. + + Usage: + ``` + def my_generator(): + yield 1 + yield 2 + yield 3 + ``` + when we want to iterate over the generator, we call ```next()``` on it and it will return the next value. + + ++ Explain the following types of methods and how to use them: Static method, Class method,Instance method + + + - Static Method is a method is defined inside a class and is called without creating an instance of the class. + + - Class method is a method is defined inside a class and is called without creating an instance of the class. + + - Instance method is a method is defined inside a class and is called by creating an instance of the class. + + **Example:** + ``` + class MyClass: + @staticmethod + def my_static_method(self): + print("I am a static method") + @classmethod + def my_class_method(cls): + print("I am a class method") + def my_instance_method(self): + print("I am an instance method") + ``` + ++ Difference between Static and Class Method + + + | Static | Class| + |--------|------| + | Does not take any specific parameter | Takes the class as a parameter | + | Can be called without creating an instance of the class | Can be called without creating an instance of the class | + | @staticmethod | @classmethod | + ++ How to reverse a list? + + + ``` + def reverse_list(list): + return list[::-1] + ``` + ++ How to combine list of strings into one string with spaces between the strings + + + ``` + def combine_list_of_strings(list): + return " ".join(list) + ``` + ++ You have the following list of nested lists: ```[['Mario', 90], ['Geralt', 82], ['Gordon', 88]]``` How to sort the list by the numbers in the nested lists?``` + + + One way is: + the_list.sort(key=lambda x: x[1]) + ++ Explain the following: zip(), map(), filter() + + + | zip() | map() | filter() | + |------|-------|----------| + | Creates an iterator of tuples | Creates an iterator of the results of calling a function on each item of a given iterable | Creates an iterator of the results of applying a function that you specify to each item of a given iterable | + ++ How do you debug Python code? + + + The module pdb defines a debugger that allows you to execute Python code step by step. + ++ How to check how much time it took to execute a certain script or block of code? + + + ``` + import time + start_time = time.time() + # do something + end_time = time.time() + print(end_time - start_time) + ``` + ++ What empty ```return``` returns? + + + Short answer is: It returns a None object. + + We could go a bit deeper and explain the difference between + + ``` + def a (): + return + + >>> None + ``` + + And + + ``` + def a (): + pass + + >>> None + ``` + Or we could be asked this as a following question, since they both give the same result. + + We could use the dis module to see what's going on: + + ``` + 2 0 LOAD_CONST 0 (", line 2>) + 2 LOAD_CONST 1 ('a') + 4 MAKE_FUNCTION 0 + 6 STORE_NAME 0 (a) + + 5 8 LOAD_CONST 2 (", line 5>) + 10 LOAD_CONST 3 ('b') + 12 MAKE_FUNCTION 0 + 14 STORE_NAME 1 (b) + 16 LOAD_CONST 4 (None) + 18 RETURN_VALUE + + Disassembly of ", line 2>: + 3 0 LOAD_CONST 0 (None) + 2 RETURN_VALUE + + Disassembly of ", line 5>: + 6 0 LOAD_CONST 0 (None) + 2 RETURN_VALUE + ``` + + An empty ``` return``` is exactly the same as ```return None``` and functions without any explicit return + will always return None regardless of the operations, therefore + + ``` + def sum(a, b): + global c + c = a + b + + >>> None + ``` + +[Continue Assessment ➡️](programming/assessment-2) \ No newline at end of file diff --git a/programming/assessment-2.md b/programming/assessment-2.md new file mode 100644 index 0000000..4bd9b9e --- /dev/null +++ b/programming/assessment-2.md @@ -0,0 +1,786 @@ + + + + +#### **Question:** + +How to improve the following block of code? + +``` +li = [] +for i in range(1, 10): + li.append(i) +``` +#### **Answer:** + +``` +[i for i in range(1, 10)] +``` + + + + +#### **Question:** + +Given the following function + +``` +def is_int(num): + if isinstance(num, int): + print('Yes') + else: + print('No') +``` + +What would be the result of is_int(2) and is_int(False)? + +#### **Answer:** + +``` +Yes +No +``` + + + ++ Can you implement a linked list in Python? + + + - The reason we need to implement in the first place, it's because a linked list isn't part of Python standard library. + - To implement a linked list, we have to implement two structures: The linked list itself and a node which is used by the linked list. + + Let's start with a node. A node has some value (the data it holds) and a pointer to the next node + + ``` + class Node(object): + def __init__(self, data): + self.data = data + self.next = None + ``` + + Now the linked list. An empty linked list has nothing but an empty head. + + ``` + class LinkedList(object): + def __init__(self): + self.head = None + ``` + + Now we can start using the linked list + + ``` + ll = Linkedlist() + ll.head = Node(1) + ll.head.next = Node(2) + ll.head.next.next = Node(3) + ``` + + What we have is: + + ---- ----- ---- + | 1 | -> | 2 | -> | 3 | + ---- ----- ----- + + Usually, more methods are implemented, like a push_head() method where you insert a node at the beginning of the linked list + + ``` + def push_head(self, value): + new_node = Node(value) + new_node.next = self.head + self.head = new_node + ``` + + + ++ Add a method to the Linked List class to traverse (print every node's data) the linked list + + + def print_list(self): + node = self.head + while(node): + print(node.data) + node = node.next + + + ++ Write a method to that will return a boolean based on whether there is a loop in a linked list or not + + + Let's use the Floyd's Cycle-Finding algorithm: + + ``` + def loop_exists(self): + one_step_p = self.head + two_steps_p = self.head + while(one_step_p and two_steps_p and two_steps_p.next): + one_step_p = self.head.next + two_step_p = self.head.next.next + if (one_step_p == two_steps_p): + return True + return False + ``` + ++ Implement Stack in Python + + + ``` + stack = [] + + # Push + stack.append(1) + stack.append(2) + stack.append(3) + + # Pop + stack.pop() + stack.pop() + + # Peek + stack[-1] + ``` + ++ Write a Test to check whether the function returns string in Python? + + + ``` + def test_is_string(): + assert is_string('hello') == True + ``` + ++ What is PEP8? Give an example of 3 style guidelines + + + PEP8 is a list of coding conventions and style guidelines for Python + + 5 style guidelines: + + 1. Limit all lines to a maximum of 79 characters. + 2. Surround top-level function and class definitions with two blank lines. + 3. Use commas when making a tuple of one element + 4. Use spaces (and not tabs) for indentation + 5. Use 4 spaces per indentation level + + ++ How to test if an exception was raised? + + + ``` + try: + raise Exception('This is an exception') + except Exception as e: + print(e) + ``` + ++ What ```assert``` does in Python? + + + ```assert``` is a built-in function in Python that checks if a condition is true. If it's not, it raises an exception. + + Syntax: + ``` + assert expression, message + ``` + ++ Explain mocks + + + ``` + import unittest + from unittest.mock import Mock + + class TestClass(unittest.TestCase): + def test_method(self): + mock_method = Mock() + mock_method.return_value = 'hello' + assert mock_method() == 'hello' + ``` + Here the mock_method is a mock object. It's a mock object because it doesn't have a real implementation. + ++ How do you measure execution time of small code snippets? + + + ``` + import time + start = time.time() + # do something + end = time.time() + print(end - start) + ``` + + ++ Why one shouldn't use ```assert``` in non-test/production code? + + + ```assert``` is a built-in function in Python that checks if a condition is true. If it's not, it raises an exception. + In non-test/production code, we should not use ```assert``` because it's a bad practice where we can't debug the code. + ++ Can you describe what is Django/Flask and how you have used it? Why Flask and not Django? (or vice versa) + + + + - Django and Flask are both web frameworks which are used to build web applications. + - Prefer Flask because it's more lightweight and easier to maintain. + - Prefer Django because it's more powerful and easier to maintain. + ++ What is a route? + + + As every web framework, Flask provides a route functionality that lets you serve a content of a given URL. + + There are multiple ways to map a URL with a function in Python. + + - Decorator: you can use python decorators. In this case we're using `app`. This `app` decorator is the instance of the `Flask` class. And route it's a method of this class. + + ``` + @app.route('/') + def home(): + return 'main website' + ``` + + - `add_url_rule` method: This is a method of the Flask class. We can also use it for map the URL with a function. + + ``` + def home(): + return 'main website' + + app.add_url_rule('/', view_func=home) + ``` + ++ What is a blueprint in Flask? + + + A blueprint is a way to organize your application. It's a way to group your views and templates. + + ``` + from flask import Blueprint + + main = Blueprint('main', __name__) + ``` + + - `main` is the name of the blueprint. + - `__name__` is the name of the module. + + ++ What is a template? + + + A template is a file that contains HTML code. + + ``` + + + My title + + +

My title

+ + + ``` + + - `` is the root tag. + - `` is the head tag. + - `` is the title tag. + - `<body>` is the body tag. + - `<h1>` is the h1 tag. + + ++ Given ```x = [1, 2, 3]```, what is the result of list(zip(x))? + + + ``` + [(1,), (2,), (3,)] + ``` + +<!-- tabs:start --> +#### **Question** + +What is the result of each of the following: + +1. list(zip(range(5), range(50), range(50))) +2. list(zip(range(5), range(50), range(-2))) + +#### **Answers** + +1. [(0, 0, 0), (1, 1, 1), (2, 2, 2), (3, 3, 3), (4, 4, 4)] +2. [] + +<!-- tabs:end --> + + ++ Explain Descriptors + + + Descriptors let objects customize attribute lookup, storage, and deletion. + + Example: + ``` + class MyClass: + def __init__(self): + self.x = 'x' + self.y = 'y' + self.z = 'z' + + def __getattr__(self, name): + if name == 'a': + return 'a' + else: + raise AttributeError(name) + + def __setattr__(self, name, value): + if name == 'a': + raise AttributeError(name) + else: + super().__setattr__(name, value) + + def __delattr__(self, name): + if name == 'a': + raise AttributeError(name) + else: + super().__delattr__(name) + ``` + + - `__getattr__` is a method that is called when an attribute is not found. + - `__setattr__` is a method that is called when an attribute is set. + - `__delattr__` is a method that is called when an attribute is deleted. + + To use the desciptor given above, we can use the following code: + ``` + >>>my_class = MyClass() + >>>my_class.x + 'x' + >>>my_class.y + 'y' + ``` + + +<!-- tabs:start --> + +#### **Question** + +What would be the result of running ```a.num2``` assuming the following code +``` +class B: + def __get__(self, obj, objtype=None): + reuturn 10 + +class A: + num1 = 2 + num2 = Five() +``` +#### **Answers** +```10``` +<!-- tabs:end --> + + +<!-- tabs:start --> + +#### **Question** + +What would be the result of running ```some_car = Car("Red", 4)``` assuming the following code +``` +class Print: + + def __get__(self, obj, objtype=None): + value = obj._color + print("Color was set to {}".format(valie)) + return value + + def __set__(self, obj, value): + print("The color of the car is {}".format(value)) + obj._color = value + +class Car: + + color = Print() + + def __ini__(self, color, age): + self.color = color + self.age = age +``` + +#### **Answer** +An instance of Car class will be created and the following will be printed: "The color of the car is Red" + +<!-- tabs:end --> + + ++ How can you spawn multiple processes with Python? + + + ``` + import multiprocessing + p = multiprocessing.Process(target=function, args=(args,)) + p.start() + ``` + ++ Implement simple calculator for two numbers + + + ``` + def add(num1, num2): + return num1 + num2 + + def sub(num1, num2): + return num1 - num2 + + def mul(num1, num2): + return num1*num2 + + def div(num1, num2): + return num1 / num2 + + operators = { + '+': add, + '-': sub, + '*': mul, + '/': div + } + + if __name__ == '__main__': + operator = str(input("Operator: ")) + num1 = int(input("1st number: ")) + num2 = int(input("2nd number: ")) + print(operators[operator](num1, num2)) + + ``` + + + ++ What data types are you familiar with that are not Python built-in types but still provided by modules which are part of the standard library? + + + Take a Peek - https://docs.python.org/3/library/datatypes.html + ++ Explain what is a decorator + + + In python, everything is an object, even functions themselves. Therefore you could pass functions as arguments + for another function eg; + + ``` + def wee(word): + return word + + def oh(f): + return f + "Ohh" + + >>> oh(wee("Wee")) + <<< Wee Ohh + ``` + + This allows us to control the before execution of any given function and if we added another function as wrapper, + (a function receiving another function that receives a function as parameter) we could also control the after execution. + + Sometimes we want to control the before-after execution of many functions and it would get tedious to write + + ``` f = function(function_1())``` + ``` f = function(function_1(function_2(*args)))``` + + every time, that's what decorators do, they introduce syntax to write all of this on the go, using the keyword '@'. + + + + ++ Can you show how to write and use decorators? + + + ``` + These two decorators (ntimes and timer) are usually used to display decorators functionalities, you can find them in lots of + tutorials/reviews. I first saw these examples two years ago in pyData 2017. https://www.youtube.com/watch?v=7lmCu8wz8ro&t=3731s``` + + ``` + Simple decorator: + + def deco(f): + print(f"Hi I am the {f.__name__}() function!") + return f + + @deco + def hello_world(): + return "Hi, I'm in!" + + a = hello_world() + print(a) + + >>> Hi I am the hello_world() function! + Hi, I'm in! + ``` + + This is the simplest decorator version, it basically saves us from writting ```a = deco(hello_world())```. + But at this point we can only control the before execution, let's take on the after: + + ``` + def deco(f): + def wrapper(*args, **kwargs): + print("Rick Sanchez!") + func = f(*args, **kwargs) + print("I'm in!") + return func + return wrapper + + @deco + def f(word): + print(word) + + a = f("************") + >>> Rick Sanchez! + ************ + I'm in! + ``` + + deco receives a function -> f + wrapper receives the arguments -> *args, **kwargs + + wrapper returns the function plus the arguments -> f(*args, **kwargs) + deco returns wrapper. + + As you can see we conveniently do things before and after the execution of a given function. + + For example, we could write a decorator that calculates the execution time of a function. + + ``` + import time + def deco(f): + def wrapper(*args, **kwargs): + before = time.time() + func = f(*args, **kwargs) + after = time.time() + print(after-before) + return func + return wrapper + + @deco + def f(): + time.sleep(2) + print("************") + + a = f() + >>> 2.0008859634399414 + ``` + + Or create a decorator that executes a function n times. + + ``` + def n_times(n): + def wrapper(f): + def inner(*args, **kwargs): + for _ in range(n): + func = f(*args, **kwargs) + return func + return inner + return wrapper + + @n_times(4) + def f(): + print("************") + + a = f() + + >>>************ + ************ + ************ + ************ + ``` + ++ Write a decorator that calculates the execution time of a function + + + ``` + import time + def deco(f): + def wrapper(*args, **kwargs): + before = time.time() + func = f(*args, **kwargs) + after = time.time() + print(after-before) + return func + return wrapper + ``` + ++ Write a script which will determine if a given host is accessible on a given port + + + ``` + import socket + import sys + + host = sys.argv[1] + port = int(sys.argv[2]) + + s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + s.settimeout(1) + try: + s.connect((host, port)) + print("Port {} is open".format(port)) + except: + print("Port {} is closed".format(port)) + s.close() + ``` + + ++ Are you familiar with Dataclasses? Can you explain what are they used for? + + + ``` + https://docs.python.org/3/library/dataclasses.html + ``` + + ++ You wrote a class to represent a car. How would you compare two cars instances if two cars are equal if they have the same model and color? + + + ``` + class Car: + def __init__(self, model, color): + self.model = model + self.color = color + + def __eq__(self, other): + if not isinstance(other, Car): + return NotImplemented + return self.model == other.model and self.color == other.color + + >> a = Car('model_1', 'red') + >> b = Car('model_2', 'green') + >> c = Car('model_1', 'red') + >> a == b + False + >> a == c + True + ``` + ++ Explain Context Manager + + + - Context managers allow you to allocate and release resources precisely when you want to. + - Context managers are used to wrap a block of code and ensure that it is properly cleaned up. + - It consists of two parts: + - A __enter__ method, which is called when the context is entered. + - A __exit__ method, which is called when the context is exited. + + Example: + ``` + class MyContextManager: + def __enter__(self): + print("Entering") + return self + + def __exit__(self, exc_type, exc_val, exc_tb): + print("Exiting") + ``` + ++ Tell me everything you know about concurrency in Python + + + In Python, there are two main concurrency models: + - Threads + - Processes + + Threads are lightweight and fast where as processes are heavier and slower. + + Threads are used to execute a piece of code in parallel. + Processes are used to execute a piece of code in parallel and are more powerful than threads. + + ++ Explain the Buffer Protocol + + + - The buffer protocol is a set of rules that must be followed by a class that implements the buffer protocol. + - The buffer protocol defines the methods that a buffer must implement. + - The buffer protocol is used to access the contents of a buffer as a sequence of bytes. + - The buffer protocol is used to modify the contents of a buffer as a sequence of bytes. + - The buffer protocol is used to create a view of a buffer. + + Example: + ``` + class MyBuffer: + def __init__(self, data): + self.data = data + + def __len__(self): + return len(self.data) + + def __getitem__(self, i): + return self.data[i] + + def __setitem__(self, i, value): + self.data[i] = value + + def __delitem__(self, i): + del self.data[i] + + def __iter__(self): + return iter(self.data) + + def __repr__(self): + return repr(self.data) + + def __str__(self): + return str(self.data) + + def __contains__(self, item): + return item in self.data + + def __add__(self, other): + return self.data + other + + def __iadd__(self, other): + self.data += other + return self + + def __mul__(self, other): + return self.data * other + + def __imul__(self, other): + self.data *= other + return self + + def __rmul__(self, other): + return self.data * other + + >> a = MyBuffer(b'Hello') + >> len(a) + 5 + >> a[0] + 72 + >> a[0] = b'H' + >> a + b'Hello' + >> del a[0] + >> a + b'ello' + >> a + b' World' + b'Hello World' + + ++ Do you have experience with web scraping? Can you describe what have you used and for what? + + + Yes, I have used web scraping for scraping data from websites. + + BeautifulSoup is a Python library that can be used to parse HTML and XML documents. Requests is a Python library that can be used to make HTTP requests. + + Example: + ``` + import requests + import bs4 + + url = 'https://www.python.org/' + response = requests.get(url) + html = response.text + soup = bs4.BeautifulSoup(html, 'html.parser') + print(soup.title) + print(soup.title.text) + + >> <title>The Python Programming Language + >> The Python Programming Language + + ``` + + ++ Can you implement Linux's ```tail``` command in Python? Bonus: implement ```head``` as well + + + ``` + import os + import sys + + def tail(f, n): + with open(f) as f: + f.seek(0, 2) + lines = f.readlines() + return lines[-n:] + + def head(f, n): + with open(f) as f: + f.seek(0) + lines = f.readlines() + return lines[:n] + + if __name__ == '__main__': + if len(sys.argv) != 3: + print('Usage: tail.py ') + sys.exit(1) + f = sys.argv[1] + n = int(sys.argv[2]) + print(tail(f, n)) + ``` + ++ You have created a web page where a user can upload a document. But the function which reads the uploaded files, runs for a long time, based on the document size and user has to wait for the read operation to complete before he/she can continue using the web site. How can you overcome this? + + + - Use multiprocessing.Process to run the function in a separate process. + - Otherwise, use threading.Thread to run the function in a separate thread. + - We can also use the context manager with the multiprocessing.Pool to run the function in a separate process. + ++ How yield works exactly? + + + Yield works by returning a generator object where the execution of the function is paused and resumed at a later time. \ No newline at end of file diff --git a/programming/assessment.md b/programming/assessment.md deleted file mode 100644 index 5580904..0000000 --- a/programming/assessment.md +++ /dev/null @@ -1,68 +0,0 @@ -# Self Assessment - > “The secret to getting ahead is getting started.” - Mark Twain - -+ Must Read + - - Read the Assessment *[or]* Try to Answer the Questions without Opening the Accordion. -+ What are some characteristics of the Python programming language? + - - - General Purpose Programming Language - - Interpreted - - Strongly Typed (i.e. type checking and type inference is enabled) - - High Readability - - Lot of libraries - - Everything is object oriented - -+ What built-in types Python has? + - - - Text Type: str - - Numeric Types: int, float, complex - - Sequence Types: list, tuple, range - - Mapping Type: dict - - Set Types: set, frozenset - - Boolean Type: bool - - Binary Types: bytes, bytearray, memoryview - -+ What are the Mutable and Immutable Datatypes? + - - 1. Mutable: List, Dictionary, Set - 2. Immutable: String, Integer, Float, Boolean, None - -+ What is Mutability? + - - - Mutability refers to the ability to change/modify the value of an object. - - Mutable objects can be changed. - - Immutable objects cannot be changed. - - -#### **Program** - -``` -1 > 2 -'b' > 'a' -1 == 'one' -2 > 'one' -``` - -#### **Output** -``` -False - One is not greater than two -True - Since 'b' is greater than 'a' in ASCII -False - 1 is a integer and 'one' is a string, since == checks for equality it does not throw an error -TypeError - Since 2 is a integer and 'one' is a string, since > checks for greater than it does not throw an error -``` - - -+ What is the result of `bool("")` and `bool(" ")` ? Explain + - - - `bool("")` is False - - `bool(" ")` is True - -+ Give Output: `[] is not []` + - - - `[] is not []` is True
- `[]` is not `[]` because `[]` is not the same object as `[]` - -+ What is the result of running `True-True` ? + - - - `True-True` is `0` \ No newline at end of file