رقصنده با کد – Telegram
رقصنده با کد
783 subscribers
1.69K photos
850 videos
207 files
665 links
Here are some interesting things I've come across during my learning process. That's it. Admin ID:
@alithecodeguy
Download Telegram
جالب بود
امروز به عنوان مرحله سوم و آخر مصاحبه ، حدود ۲.۵ ساعت مصاحبه فنی کدزنی داشتم ، البته برق رفت پای تخته سرپا داشتم مینوشتم 😁

میتونم بگم اگر پستای فنی این کانال رو دنبال می‌کردید ، حدود ۸۰ درصد سوالات رو راحت می‌تونستید جواب بدید.

از این ۶،۷ تا مصاحبه اخیر متوجه شدم به صورت ناخودآگاه ، اکثر سوالات مصاحبه‌ای ممکن رو توی کانال پوشش دادیم.
واقعا چی بگیم دیگه

۳۱ میلیون تومان برای چیزی که همش رایگان توی اینترنت و حتی آپارات احتمالا هستش

دوتا چیز درست و حسابی هم میخواد بگه ، نوشته آشنایی
یادتونه گفتم یه شرکتی هست منابع انسانیش با پیامک همه کارارو انجام میده و داره پیامک بازی میکنه؟

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

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

اگر همون اول پیامکی جواب نمیدادم ، احتمالا اینطوری هم نمیشد.
یه مصاحبه دیگه هم دادم. از چی پرسید؟
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:

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
یه نکته‌ای جالبی از معماری کامپوتر‌های مدرن یاد گرفتم.

خواندن یک 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
homogeneous data = data of the same type

example :

An array is a fixed-size collection of homogeneous data.
با پدیده دیگه‌ای آشنا بشید.

۵ سال طرف رو توی کلاسهای متفاوت نگه داشتن و خدا میدونه چه پولی ازش گرفتن. تصویری که گذاشتم از پلن اقتصادیه. پلن پرمیوم و VIP هم دارن خداتومن.

خوشبختانه یا متاسفانه اکثر ما جزو قشری نیستیم که حساب جیبمون رو نداشته باشیم و برای پول درآوردن جدمون اومده جلوی چشممون و باید همه چی رو خودمون یاد بگیریم.

خبر خوب اینکه ، خودآموزی و متکی بودن به خود ، ویژگی اصلی یک برنامه نویسه و میتونیم بگیم شانس آوردیم.

اگر بچه دارید ، یه لپ‌تاپ و اینترنت و یه کورس جاوا بدید بهش ، اگر قرار باشه اینکاره بشه میشه. قرارنباشه اینکاره بشه ، آسمون هم زمین بیاد نمیشه.