Python Data Science Jobs & Interviews
19.4K subscribers
183 photos
3 videos
24 files
285 links
Your go-to hub for Python and Data Science—featuring questions, answers, quizzes, and interview tips to sharpen your skills and boost your career in the data-driven world.

Admin: @Hussein_Sheikho
Download Telegram
1. What is Python?
Python is a high-level, interpreted programming language known for its readability and versatility. It supports multiple programming paradigms and has a large standard library.

2. What are the key features of Python?
Key features include simplicity, readability, dynamic typing, automatic memory management (garbage collection), and extensive library support.

3. What is the difference between list and tuple?
Lists are mutable (can be modified), while tuples are immutable (cannot be modified after creation). Lists use square brackets [], and tuples use parentheses ().

4. What is PEP 8?
PEP 8 is Python’s official style guide that provides conventions for writing readable code, such as indentation, naming conventions, and line length.

5. How is memory managed in Python?
Python uses automatic memory management with a private heap and a garbage collector to recycle unused memory.

6. What are Python decorators?
Decorators are functions that modify the behavior of another function without permanently changing it. They are denoted by the @ symbol.

7. Explain the difference between `==` and `is`.
== checks for value equality, while is checks if two variables refer to the same object in memory (identity).

8. What is a lambda function?
A lambda function is a small, anonymous function defined with the lambda keyword. It can take any number of arguments but has only one expression.

9. How do you handle exceptions in Python?
Exceptions are handled using try, except, else, and finally blocks to catch and manage errors.

10. What is a virtual environment?
A virtual environment is an isolated Python environment that allows you to manage dependencies for different projects separately.

11. What is the difference between `append()` and `extend()`?
append() adds a single element to the end of a list, while extend() adds multiple elements (from an iterable) to the list.

12. What is a generator?
A generator is a function that returns an iterator using the yield keyword. It generates values on the fly and is memory efficient.

13. What is the Global Interpreter Lock (GIL)?
The GIL is a mutex that allows only one thread to execute Python bytecode at a time in CPython, limiting multi-threading performance for CPU-bound tasks.

14. How do you copy an object in Python?
Use the copy module: copy.copy() for a shallow copy and copy.deepcopy() for a deep copy.

15. What are `*args` and `**kwargs`?
*args allows a function to accept any number of positional arguments, while **kwargs allows any number of keyword arguments.

**16. What is the difference between a module and a package?**
A module is a single Python file, while a package is a directory containing multiple modules and an __init__.py file.

17. How do you reverse a list?
Use the reverse() method for in-place reversal, or the slicing syntax list[::-1] to create a reversed copy.

18. What is method overloading?
Python does not support method overloading in the traditional sense. Instead, you can use default arguments or variable-length arguments.

19. What is the use of `__init__`?
__init__ is a constructor method in Python classes that is automatically called when a new object is created.

20. How do you iterate over a dictionary?
You can iterate over keys, values, or key-value pairs using methods like keys(), values(), or items().


By: t.iss.one/DataScienceQ 🚀
21. What is the difference between a shallow copy and a deep copy?
A shallow copy creates a new object but references the same nested objects. A deep copy creates a new object and recursively copies all nested objects.

22. What are Python's built-in data types?
Common built-in types include int, float, str, list, tuple, dict, set, bool, and NoneType.

23. How do you open and read a file in Python?
Use the open() function with modes like 'r' for reading. Example: with open('file.txt', 'r') as f: content = f.read().

24. What is the purpose of `if __name__ == "__main__":`?
It checks if the script is being run directly (not imported) and allows code to execute only when the script is the main program.

25. What is a list comprehension?
A concise way to create lists. Example: [x**2 for x in range(10)] creates a list of squares.

26. What is a dictionary comprehension?
A concise way to create dictionaries. Example: {x: x**2 for x in range(5)} creates a dictionary of numbers and their squares.

27. How do you remove duplicates from a list?
Convert the list to a set and back to a list: list(set(original_list)).

28. What is the `self` keyword in a class?
self refers to the instance of the class and is used to access variables and methods associated with that instance.

29. What is the difference between `@staticmethod` and `@classmethod`?
A @staticmethod doesn't access the instance or class, while a @classmethod takes the class (cls) as its first argument.

30. What is the `zip()` function used for?
zip() combines multiple iterables into a single iterable of tuples. Example: list(zip([1, 2], ['a', 'b'])) gives [(1, 'a'), (2, 'b')].

31. How do you sort a dictionary by value?
Use sorted(dict.items(), key=lambda x: x[1]) to get a sorted list of key-value pairs by value.

32. What is the `enumerate()` function?
It adds a counter to an iterable and returns it as an enumerate object. Example: list(enumerate(['a', 'b'])) gives [(0, 'a'), (1, 'b')].

33. What is the difference between `remove()`, `pop()`, and `del`?
remove() deletes the first matching value, pop() removes an item by index and returns it, and del removes an item by index or slices.

34. How do you concatenate two lists?
Use the + operator: list1 + list2, or the extend() method: list1.extend(list2).

35. What is the `pass` statement?
pass is a null operation used as a placeholder where syntax requires a statement but no action is needed.

36. What is the `any()` and `all()` functions?
any() returns True if any element in an iterable is true. all() returns True if all elements are true.

37. How do you handle missing keys in a dictionary?
Use the get() method to return a default value if the key is missing, or use defaultdict from the collections module.

38. What is the `super()` function?
super() is used to call a method from a parent class, often in inheritance scenarios.

39. What is the difference between `break` and `continue`?
break exits the nearest loop, while continue skips the rest of the current iteration and moves to the next one.

40. How do you convert a string to an integer?
Use the int() function. Example: int("123") returns the integer 123.


By: t.iss.one/DataScienceQ 🚀
2
41. What is the difference between `range()` and `xrange()`?
In Python 2, range() returns a list, while xrange() returns a generator. In Python 3, range() behaves like xrange().

42. What is the `with` statement used for?
The with statement is used for resource management, ensuring that resources (like files) are properly cleaned up after use.

43. What is the `map()` function?
map() applies a given function to all items in an input iterable and returns an iterator. Example: list(map(lambda x: x*2, [1,2,3])) gives [2,4,6].

44. What is the `filter()` function?
filter() constructs an iterator from elements of an iterable for which a function returns true. Example: list(filter(lambda x: x>2, [1,2,3,4])) gives [3,4].

45. What is the `reduce()` function?
reduce() (from the functools module) applies a function cumulatively to the items of a sequence. Example: reduce(lambda x,y: x+y, [1,2,3]) gives 6.

46. How do you swap two variables?
Use tuple unpacking: a, b = b, a.

47. What is a namespace in Python?
A namespace is a system that ensures names in a program are unique and can be used without conflict. Examples: local, global, and built-in namespaces.

48. What is the purpose of the `__init__.py` file?
It indicates that a directory is a Python package. It can also be used to initialize package-level code.

49. How do you create a package in Python?
Create a directory with an __init__.py file and place modules inside it.

50. What is the difference between `/` and `//` operators?
/ performs true division (returns a float), while // performs floor division (returns an integer).

51. What is the `assert` statement?
assert is used for debugging. It tests a condition and triggers an error if the condition is false.

52. How do you merge two dictionaries?
In Python 3.5+: Use {**dict1, **dict2}. Alternatively, use dict1.update(dict2).

**53. What is the __slots__ attribute?**
__slots__ is used in classes to explicitly declare data members, reducing memory overhead and preventing the creation of __dict__.

54. What is the `@property` decorator?
It allows a method to be accessed like an attribute, enabling getter, setter, and deleter functionality.

55. How do you count the occurrences of an item in a list?
Use the count() method: list.count(item).

56. What is the difference between `str()` and `repr()`?
str() returns a user-friendly string representation, while repr() returns a developer-friendly string that can often be used to recreate the object.

57. How do you create a singleton class?
Override the __new__ method to ensure only one instance is created.

58. What is the `collections` module?
It provides specialized container datatypes like deque, defaultdict, Counter, and OrderedDict.

59. What is the `itertools` module?
It provides functions for creating iterators for efficient looping, such as product, permutations, and combinations.

60. How do you handle JSON in Python?
Use the json module: json.loads() to parse a JSON string, and json.dumps() to convert a Python object to a JSON string.


By: t.iss.one/DataScienceQ 🚀
2
61. What is the difference between a function and a method?
A function is a block of code defined outside a class, while a method is defined within a class and operates on an instance of that class.

62. What is the `globals()` and `locals()` functions?
globals() returns a dictionary of the current global symbol table, and locals() returns a dictionary of the current local symbol table.

63. How do you make a Python script executable on Unix?
Add the shebang line #!/usr/bin/env python3 at the top and give the file execute permission using chmod +x script.py.

64. What is the `sys.path` list?
It is a list of strings that specifies the search path for modules. Python looks in these directories when importing a module.

65. What is the `dir()` function used for?
It returns a list of valid attributes and methods of an object, or names in the current local scope if no argument is given.

66. What is the purpose of the `__call__` method?
It allows an instance of a class to be called as a function.

67. How do you profile a Python script?
Use the cProfile module: python -m cProfile script.py.

68. What is the `pickle` module used for?
It is used for serializing and de-serializing Python object structures (converting objects to a byte stream and back).

69. What is the difference between `__getattr__` and `__getattribute__`?
__getattribute__ is called for every attribute access, while __getattr__ is only called if the attribute is not found via normal lookup.

70. How do you create an abstract class?
Use the abc module and inherit from ABC. Use the @abstractmethod decorator to define abstract methods.

71. What is the `asyncio` module?
It is a library to write concurrent code using the async/await syntax for asynchronous programming.

72. What is the `type()` function used for?
It returns the type of an object or creates a new type (class) when called with three arguments.

73. How do you implement a thread in Python?
Use the threading module. Create a Thread object and target a function, then call start().

74. What is the `Queue` module used for?
It provides a thread-safe FIFO implementation for safe communication between threads.

75. What is the difference between `multiprocessing` and `threading`?
multiprocessing uses separate memory spaces (processes) to avoid the GIL, while threading uses threads within the same process and is affected by the GIL.

76. How do you create a read-only class attribute?
Use a property with only a getter method, or define it in the class without a setter.

77. What is the `functools.wraps` decorator used for?
It is used in decorators to preserve the original function's metadata (name, docstring, etc.).

78. What is the `__dict__` attribute?
It is a dictionary containing the object's writable attributes.

79. How do you make an object iterable?
Implement the __iter__() method which returns an iterator object, and the iterator must implement __next__().

80. What is the `__new__` method?
It is responsible for creating and returning a new instance of a class. It is called before __init__.


By: t.iss.one/DataScienceQ 🚀
81. What is monkey patching?
Monkey patching is dynamically modifying a class or module at runtime.

82. What is the purpose of the `__init__.py` file in a package?
It makes a directory a Python package and can execute initialization code for the package.

83. How do you find the methods and attributes of an object?
Use the dir() function: dir(object).

84. What is the `hasattr()` function used for?
It checks if an object has a specified attribute: hasattr(obj, 'attribute').

85. What is the `setattr()` function used for?
It sets the value of a specified attribute of an object: setattr(obj, 'attribute', value).

86. How do you delete an attribute from an object?
Use the delattr() function: delattr(obj, 'attribute').

87. What is the `__doc__` attribute?
It contains the docstring of a module, class, method, or function.

88. How do you make a private method in a class?
Prefix the method name with two underscores: __private_method. This triggers name mangling.

89. What is name mangling?
Name mangling is a mechanism where Python changes the name of a class member with a double underscore prefix to _Classname__member to avoid naming conflicts in subclasses.

90. What is the `__str__` method?
It returns a human-readable string representation of an object, used by the str() function and print().

91. What is the `__repr__` method?
It returns an unambiguous string representation of an object, ideally usable to recreate the object, used by the repr() function.

92. How do you create an immutable class?
Override __setattr__ and __delattr__ to prevent modifications, or use __slots__ and avoid providing setters.

93. What is the `__subclasses__()` method?
It returns a list of immediate subclasses of a class.

94. What is the `__bases__` attribute?
It contains a tuple of the base classes from which a class inherits.

95. How do you check if a class is a subclass of another?
Use the issubclass() function: issubclass(ChildClass, ParentClass).

96. How do you check if an object is an instance of a class?
Use the isinstance() function: isinstance(obj, Class).

97. What is the `__import__()` function?
It is a function called by the import statement to import a module.

98. How do you reload a module?
Use importlib.reload(module) in Python 3.

99. What is the `__file__` attribute of a module?
It contains the path to the file from which the module was loaded.

100. What is the `__name__` attribute of a module?
It contains the name of the module. If the module is run as the main program, its __name__ is set to '__main__'.


By: t.iss.one/DataScienceQ 🚀
1
Professional Summary: File Handling in Python

Python provides built-in functions for seamless file operations. The core function is open(), which returns a file object.

Key Modes:
* 'r': Read (default)
* 'w': Write (overwrites existing file)
* 'a': Append
* 'x': Exclusive creation (fails if file exists)
* 'b': Binary mode (e.g., 'rb' or 'wb')
* 't': Text mode (default)
* '+': Updating (reading and writing, e.g., 'r+')

Best Practice: Use Context Manager
The with statement automatically handles file closing, even if an error occurs.
with open('filename.txt', 'r') as file:
data = file.read()


Essential Methods:
* Reading:
* .read(): Reads the entire file content.
* .readline(): Reads a single line.
* .readlines(): Returns a list of all lines.
* Writing:
* .write(string): Writes a string to the file.
* .writelines(list): Writes a list of strings to the file.
* Positioning:
* .seek(offset): Changes the file pointer's position.
* .tell(): Returns the current file pointer's position.

Handling Different Data:
* Text Files: Use default text mode.
* Structured Data (CSV/JSON): Use specialized modules (csv, json).
* Binary Files (Images): Use binary mode ('rb', 'wb').


By: t.iss.one/DataScienceQ 🚀
1
Professional Summary: File Handling in Python (Part 2 - Examples)

1. Reading an Entire File:
with open('data.txt', 'r') as f:
content = f.read()
print(content)


2. Reading Line by Line:
with open('data.txt', 'r') as f:
for line in f:
print(line.strip()) # strip() removes newline characters


3. Writing to a File (Overwrites):
with open('output.txt', 'w') as f:
f.write('Hello, World!\n')
f.write('This is a new line.')


4. Appending to a File:
with open('log.txt', 'a') as f:
f.write('New log entry\n')


5. Reading and Writing with `r+` mode:
with open('data.txt', 'r+') as f:
content = f.read()
f.seek(0) # Move pointer to beginning
f.write('New content at start\n' + content)


6. Handling JSON Files:
import json
# Writing JSON
data = {"name": "Alice", "age": 30}
with open('data.json', 'w') as f:
json.dump(data, f)

# Reading JSON
with open('data.json', 'r') as f:
loaded_data = json.load(f)
print(loaded_data['name']) # Output: Alice


7. Handling CSV Files:
import csv
# Writing CSV
with open('data.csv', 'w', newline='') as f:
writer = csv.writer(f)
writer.writerow(['Name', 'Age'])
writer.writerow(['Bob', 25])

# Reading CSV
with open('data.csv', 'r') as f:
reader = csv.reader(f)
for row in reader:
print(row) # Output: ['Name', 'Age'], then ['Bob', '25']



By: t.iss.one/DataScienceQ 🚀
1
30-Day Intensive Python Roadmap (4 Hours/Day)

Week 1: Core Fundamentals (Days 1-7)
* Day 1-2 (8h): Basic Syntax, Variables, Data Types, Operators.
* Day 3-4 (8h): Data Structures (Lists, Tuples, Sets, Dictionaries).
* Day 5 (4h): Control Flow (If, For, While loops).
* Day 6 (4h): Functions (def, lambda, *args, **kwargs).
* **Day 7 (4h):** Practice & Mini-Project (CLI Calculator, To-Do List).
* Checkpoint: You can solve basic algorithmic problems and build simple scripts.

Week 2: Intermediate Concepts (Days 8-14)
* Day 8-9 (8h): File I/O (Reading/Writing files, with statement).
* Day 10 (4h): Error Handling (Try/Except/Else/Finally).
* Day 11-12 (8h): Object-Oriented Programming (Classes, Objects, Inheritance).
* Day 13 (4h): Modules and Packages (import, pip, Virtual Environments).
* Day 14 (4h): Practice & Mini-Project (File Sorter, Basic OOP program).
* Checkpoint: You can structure code using OOP and handle external data files.

Week 3: Advanced Topics & Specialization (Days 15-23)
* Day 15 (4h): Decorators and Generators.
* Day 16 (4h): Iterators, __iter__, __next__.
* Day 17-18 (8h): Choose one:
* Web: Flask/Django basics (Routes, Templates).
* Data: NumPy & Pandas basics.
* Automation: Working with OS module, APIs (requests library).
* Day 19-20 (8h): Dive deeper into your chosen specialization.
* Day 21 (4h): Testing (Introduction to unittest or pytest).
* Day 22-23 (8h): Work on a larger project in your chosen track.
* Checkpoint: You can build a functional application in your chosen domain.

Week 4: Polishing & Deployment (Days 24-30)
* Day 24 (4h): Version Control with Git (Basics: add, commit, push).
* Day 25 (4h): Code Readability (PEP 8, writing clean code).
* Day 26-28 (12h): Final Project. Build something that uses all your skills.
* Day 29 (4h): Debugging techniques and logging.
* Day 30 (4h): Deploy your project (e.g., on GitHub, Heroku, PythonAnywhere).
* Final Checkpoint: You have a complete portfolio project and are ready for entry-level tasks.


By: t.iss.one/DataScienceQ 🚀
🔥31
🔥 Trending Repository: tech-interview-handbook

📝 Description: 💯 Curated coding interview preparation materials for busy software engineers

🔗 Repository URL: https://github.com/yangshun/tech-interview-handbook

🌐 Website: https://www.techinterviewhandbook.org

📖 Readme: https://github.com/yangshun/tech-interview-handbook#readme

📊 Statistics:
🌟 Stars: 130K stars
👀 Watchers: 2.2k
🍴 Forks: 15.8K forks

💻 Programming Languages: TypeScript - JavaScript - Python

🏷️ Related Topics:
#algorithm #algorithms #interview_practice #interview_questions #coding_interviews #interview_preparation #system_design #algorithm_interview #behavioral_interviews #algorithm_interview_questions


==================================
🧠 By: https://t.iss.one/DataScienceM
1
Advanced Python Test

1. What is the output of the following code?
def func(x, l=[]):
for i in range(x):
l.append(i * i)
return l

print(func(2))
print(func(3, []))
print(func(3))

A) [0, 1] [0, 1, 4] [0, 1, 4]
B) [0, 1] [0, 1, 4] [0, 1, 4, 0, 1, 4]
C) [0, 1] [0, 1, 4] [0, 1, 4, 0, 1, 4, 0, 1, 4]
D) [0, 1] [0, 1, 4] [0, 1, 4, 0, 1, 4, 0, 1, 4, 0, 1, 4]

2. Which statement about metaclasses in Python is TRUE?
A) A metaclass is used to create class instances
B) The __call__ method of a metaclass controls instance creation
C) All classes must explicitly specify a metaclass
D) Metaclasses cannot inherit from other metaclasses

3. What does this decorator do?
from functools import wraps

def debug(func):
@wraps(func)
def wrapper(*args, **kwargs):
print(f"Calling {func.__name__}")
return func(*args, **kwargs)
return wrapper

A) Measures function execution time
B) Logs function calls with arguments
C) Prints the function name when called
D) Prevents function execution in debug mode

4. What is the purpose of context managers?
A) To manage class inheritance hierarchies
B) To handle resource allocation and cleanup
C) To create thread-safe operations
D) To optimize memory usage in loops

#Python #AdvancedPython #CodingTest #ProgrammingQuiz #PythonDeveloper #CodeChallenge


By: t.iss.one/DataScienceQ 🚀
3
Here are links to the most important free Python courses with a brief description of their value.


1. Coursera: Python for Everybody
Link: https://www.coursera.org/specializations/python
Importance: A perfect starting point for absolute beginners. Covers Python fundamentals and basic data structures, leading to web scraping and database access.

2. freeCodeCamp: Scientific Computing with Python
Link: https://www.freecodecamp.org/learn/scientific-computing-with-python/
Importance: Project-based certification. You build applications like a budget app or a time calculator, reinforcing learning through practical, portfolio-worthy projects.

3. Harvard's CS50P: CS50's Introduction to Programming with Python
Link: https://cs50.harvard.edu/python/2022/
Importance: A rigorous university-level course. Teaches core concepts and problem-solving skills with exceptional depth and clarity, preparing you for complex programming challenges.

4. Real Python Tutorials
Link: https://realpython.com/
Importance: An extensive resource for all levels. Offers in-depth articles, tutorials, and code examples on nearly every Python topic, from basics to advanced specialized libraries.

5. W3Schools Python Tutorial
Link: https://www.w3schools.com/python/
Importance: Excellent for quick reference and interactive learning. Allows you to read a concept and test code directly in the browser, ideal for fast learning and checking syntax.

6. Google's Python Class
Link: https://developers.google.com/edu/python
Importance: A concise, fast-paced course for those with some programming experience. Includes lecture videos and well-designed exercises to quickly get up to speed.

#Python #LearnPython #PythonProgramming #Coding #FreeCourses #PythonForBeginners #Developer #Programming


By: t.iss.one/DataScienceQ 🚀
2
💸 UNLEASH YOUR INCOME! Remote work from USD 2,500+ (≈ SAR 9,375+), no experience.
400+ job vacancies. Age: 20+.
Don’t wait — click now!

#ad InsideAds
🔥 STOP WAITING! Earn USD 2,500+ remotely.
400+ top vacancies. Zero experience. Age: 20+.
Your freedom awaits. Act now!

#ad InsideAds
💸 UNLEASH YOUR INCOME! Remote work from USD 2,500+ (≈ SAR 9,375+), no experience.
400+ job vacancies. Age: 20+.
Don’t wait — click now!

#ad InsideAds
🔥 STOP WAITING! Earn USD 2,500+ remotely.
400+ top vacancies. Zero experience. Age: 20+.
Your freedom awaits. Act now!

#ad InsideAds