رقصنده با کد – Telegram
رقصنده با کد
782 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
گویا اینتل هم داره تعدیل میکنه

پاورقی :

ناامید نباشید.
دنیا هر چندسال یه بار یه تکونی به خودش میده دوباره درست میشه.

اینارو میذارم که بدونید الان بهترین فرصت توی دهه‌ی جاری هست تا بتونید خودتون رو لول‌آپ کنید.

بعدیش میره برای ۲۰۳۰
امیدوارم اونقدری پول دستتون باشه که حاضر باشید ۱۸ میلیون بدید برای دوره ، ولی من ۷ ساله دارم تخصصی فرانت کار میکنم هنوز تموم نشده ، امیدوارم شما ۳ ماهه اوکی بشید.

مطلب بالا رو که به طعنه گفتم ولی اگر میخواید یاد بگیرید پله پله یاد بگیرید.

هر کدوم از تکنولوژی‌های وب حداقل ۲،۳ ماه زمان میبره و شما حداقل ۴،۵ تاش رو باید بلد باشید. فله‌ای به نتیجه نمی‌رسید.

One Step At A Time

رفرنس : مرغ پست قبل 🐥
من سخت‌گیر شدم یا شرکت‌ها دارن عجیب رفتار میکنن؟

نه تماسی نه ایمیلی. فقط همین پیام.
جالب بود
امروز به عنوان مرحله سوم و آخر مصاحبه ، حدود ۲.۵ ساعت مصاحبه فنی کدزنی داشتم ، البته برق رفت پای تخته سرپا داشتم مینوشتم 😁

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

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

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

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

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

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

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

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

مثلا یک روستای خاص ، ابشار گمنام ، دشت کمتر شناخته شده و ...
فکر میکردم چیز بدتری بگه 😁

حس خیلی خوبی از نفرینم گرفتم چون اینایی که گفت همیشه از نظر من ویژگی یک برنامه‌نویس واقعی بوده. گویا خودمم درگیرش بودم.

شما هم دوست داشتید بپرسید به اشتراک بذارید