رقصنده با کد – 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
یه مصاحبه دیگه هم دادم. از چی پرسید؟
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 هم دارن خداتومن.

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

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

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

https://youtube.com/shorts/5MMg62yMkn4?si=wba6dwxj_KlBnHIj
کمی از دنیای فرانت نا امید شدم.

نه به خاطر فرانت بودنش. به خاطر آدماش.

چطوری تیم لیدی قبول میکنید با ۴۰ تومن؟ میشه کمی کمتر از ۵۰۰ دلار.

یا تیم لیدی نمی‌دونید چیه و قراره بزنید پروژه طرف رو بترکونید یا واقعا مشکل دارید.

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

این همه سال درس خوندید ، هر روز مطالعه دارید ، هیچ تفریحی نمی‌کنید که تهش ۴۰ تومن حقوق بگیرید؟

طرف رفته ۴۰۰ میلیون گلدون خریده برای فضای کارش ، توی میری میگی ۴۰ کافیه؟

(تصویر، گویای حس درونی من به شماست)
امروز رفتم برای یکی از بزرگترین هلدینگ‌های ایران. احتمالا بزرگترینشون.

در حد فرودگاه security داشت.

بماند که لوکیشنش خیلی اوکی نیست ، پنج‌شنبه‌ها هم هستن ، تا آخر سال ۱۲ تا و تا سال بعد قراره ۶۰ تا پروژه سنگین لانچ کنن ، ۲ نفر بیشتر هم برنامه نویس فرانت قرار نیست داشته باشه ، قرارداد اولش یک ماهه و بعدش سه ماهس و برای داستان بیمه‌شون هم کلی چیز میز گفت که اصلا نفهمیدم چی گفت ، حضوری گفتن بیا ولی ازم تست نگرفتن و بعد از ۲ صفحه ریز فرم پر کردن ، گفتن یه تسک میفرستیم انجام بده.

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

هیچ راه دسترسی غیر ایمیلی بهشون ندارم وگرنه یه 🍍 براشون میفرستادم.
یکی از یکی بهتر.

اینایی که می‌ایستن توی اتوبان تابلوی قیمت میوه میگیرن دستشون ، روزی ۷۰۰ میگیرن. نه درس خوندن ، نه دانشگاه رفتن ، نه پروژه زدن ، نه دهنشون ۲۰ سال سرویس شده. نهار هم میدن بهشون و کسی هم سوال‌جوابشون نمیکنه.

کارشون سخته ولی سختیش برای همون لحظه‌شونه.
Forwarded from 69%
دنیای تحت کنترل چین با یک دکمه خاموش می‌شود!
تلویزیون‌های اسنوا بخاطر عدم پرداخت پول توسط شرکت ایرانی انتخاب به تامین‌کننده چینی، از کار افتادند....

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

@SixtyNinePercent
بزرگترین Red flag یک شرکت:

۱- پنج‌شنبه‌ها هم هستن
۲- مصاحبه اول حضوریه
۳- تست نمیگیرن و تسک میدن که بری خونه انجام بدی

حتی ۱ دونه از اینها هم کافیه تا کلا اون شرکت کنسل باشه.
نکته html ای:

مرورگر هر چیزی قبل body رو به عنوان head حساب میکنه‌