PyData Careers
20.8K subscribers
206 photos
4 videos
26 files
352 links
Python Data Science jobs, interview tips, and career insights for aspiring professionals.

Admin: @HusseinSheikho || @Hussein_Sheikho
Download Telegram
⛓️ Tricky Python Interview Question

> What will this code output and why?

funcs = []
for i in range(3):
funcs.append(lambda: print(i))

for f in funcs:
f()


❓ Question: Why does this code print 2, 2, 2 instead of 0, 1, 2?

πŸ” Explanation:

This is a classic example of late binding in Python closures. The lambda functions don't capture the value of i at each step of the loop. Instead, they all hold a reference to the same variable i.

🧠 What happens:

β€’ The for loop completes. By the end of the loop, the variable i holds the value 2.
β€’ The funcs list contains three functions, but each one is defined to print the value of whatever i is at the time of execution.
β€’ When you call each function f(), it looks up the current value of i in its enclosing scope, which is 2.

πŸ‘‰ Result:

2
2
2

βœ… How to fix:

You can force the lambda to capture the value of i at the time of definition by using a default argument.

funcs = []
for i in range(3):
# The default argument captures i's value at definition time
funcs.append(lambda num=i: print(num))

for f in funcs:
f()

This trick works because default arguments are evaluated when the function is defined, not when it's called. This will correctly print:

0
1
2

This is a common interview question that tests your understanding of closures, scope, and late binding in Python.

━━━━━━━━━━━━━━━
By: @DataScienceQ ✨
❀5
❔ Interview question

How does Django handle an HTTP request?

Answer: When Django receives an HTTP request, it goes through several stages. First, the request enters the routing system (URLconf), where the appropriate view is selected by the address. Then a function or class-based view is called, which executes the logic: it may access models, prepare data, and select the appropriate template.

After that, the template forms an HTML response based on the provided data, and Django sends it back to the client.

This is how Django organizes work following the MVT pattern: URL β†’ view β†’ logic and data β†’ template β†’ HTTP response.


tags: #interview

➑ @DataScienceQ
Please open Telegram to view this post
VIEW IN TELEGRAM
❀2
❔ Interview Question

How does the module import mechanism work in Python and what is sys.path?

Answer: When importing a module, Python searches for it in the directories listed in sys.path. This list includes the current directory, standard Python installation paths, and manually added paths. If the module is not found, a ModuleNotFoundError is raised.

tags: #interview

➑️ @DataScienceQ
Please open Telegram to view this post
VIEW IN TELEGRAM
❀3
PyData Careers
πŸ’Έ PacketSDK--A New Way To Make Revenue From Your Apps Regardless of whether your app is on desktop, mobile, TV, or Unity platforms, no matter which app monetization tools you’re using, PacketSDK can bring you additional revenue! ● Working Principle: Convert…
I want to share a tool that I genuinely believe can make a real difference for anyone building apps: PacketSDK. Many developers have strong active-user bases but still struggle to increase revenue. That’s exactly why this solution stands outβ€”it adds extra income without disrupting users or interfering with your existing monetization methods.

Why I strongly recommend it:

* It turns your active users into immediate profit without showing ads.
* Integration is fast and straightforwardβ€”around 30 minutes.
* It works on all platforms: mobile, desktop, TV, Unity, and more.

As a channel owner, I recommend trying this service; you have nothing to lose.

I used it and found its earnings amazing.
❀2
Interview question

What will this code output and why?


a = [1, 2, 3]
b = a

a += [4, 5]

print(a)
print(b)

a = (1, 2, 3)
b = a

a += (4, 5)

print(a)
print(b)


Try to answer yourself first, then check the explanation.


Part 1. Lists
a = [1, 2, 3]
b = a

a += [4, 5]

print(a)
print(b)


Step-by-step:

a = [1, 2, 3]


Variable a refers to the list [1, 2, 3].

b = a
Now b refers to the same list as a.
Not a copy, but the very same object in memory.

a += [4, 5]
Important: for lists, += works as an in-place modification:
this is roughly the same as:

a.extend([4, 5])


That is, elements 4 and 5 are added to the existing list that both a and b refer to.

Therefore:

print(a)  # [1, 2, 3, 4, 5]
print(b)  # [1, 2, 3, 4, 5]


Both point to the same modified list.

Part 2. Tuples
a = (1, 2, 3)
b = a

a += (4, 5)

print(a)
print(b)


Tuples are immutable, and here the magic begins.

a = (1, 2, 3)
a refers to the tuple (1, 2, 3).

b = a
b refers to the same tuple (1, 2, 3).

a += (4, 5)
For tuples, += cannot modify the object in place (they are immutable).
So Python does this:

a = a + (4, 5)


That is, a new tuple (1, 2, 3, 4, 5) is created and variable a is reassigned to it.

b still points to the old tuple (1, 2, 3).

Therefore:

print(a)  # (1, 2, 3, 4, 5)
print(b)  # (1, 2, 3)

The trick

For the list, a += [4, 5] mutates the object in place, visible through all variables referencing it.

For the tuple, a += (4, 5) creates a new object and reassigns only a.

In summary:


# List part:
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]

# Tuple part:
(1, 2, 3, 4, 5)
(1, 2, 3)


If you want, I can explain another tricky question β€” about mutable default arguments in functions or about loops and closures.

https://t.iss.one/DataScienceQ
❀7
πŸͺ™ +30.560$ with 300$ in a month of trading! We can teach you how to earn! FREE!

It was a challenge - a marathon 300$ to 30.000$ on trading, together with Lisa!

What is the essence of earning?: "Analyze and open a deal on the exchange, knowing where the currency rate will go. Lisa trades every day and posts signals on her channel for free."

πŸ”ΉStart: $150
πŸ”Ή Goal: $20,000
πŸ”ΉPeriod: 1.5 months.

Join and get started, there will be no second chanceπŸ‘‡

https://t.iss.one/+L9_l-dxOJxI2ZGUy
https://t.iss.one/+L9_l-dxOJxI2ZGUy
https://t.iss.one/+L9_l-dxOJxI2ZGUy
❀4
Reply Correct Answer πŸ‘‡

https://t.iss.one/DataScienceQ
Please open Telegram to view this post
VIEW IN TELEGRAM
❀3πŸ‘2πŸ”₯1
❔ Interview Question

What are optimistic and pessimistic locking in the context of databases?

Answer: These are two approaches to managing concurrent data access.

Pessimistic locking assumes conflicts are likely. Therefore, data is locked immediately upon reading or writing and remains locked until the end of the transaction. This prevents concurrent modifications but reduces scalability and can lead to deadlocks.

Optimistic locking assumes conflicts are rare. Data is read without locking, and before committing changes, a version check is performed to see if someone else has modified the data. If so, the transaction is rolled back and retried. This approach offers better performance under low contention.


tags: #interview

➑ @DataScienceQ
Please open Telegram to view this post
VIEW IN TELEGRAM
❀3
❔ Interview question

What is ORM and what is SQLAlchemy used for?

Answer: ORM (Object-Relational Mapping) allows interacting with the database through Python classes and objects instead of writing SQL queries manually.

With SQLAlchemy, you can describe tables as classes, rows as objects, and perform SELECT, INSERT, UPDATE, DELETE operations through Python methods.

This simplifies working with databases, makes the code more readable, reduces the risk of SQL injections, and facilitates maintenance and migrations.


tags: #interview

➑ @DataScienceQ
Please open Telegram to view this post
VIEW IN TELEGRAM
❀5
❔ Interview Question

What is the difference between pass, continue, and break?

Answer:

▢️ pass β€” this is a no-op, which does nothing. It is used as a placeholder when syntax requires the presence of code (for example, inside a function, class, or condition), but the logic is not yet implemented

▢️ continue β€” terminates the current iteration of the loop and moves to the next, skipping the remaining code in the loop body

▢️ break β€” completely terminates the execution of the loop, exiting it prematurely, regardless of the condition

tags: #interview

➑ @DataScienceQ
Please open Telegram to view this post
VIEW IN TELEGRAM
❀7πŸ‘1
πŸš€ Master Data Science & Programming!

Unlock your potential with this curated list of Telegram channels. Whether you need books, datasets, interview prep, or project ideas, we have the perfect resource for you. Join the community today!


πŸ”° Machine Learning with Python
Learn Machine Learning with hands-on Python tutorials, real-world code examples, and clear explanations for researchers and developers.
https://t.iss.one/CodeProgrammer

πŸ”– Machine Learning
Machine learning insights, practical tutorials, and clear explanations for beginners and aspiring data scientists. Follow the channel for models, algorithms, coding guides, and real-world ML applications.
https://t.iss.one/DataScienceM

🧠 Code With Python
This channel delivers clear, practical content for developers, covering Python, Django, Data Structures, Algorithms, and DSA – perfect for learning, coding, and mastering key programming skills.
https://t.iss.one/DataScience4

🎯 PyData Careers | Quiz
Python Data Science jobs, interview tips, and career insights for aspiring professionals.
https://t.iss.one/DataScienceQ

πŸ’Ύ Kaggle Data Hub
Your go-to hub for Kaggle datasets – explore, analyze, and leverage data for Machine Learning and Data Science projects.
https://t.iss.one/datasets1

πŸ§‘β€πŸŽ“ Udemy Coupons | Courses
The first channel in Telegram that offers free Udemy coupons
https://t.iss.one/DataScienceC

πŸ˜€ ML Research Hub
Advancing research in Machine Learning – practical insights, tools, and techniques for researchers.
https://t.iss.one/DataScienceT

πŸ’¬ Data Science Chat
An active community group for discussing data challenges and networking with peers.
https://t.iss.one/DataScience9

🐍 Python Arab| Ψ¨Ψ§ΩŠΨ«ΩˆΩ† عربي
The largest Arabic-speaking group for Python developers to share knowledge and help.
https://t.iss.one/PythonArab

πŸ–Š Data Science Jupyter Notebooks
Explore the world of Data Science through Jupyter Notebooksβ€”insights, tutorials, and tools to boost your data journey. Code, analyze, and visualize smarter with every post.
https://t.iss.one/DataScienceN

πŸ“Ί Free Online Courses | Videos
Free online courses covering data science, machine learning, analytics, programming, and essential skills for learners.
https://t.iss.one/DataScienceV

πŸ“ˆ Data Analytics
Dive into the world of Data Analytics – uncover insights, explore trends, and master data-driven decision making.
https://t.iss.one/DataAnalyticsX

🎧 Learn Python Hub
Master Python with step-by-step courses – from basics to advanced projects and practical applications.
https://t.iss.one/Python53

⭐️ Research Papers
Professional Academic Writing & Simulation Services
https://t.iss.one/DataScienceY

━━━━━━━━━━━━━━━━━━
Admin: @HusseinSheikho
Please open Telegram to view this post
VIEW IN TELEGRAM
❀7
❔ Interview Question

How does the map() function work?

Answer:map() takes a function and an iterable object, and returns an iterator that sequentially yields the result of applying this function to each element. The map() itself does not create a list β€” it lazily forms values on demand. If a list is needed, the result can be wrapped in list().

tags:#interview

➑ @DataScienceQ
Please open Telegram to view this post
VIEW IN TELEGRAM
❀5
πŸš€ Pass Your IT Exam in 2025β€”β€”Free Practice Tests & Premium Materials

SPOTO offers free, instant access to high-quality, up-to-date resources that help you study smarter and pass faster
βœ”οΈ Python, CCNA, CCNP, AWS, PMP, CISSP, Azure, & more
βœ”οΈ 100% Free, no sign-up, Instantly downloadable

πŸ“₯Grab your free materials here:
Β·IT exams skill Test : https://bit.ly/443t4xB
Β·IT Certs E-book : https://bit.ly/4izDv1D
Β·Python, Excel, Cyber Security Courses : https://bit.ly/44LidZf

πŸ“± Join Our IT Study Group for insider tips & expert support:
https://chat.whatsapp.com/K3n7OYEXgT1CHGylN6fM5a
πŸ’¬ Need help ? Chat with an admin now:
wa.link/cbfsmf

⏳ Don’t Waitβ€”Boost Your Career Today!
❀2
βœ–οΈ DON'T CREATE NESTED LISTS WITH THE * OPERATOR.

Because of this, you create a list containing multiple references to the very same inner list.
It looks like you're making a grid, but modifying one row will surprisingly change all of them. This is because the outer list just holds copies of the reference, not copies of the list itself.
Correct β€” use a list comprehension to ensure each inner list is a new, independent object.

Subscribe for more Python secrets!

# hidden error β€” all inner lists are the same object
matrix = [[]] * 3 # seems to create a 3x0 matrix

# append to the first row
matrix[0].append(99)

# all rows were modified!
print(matrix) # [[99], [99], [99]]


# βœ… correct version β€” use a list comprehension
matrix_fixed = [[] for _ in range(3)]

# append to the first row
matrix_fixed[0].append(99)

# only the first row is modified, as expected
print(matrix_fixed) # [[99], [], []]


━━━━━━━━━━━━━━━
By: @DataScienceQ ✨
❀5
πŸŽβ—οΈTODAY FREEβ—οΈπŸŽ

Entry to our VIP channel is completely free today. Tomorrow it will cost $500! πŸ”₯

JOIN πŸ‘‡

https://t.iss.one/+MPpZ4FO2PHQ4OTZi
https://t.iss.one/+MPpZ4FO2PHQ4OTZi
https://t.iss.one/+MPpZ4FO2PHQ4OTZi
❀2
Checking Memory Usage in Python

psutil is imported, then through psutil.virtual_memory() memory data is obtained.

The function convert_bytes converts bytes to gigabytes.

Then the code calculates:

- total RAM
- available RAM
- used RAM
- percentage usage

And outputs this to the console.

import psutil

memory = psutil.virtual_memory()

def convert_bytes(size):
    # Convert bytes to GB
    gb = size / (1024 ** 3)
    return gb

total_gb = convert_bytes(memory.total)
available_gb = convert_bytes(memory.available)
used_gb = convert_bytes(memory.used)

print(f"Total RAM: {total_gb:.3f} GB")
print(f"Available RAM: {available_gb:.3f} GB")
print(f"Used RAM: {used_gb:.3f} GB")
print(f"RAM Usage: {memory.percent}%")


Or simply press CTRL + ALT + DELETE and open Task Manager. It has worked since the days of Windows 95.

The RAM usage percentage loses its meaning if you have Chrome open β€” it will consume everything on its own
πŸ˜„

πŸ‘‰  https://t.iss.one/DataScienceQ
Please open Telegram to view this post
VIEW IN TELEGRAM
❀2
❔ Interview Question

What can be a key in a dictionary?

Answer: Dictionaries in Python are hash tables. Instead of keys in the dictionary, hashes are used. Consequently, any hashable data type can be a key in the dictionary, which includes all immutable data types.

tags: #interview

➑ @DataScienceQ
Please open Telegram to view this post
VIEW IN TELEGRAM
❀4πŸ‘3
❔ Question from the interview

Why does isinstance(True, int) return True?

Answer: In Python, bool is a subclass of int. True and False are instances of int with values 1 and 0, respectively.

tags: #interview

➑️ @DataScienceQ
Please open Telegram to view this post
VIEW IN TELEGRAM
❀6πŸ‘1
❔ Python Quiz
Please open Telegram to view this post
VIEW IN TELEGRAM
❀7