PyData Careers
20.7K subscribers
201 photos
4 videos
26 files
348 links
Python Data Science jobs, interview tips, and career insights for aspiring professionals.
Download Telegram
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 ✨
❀3
πŸŽβ—οΈ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