رقصنده با کد
دوره جامع جاوااسکریپت (با تمرکز فقط روی جاوااسکریپت مدرن) پیشنیاز: ندارد مخاطب : همه نفرات علاقه مند ( با سابقه یا بدون سابقه ) کاربرد : فرانت اند ، بکاند ، موبایل و ... تاریخ شروع : ۱۷ مرداد تعداد جلسات : ۱۶ جلسه ۲ ساعته ( هر جمعه ۲ جلسه ) ساعت برگزاری…
☝️☝️☝️
دوره تخصصی جاوااسکریپتمون این جمعه شروع میشه... جا نمونی 😎
پاورقی: اکثر چیزها رو میشه بدون استاد و از اینترنت یاد گرفت.
دوره تخصصی جاوااسکریپتمون این جمعه شروع میشه... جا نمونی 😎
پاورقی: اکثر چیزها رو میشه بدون استاد و از اینترنت یاد گرفت.
امروز به عنوان مرحله سوم و آخر مصاحبه ، حدود ۲.۵ ساعت مصاحبه فنی کدزنی داشتم ، البته برق رفت پای تخته سرپا داشتم مینوشتم 😁
میتونم بگم اگر پستای فنی این کانال رو دنبال میکردید ، حدود ۸۰ درصد سوالات رو راحت میتونستید جواب بدید.
از این ۶،۷ تا مصاحبه اخیر متوجه شدم به صورت ناخودآگاه ، اکثر سوالات مصاحبهای ممکن رو توی کانال پوشش دادیم.
میتونم بگم اگر پستای فنی این کانال رو دنبال میکردید ، حدود ۸۰ درصد سوالات رو راحت میتونستید جواب بدید.
از این ۶،۷ تا مصاحبه اخیر متوجه شدم به صورت ناخودآگاه ، اکثر سوالات مصاحبهای ممکن رو توی کانال پوشش دادیم.
واقعا چی بگیم دیگه
۳۱ میلیون تومان برای چیزی که همش رایگان توی اینترنت و حتی آپارات احتمالا هستش
دوتا چیز درست و حسابی هم میخواد بگه ، نوشته آشنایی
۳۱ میلیون تومان برای چیزی که همش رایگان توی اینترنت و حتی آپارات احتمالا هستش
دوتا چیز درست و حسابی هم میخواد بگه ، نوشته آشنایی
رقصنده با کد
📜 قابلیت Web Worker در مرورگر چیست و چرا باید از آن استفاده کنیم؟ قابلیت Web Worker به شما اجازه میدهد که کدهای JavaScript را در یک thread جداگانه اجرا کنید، مستقل از thread اصلی مرورگر. این یعنی میتوانید عملیاتهای سنگین را بدون تأثیر روی UI انجام دهید…
pwa.pdf
476.8 KB
جزوه کامل PWA که خودم تهیه کردم.
پیشنهاد میکنم حتی اگر الان نمیخونید ، یه جا ذخیره داشته باشیدش. مطلبی که روش ریپلای شده هم ذخیره داشته باشید.
پیشنهاد میکنم حتی اگر الان نمیخونید ، یه جا ذخیره داشته باشیدش. مطلبی که روش ریپلای شده هم ذخیره داشته باشید.
یادتونه گفتم یه شرکتی هست منابع انسانیش با پیامک همه کارارو انجام میده و داره پیامک بازی میکنه؟
امروز بالخره قرار بود جلسه ست کنه که بدون هماهنگی کنسل کردن.
در واقع مشکل از اونا نیست و از منه.
اگر همون اول پیامکی جواب نمیدادم ، احتمالا اینطوری هم نمیشد.
امروز بالخره قرار بود جلسه ست کنه که بدون هماهنگی کنسل کردن.
در واقع مشکل از اونا نیست و از منه.
اگر همون اول پیامکی جواب نمیدادم ، احتمالا اینطوری هم نمیشد.
یه مصاحبه دیگه هم دادم. از چی پرسید؟
partial prerendering
فیچر نکست که هنوز توی حالت آزمایشیه و ممکنه کلا هم اضافه نشه.
من شخصا خیلی از ویژگیهای عادی رو هم نمیخونم ، شما از exprimental میپرسی؟
جزو عجایبه که شرکتهای بزرگ معمولا فقط از الگوریتم و رفتار انجین میپرسن ، شرکتهای کوچکتر دنبال زیر بقل مار میگردن.
الان دنیایی نیست که یکی بشینه همه چی رو حفظ کنه. شما قدرت تحلیل و حل مساله طرف و سرعتشو بسنج.
مسابقه حافظهاس مگه؟
partial prerendering
فیچر نکست که هنوز توی حالت آزمایشیه و ممکنه کلا هم اضافه نشه.
من شخصا خیلی از ویژگیهای عادی رو هم نمیخونم ، شما از exprimental میپرسی؟
جزو عجایبه که شرکتهای بزرگ معمولا فقط از الگوریتم و رفتار انجین میپرسن ، شرکتهای کوچکتر دنبال زیر بقل مار میگردن.
الان دنیایی نیست که یکی بشینه همه چی رو حفظ کنه. شما قدرت تحلیل و حل مساله طرف و سرعتشو بسنج.
مسابقه حافظهاس مگه؟
رقصنده با کد
سوالات مصاحبهای پارت ۱ Q1: for (var i = 0; i < 3; i++) { setTimeout(() => console.log(i), 1000); } 3 3 3 Q2: for (let i = 0; i < 3; i++) { setTimeout(() => console.log(i), 1000); } 0 1 2 Q3: const obj = { name: 'Ali', sayHi: function () {…
پارت ۲ سوالات مصاحبهای
پارت ۱:
https://news.1rj.ru/str/danceswithcode/4445
این پست به مرور زمان تکمیل میشه
Q28:
*One*
*Two*
*Four*
*Three*
Q29:
*One*
*Two*
*Four*
Q30:
پیاده سازی Promise.all
Q31:
Debounce in JavaScript
Q32:
Throttling in JavaScript
Q33:
DeepClone using recursion
Q34:
Check if a string is a palindrome (ignoring cases and spaces).
function isPalindrome(str){
.....
}
use two-pointer to solve it
@danceswithcode
#interview #js
پارت ۱:
https://news.1rj.ru/str/danceswithcode/4445
این پست به مرور زمان تکمیل میشه
Q28:
const myPromise = new Promise((resolveOuter) => {
console.log("*One*");
resolveOuter(
new Promise((resolveInner) => {
console.log("*Two*");
setTimeout(() => resolveInner("*Three*"), 0);
})
);
});
const func1 = () => {
myPromise.then((res) => res).then((res2) => console.log(res2));
};
console.log("*Four*");
func1();
*One*
*Two*
*Four*
*Three*
Q29:
const myPromise = new Promise((resolveOuter) => {
console.log("*One*");
resolveOuter(
new Promise((resolveInner) => {
console.log("*Two*");
setTimeout(() => resolveInner("*Three*"), 0);
})
);
});
const func1 = () => {
myPromise.then((res) => res).then((res2) => console.log(res2));
};
console.log("*Four*");
*One*
*Two*
*Four*
Q30:
پیاده سازی Promise.all
function promiseAll(promises) {
return new Promise((resolve, reject) => {
if (!Array.isArray(promises)) {
return reject(new TypeError('Input must be an array'));
}
const results = [];
let completed = 0;
if (promises.length === 0) {
return resolve([]);
}
promises.forEach((p, index) => {
Promise.resolve(p)
.then((value) => {
results[index] = value;
completed++;
if (completed === promises.length) {
resolve(results);
}
})
.catch((err) => reject(err));
});
});
}
Q31:
Debounce in JavaScript
function debounce(func, delay) {
let timer;
return function (...args) {
clearTimeout(timer);
timer = setTimeout(() => {
func.apply(this, args);
}, delay);
};
}
Q32:
Throttling in JavaScript
function throttle(func, delay) {
let lastCall = 0;
return function (...args) {
const now = Date.now();
if (now - lastCall >= delay) {
lastCall = now;
func.apply(this, args);
}
};
}
Q33:
DeepClone using recursion
function deepClone(obj, hash = new WeakMap()) {
if (Object(obj) !== obj) return obj; // primitives
if (obj instanceof Date) return new Date(obj);
if (obj instanceof RegExp) return new RegExp(obj);
if (hash.has(obj)) return hash.get(obj); // circular
const result = Array.isArray(obj) ? [] : {};
hash.set(obj, result);
for (const key in obj) {
if (obj.hasOwnProperty(key)) {
result[key] = deepClone(obj[key], hash);
}
}
return result;
}
Q34:
Check if a string is a palindrome (ignoring cases and spaces).
function isPalindrome(str){
.....
}
use two-pointer to solve it
function isPalindrome(str) {
// Normalize the string: remove non-alphanumerics and make lowercase
const cleanStr = str.replace(/[^a-z0-9]/gi, '').toLowerCase();
let left = 0;
let right = cleanStr.length - 1;
while (left < right) {
if (cleanStr[left] !== cleanStr[right]) {
return false; // mismatch found
}
left++;
right--;
}
return true;
}
@danceswithcode
#interview #js
ممنون میشم این پست من رو توی لینکدین لایک و کامنت کنید که دیده بشه 🙏️️️️️️
https://www.linkedin.com/posts/alithecodeguy_js-javanoscript-programming-activity-7355210883599417344-Qi8S?utm_source=share&utm_medium=member_desktop&rcm=ACoAACtcWEYBTrZMU9DqRUSmbHsrw5UuZpcD8m0
https://www.linkedin.com/posts/alithecodeguy_js-javanoscript-programming-activity-7355210883599417344-Qi8S?utm_source=share&utm_medium=member_desktop&rcm=ACoAACtcWEYBTrZMU9DqRUSmbHsrw5UuZpcD8m0
یه نکتهای جالبی از معماری کامپوترهای مدرن یاد گرفتم.
خواندن یک bit کندتر از خواندن یک byte هستش.
یعنی خوندن ۱ سلول ۰ یا ۱ ، کندتر از خوندن ۸ سلول هستش!
البته جزو نکاتیه که هیچ تاثیری هیچجا نمیذاره. حداقل برای ما.
توصیح هوش مصنوعی:
در معماری کامپیوترهای مدرن، حافظهها (RAM, Cache, Register, Disk, …) و باسها معمولاً بهصورت byte-addressable هستن، نه bit-addressable. یعنی:
• شما فقط میتونید حافظه رو بر حسب بایت (۸ بیت) آدرسدهی و دسترسی داشته باشید.
• برای خواندن یک بیت، سیستم باید:
1. کل بایت مربوطه رو بخونه
2. بیت خاص موردنظر رو با عملیات masking جدا کنه (AND, SHIFT, …)
در نتیجه:
• خواندن یک بیت مستلزم خوندن یک بایت کامل + عملیات اضافیه.
• اما خواندن یک بایت بهصورت مستقیم، فقط همون عملیات خواندن هست، بدون نیاز به پردازش اضافه.
در سطح سختافزار چی؟
در CPU و حافظههای مدرن، مسیرهای داده (Data Path) و خطوط انتقال (Bus Width) معمولاً 64 بیتی یا بیشتر هستن، یعنی پردازنده معمولاً در هر سیکل چند بایت با هم میخونه.
پس:
• خوندن یه بیت از نظر سختافزاری کاملاً بهینه نشده و بهعنوان یه «حالت خاص» در نظر گرفته میشه.
• خوندن چند بیت پشت سر هم (مثل 1 بایت یا بیشتر) همزمان و سریعتر انجام میگیره.
خواندن یک bit کندتر از خواندن یک byte هستش.
یعنی خوندن ۱ سلول ۰ یا ۱ ، کندتر از خوندن ۸ سلول هستش!
البته جزو نکاتیه که هیچ تاثیری هیچجا نمیذاره. حداقل برای ما.
توصیح هوش مصنوعی:
در معماری کامپیوترهای مدرن، حافظهها (RAM, Cache, Register, Disk, …) و باسها معمولاً بهصورت byte-addressable هستن، نه bit-addressable. یعنی:
• شما فقط میتونید حافظه رو بر حسب بایت (۸ بیت) آدرسدهی و دسترسی داشته باشید.
• برای خواندن یک بیت، سیستم باید:
1. کل بایت مربوطه رو بخونه
2. بیت خاص موردنظر رو با عملیات masking جدا کنه (AND, SHIFT, …)
در نتیجه:
• خواندن یک بیت مستلزم خوندن یک بایت کامل + عملیات اضافیه.
• اما خواندن یک بایت بهصورت مستقیم، فقط همون عملیات خواندن هست، بدون نیاز به پردازش اضافه.
در سطح سختافزار چی؟
در CPU و حافظههای مدرن، مسیرهای داده (Data Path) و خطوط انتقال (Bus Width) معمولاً 64 بیتی یا بیشتر هستن، یعنی پردازنده معمولاً در هر سیکل چند بایت با هم میخونه.
پس:
• خوندن یه بیت از نظر سختافزاری کاملاً بهینه نشده و بهعنوان یه «حالت خاص» در نظر گرفته میشه.
• خوندن چند بیت پشت سر هم (مثل 1 بایت یا بیشتر) همزمان و سریعتر انجام میگیره.
رقصنده با کد
نمیدونم دقیق چطور توضیح بدم پس خواهشا توضیح نخواهید. اگر سطحتون میدلول و بالاتر هستش ، سعی کنید یه تایم مشخصی رو به صورت خیلی پرفشار و هر چه سریعتر بکاند رو به صورت عمیق یاد بگیرید. (زبانش مهم نیست) قطعا که نمیتونید کامل یاد بگیرید ولی تا جایی که میتونید…
همچنان روی این موضوع تاکید میشه
یه جای خاص برای سفر یکی دو روزه از تهران بگید؟
جاهایی که خیلی معمول نیست و اسمش رو هر کسی ممکنه ندونه.
مثلا یک روستای خاص ، ابشار گمنام ، دشت کمتر شناخته شده و ...
جاهایی که خیلی معمول نیست و اسمش رو هر کسی ممکنه ندونه.
مثلا یک روستای خاص ، ابشار گمنام ، دشت کمتر شناخته شده و ...
فکر میکردم چیز بدتری بگه 😁
حس خیلی خوبی از نفرینم گرفتم چون اینایی که گفت همیشه از نظر من ویژگی یک برنامهنویس واقعی بوده. گویا خودمم درگیرش بودم.
شما هم دوست داشتید بپرسید به اشتراک بذارید
حس خیلی خوبی از نفرینم گرفتم چون اینایی که گفت همیشه از نظر من ویژگی یک برنامهنویس واقعی بوده. گویا خودمم درگیرش بودم.
شما هم دوست داشتید بپرسید به اشتراک بذارید
این ویدیو رو ببینید. معلمها از بچهها میپرسن دوست دارن آینده چکاره بشن و با هوش مصنوعی براشون تولید میکنن.
جدا از اینکه کار باحالیه ، شما فقط ببین چه قدر بچه درک درستی از خودش و آینده داره. نمیاد بگه دکتر مهندس خلبان ، میاد میگه نگهبان باغ وحش! بستنی فروش! وکیل خانم! دوچرخه سوار حرفهای!
https://youtu.be/WCVYiApOMpo?si=RpVmWjLXpUYKLVjd
جدا از اینکه کار باحالیه ، شما فقط ببین چه قدر بچه درک درستی از خودش و آینده داره. نمیاد بگه دکتر مهندس خلبان ، میاد میگه نگهبان باغ وحش! بستنی فروش! وکیل خانم! دوچرخه سوار حرفهای!
https://youtu.be/WCVYiApOMpo?si=RpVmWjLXpUYKLVjd
homogeneous data = data of the same type
example :
An array is a fixed-size collection of homogeneous data.
example :
An array is a fixed-size collection of homogeneous data.
با پدیده دیگهای آشنا بشید.
۵ سال طرف رو توی کلاسهای متفاوت نگه داشتن و خدا میدونه چه پولی ازش گرفتن. تصویری که گذاشتم از پلن اقتصادیه. پلن پرمیوم و VIP هم دارن خداتومن.
خوشبختانه یا متاسفانه اکثر ما جزو قشری نیستیم که حساب جیبمون رو نداشته باشیم و برای پول درآوردن جدمون اومده جلوی چشممون و باید همه چی رو خودمون یاد بگیریم.
خبر خوب اینکه ، خودآموزی و متکی بودن به خود ، ویژگی اصلی یک برنامه نویسه و میتونیم بگیم شانس آوردیم.
اگر بچه دارید ، یه لپتاپ و اینترنت و یه کورس جاوا بدید بهش ، اگر قرار باشه اینکاره بشه میشه. قرارنباشه اینکاره بشه ، آسمون هم زمین بیاد نمیشه.
۵ سال طرف رو توی کلاسهای متفاوت نگه داشتن و خدا میدونه چه پولی ازش گرفتن. تصویری که گذاشتم از پلن اقتصادیه. پلن پرمیوم و VIP هم دارن خداتومن.
خوشبختانه یا متاسفانه اکثر ما جزو قشری نیستیم که حساب جیبمون رو نداشته باشیم و برای پول درآوردن جدمون اومده جلوی چشممون و باید همه چی رو خودمون یاد بگیریم.
خبر خوب اینکه ، خودآموزی و متکی بودن به خود ، ویژگی اصلی یک برنامه نویسه و میتونیم بگیم شانس آوردیم.
اگر بچه دارید ، یه لپتاپ و اینترنت و یه کورس جاوا بدید بهش ، اگر قرار باشه اینکاره بشه میشه. قرارنباشه اینکاره بشه ، آسمون هم زمین بیاد نمیشه.