س.مرتضی موسوی
س.مرتضی موسوی
خواندن ۳ دقیقه·۵ سال پیش

53 سوال و پاسخ در یک مصاحبه شغلی پایتون(قسمت دوم)

خب بریم سراغ سوالا


16. فرق بین Deep copy و shallow copy چیست؟

در deep copy زمانی که یک مقدار متغیر اول رو تغییر بدید، متغیر دوم نیز تغییر میکند و برعکس.

در shallow copy زمانی که یک متغیر ساخته میشود و مقدار متغیر دیکر در آن کپی میشود، هنگامی که مقدار در هر کدام از متغیرها تغییر کند در دیگر متغیرها تغییری ایجاد نمیشود.



17. طریقه شمردن تعداد دو آرایه؟

همانطور که میدونید یا نمیدونید، آرایه ها از نوع لیست نیستن. و برای جمعشون باید از تابع concatenate استفاده کنیم


import numpy as npa = np.array([1,2,3]) b = np.array([4,5,6])np.concatenate((a,b)) #array([1, 2, 3, 4, 5, 6])



18. نظر شما در مورد پایتون چیست؟

به خودتون ربط داره.



19. لایبری مورد علاقتون در پایتون چیه؟

اینم به خودتون ربط داره ولی اگه نظر منو بخواید پاندا انتخاب اول و آخرمه.



20. نامهای قابل تغییر و غیرقابل تغییر چیان؟

غیرقابل تغییرا: int, float, bool, string و tuple.

قابل تغییرا: متغیرها و لیست و.ِ..



21. چجوری میتونیم یک عدد اعشار در چند واحد و به ٣ واحد اعشار تبدیل کنید؟

با استفاده از فانکشن round

a = 5.12345 round(a,3) #5.123



22. چطوری لیستی را تیکه تیکه کنیم؟

توسط این فرمول

list[start:stop:step]

مرحل آخر حکم پرش رو داره.

a = [0,1,2,3,4,5,6,7,8,9] print(a[:2]) #[0, 1] print(a[8:]) #[8, 9] print(a[2:8]) #[2, 3, 4, 5, 6, 7] print(a[2:8:2]) #[2, 4, 6]



23. لایبری ترشی انداختن یا pickle کاربردش چیه؟

لایبری Pickle یک راه برای تبدیل یک آبجکت(لیست، دیکشنری و...) به رشته هست. متد Dump وظیفه‌ی ذخیره و متد load وظیفه‌ی خواندن رو داره.

import pickle obj = [{'id':1, 'name':'Stuffy'},{'id':2, 'name': 'Fluffy'}]with open('file.p', 'wb') as f: pickle.dump(obj, f)with open('file.p', 'rb') as f: loaded_obj = pickle.load(f)print(loaded_obj) #[{'id': 1, 'name': 'Stuffy'}, {'id': 2, 'name': 'Fluffy'}]



24. فرق بین دیکت و جیسون چیه؟

دیکت یک نوع داده در پایتون هست که از مجموعه ای از مقادیر ایندکس شده تشکیل شدن.

جیسون رشته ای که از یک قالب مشخص پیروی میکنه و برای انتقال داده ها کاربرد داره.



25. از چه ORMهایی در پایتون تا حالا استفاده کرده این و اصلا ORM چیه؟

با استفاده از ORM می‌توان کدی نوشت که مطمئن بشید که هر زمان و هر کجا، هر ردیف یا ستونی در پایگاه داده مورد دسترسی قرار گرفت، ابتدا کد خاص دیگری که نوشته‌ایم اجرا بشه.در عادی پایتون از SQLAlchemy استفاده میکند و جنگو یا فلسک از SQLite استفاده میشه



26. تابع های all و any چجوری کار میکنن؟

تابع any یک متوالی را طی میکند و اگر هر عنصر دنباله true باشد true برمیگردد.

تابع all فقط در صورتی که تمام عناصر دنباله true باشند true برمیگردد.

a = [False, False, False] b = [True, False, False] c = [True, True, True] print(any(a)) #False print(any(b)) #True print(any(c)) #True print(all(a)) #False print(all(b)) #False print(all(c)) #True



27. فرق بین ماژول و یک پکیج؟

ماژول مجموعه ای از چند پرونده هست ولی پکیج یک پرونده از یک ماژوله. به طور کلی میتونیم اینطور بگیم که همه بسته ها ماژول هستند، اما همه ماژولها بسته نیستن.

import sklearn #ماژول from sklearn import cross_validation #پکیج



28. نحوه کمتر یا بیشتر کردن مقدار یک عدد صحیح؟

با استفاده از عملگرها مثبت و منفی + مساوی

value = 5 value += 1 print(value) #6 value -= 1 value -= 1 print(value) #4



29. نحوه تبدیل باینری به اعداد صحیح؟

با استفاده از فانکشن bin

bin(5) #'0b101'



30. چگونه عناصر تکراری را از یک لیست حذف کنیم؟

با استفاده از تابع set

a = [1,1,1,2,3] a = list(set(a)) print(a) #[1, 2, 3]



بقیه سوالات در پست بعدی...

پایتونمصاحبه شغلیبرنامه نویسیjobsحال خوبتو با من تقسیم کن
mortezamosavi@yahoo.com
شاید از این پست‌ها خوشتان بیاید