Программист шиг сэтгэхийн тулд юу хийх хэрэгтэй вэ

  1. Энэ яагаад чухал вэ?
  2. Загварыг ол
  3. 1. Түүнийг ойлгоорой
  4. 2. Төлөвлөнө
  5. 3. Асуудлыг жижиг дэд асуудлууд болгон хуваа.
  6. 4. Гацсан уу?
  7. Дадлага
  8. HackerRank-ийн дагуу хамгийн алдартай 5 програмчлалын хэлийг нэрлэжээ
  9. Хэрхэн програмист болох вэ, хэрэв та үнэхээр хүсч байгаа бол туршлага байхгүй байна

Программист шиг сэтгэх нь юу гэсэн үг вэ? Үнэн хэрэгтээ асуудлыг шийдэхийн тулд бүх зүйл илүү үр дүнтэй байдаг. Блоггер болон гар утасны програм хөгжүүлэгч Ричард Риз тооцооллын сэтгэлгээг хэрхэн хөгжүүлэх талаар хэдэн зөвлөгөө өгсөн.

Энэ яагаад чухал вэ?

Асуудлыг шийдэх нь metanavyk юм. Бид тэднийг хэрхэн даван туулах вэ? Их санамсаргүй. Хэрэв танд систем байхгүй бол та ийм байдлаар асуудлыг "шийдвэрлэх" магадлал өндөр байна.

  1. Шийдлийг туршиж үзээрэй.

  2. Хэрэв энэ нь амжилтгүй болбол дахин оролдоно уу.

  3. Азтай болтол хоёрдугаар алхамыг давт.

Тиймээс болохгүй. Энэ бол их цаг хугацаа алдах явдал юм. Та a) хэв загварыг олж, б) дадлага хийх хэрэгтэй.

“Бараг бүх ажил олгогчид юуны түрүүнд ажилчид бэрхшээлээ хэрхэн шийдвэрлэж байгааг хардаг. Энэ чадвар нь тэдний хувьд програмчлалын хэлний мэдлэг, дибаг хийх, системийн дизайн гэх мэт мэдлэгээс илүү чухал юм. Тооцоолох сэтгэлгээ, том, ээдрээтэй бэрхшээлийг даван туулах чадвар нь ажиллахад шаардлагатай техникийн анхан шатны мэдлэгтэй ижил үнэлэгддэг. ”- HackerRank (Хөгжүүлэгчийн ур чадварын тайлан 2018).

Загварыг ол

“Шинэхэн програмистууд ихэнхдээ асуудлыг шийдэхэд бус синтаксисд төвлөрдөг. Энэ бол хамгийн том алдаа. " V. Антон Спрул Байна.

Шинэ асуудал тулгарахад та юу хийх хэрэгтэй вэ?

1. Түүнийг ойлгоорой

Та танаас юу шаардагдахыг мэдэх хэрэгтэй. Та нар ойлгохгүй байгаа тул даалгаврууд нь төвөгтэй юм шиг санагддаг. Асуудлыг ойлгож байгаа эсэхээ яаж мэдэх вэ? Үүнийг энгийн хэлээр тайлбарлахыг хичээ.

Фото: Unsplash

Энэ нь маш олон удаа тохиолддог: та ямар нэгэн ажил дээр гацаж, тайлбарлаж, гэнэт логик дутагдлыг анзаардаг уу? Ихэнх програмистууд энэ мэдрэмжийг мэддэг. Асуудлаа цаасан дээр бичээрэй эсвэл хэн нэгэнд энэ тухай хэлээрэй.

2. Төлөвлөнө

Төлөвлөгөөгүй асуудлыг шийдэхийн тулд нэн даруй үргэлжлүүлж болохгүй. Хэрэв та яг тодорхой алхамуудыг бичихгүй бол юу ч тус болохгүй. Асуудлыг шинжлэх, мэдээллийг боловсруулахад цаг хугацаа өг. Зөв төлөвлөгөө гаргахын тулд энэ асуултанд хариулна уу.

"Оролтонд X байгаа гэж үзье. Гаралтад Y хүрэхийн тулд ямар алхамууд шаардлагатай вэ?"

Програмистууд энэ талаар маш сайн хэрэгсэлтэй ... Сэтгэгдэл!

3. Асуудлыг жижиг дэд асуудлууд болгон хуваа.

Энэ бол хамгийн чухал алхам юм. Нэг том асуудлыг нэн даруй шийдэх гэж бүү яар. Үүний оронд үүнийг жижиг таавар болгон хувааж, аажмаар шийдээрэй. Хамгийн энгийнээс эхлээрэй, өөрөөр хэлбэл хариултыг нь аль хэдийн мэддэг. Та бүгдийг даван туулж дуусмагц цэгүүдийг холбоно уу. Тиймээс та анхны асуудлыг шийдэж чадна.

"Би шинэхэн програмистуудад үргэлж асуудлаа шийдвэрлэхийг зөвлөдөг. Та арван орон тоо уншиж, аль нь гурав дахь том болохыг тодорхойлох програм бичих хэрэгтэй гэж төсөөлөөд үзье. Эхлэгчдэд энэ даалгавар нь үндсэн синтаксийн мэдлэгийг шаарддаг ч гэсэн маш хэцүү санагдаж магадгүй юм. Хэрэв гацчихвал асуудлыг хялбаршуулахыг хичээ. Гурав дахь том тооны оронд зөвхөн хамгийн томыг нь олохыг хичээ. Хэцүү юу? Өгөгдсөн гуравны хамгийн их тоог олоорой. Эсвэл хоёр. Асуудлыг хэрхэн шийдэхээ ойлгох хүртлээ хялбаршуулаарай. Дараа нь даалгавраа аажмаар хүндрүүлж, шийдлийг дахин бичиж аваарай. "- В. Антон Спрол.

4. Гацсан уу?

Одоо та: "Тийм ээ, энэ үнэхээр сайхан, гэхдээ би гацчихаад жижиг асуудлыг шийдэж чадахгүй бол яах вэ?" Гэж бодох болно.

Фото: Unsplash

Бүү санаа зов. Энэ нь хүн бүрт тохиолддог. Ялгаа нь гэвэл программистууд ийм асуудалтай тулгарахдаа уурлахгүй байх явдал юм. Үүний эсрэгээр тэд шийдлийг олох сонирхолтой байгаа. Үүнийг гурван аргаар хийх боломжтой:

  • Дахин үнэлгээ өгнө үү . Асуудлыг нөгөө талаас нь хар. Үүнийг илүү энгийн байдлаар танилцуулж болох зүйл байна уу?

"Заримдаа бид нар нарийвчлалаа алдаж, асуудлыг хурдан шийдвэрлэхэд туслах ерөнхий зарчмуудыг алдах болно. Сонгодог жишээ бол дараалсан тоонуудын нийлбэр юм - 1 + 2 + 3 + ... + n. Карл Фридрих Гаусс үүнийг n (n + 1) / 2 гэсэн илэрхийллээр илэрхийлсэн тул шаардлагагүй тооцоо хийх шаардлагагүй байв. "

Өөр нэг сонголт бий - кодыг бүрэн бичих. Бүгдийг нь устгаад, шинээр эхэлнэ үү.

  • Судлах . Одоо ямар асуудлыг шийдэх гэж байгаа нь хамаагүй. Таны өмнө хэн нэгэн нь үүнийг хийчихсэн байна. Та зүгээр л хайх хэрэгтэй. Хэрэв та асуудлыг шийдсэн бол үүнийг хий.

Дадлага

Долоо хоногт та энэ чиглэлээр мастер болно гэж битгий бодоорой. Хэрэв та асуудлыг сайн шийдэхийг хүсч байвал үүнийг тогтмол хий. Дадлага. Шатар, математикийн асуудал, судоку, явах, монополь, видео тоглоом, криптотехник - энэ бүхэн танд тулгарч буй бэрхшээлийг шийдвэрлэх чадвараа сайжруулахад туслах болно. Алдартай хүмүүс ч үүнийг хийдэг. Жишээлбэл, Питер Тилль шатар тоглодог бол Илон Маск - видео тоглоомонд Байна.

"Илон Маск, Рид Хоффман, Марк Зукерберг болон бусад хүмүүс тоглоомууд тэдний амжилтын үндэс суурийг тавьсан гэж үзэж байна" Мэри Мэкер Байна.

Энэ нь та зүгээр л видео тоглоом тоглох ёстой гэсэн үг үү? Яг ч тийм биш. Мэдээжийн хэрэг та суралцах хэрэгтэй. Өөрийн ур чадвараа ашиглаж болох зүйл ол.

Сэдвийн материал

HackerRank-ийн дагуу хамгийн алдартай 5 програмчлалын хэлийг нэрлэжээ

Муу програмистын 12 шинж тэмдэг - бид дархан хүнийг тодорхойлдог

Хэрхэн програмист болох вэ, хэрэв та үнэхээр хүсч байгаа бол туршлага байхгүй байна

Би график дизайнер болох ажлаасаа яаж гарахаа больсон бөгөөд таван сарын хугацаанд нүүрний хөгжүүлэгч болсон

Бичиж олсон уу? Текстийг тодруулаад Ctrl + Enter дарна уу

Энэ яагаад чухал вэ?
4. Гацсан уу?
Энэ яагаад чухал вэ?
Бид тэднийг хэрхэн даван туулах вэ?
Шинэ асуудал тулгарахад та юу хийх хэрэгтэй вэ?
Асуудлыг ойлгож байгаа эсэхээ яаж мэдэх вэ?
Гаралтад Y хүрэхийн тулд ямар алхамууд шаардлагатай вэ?
Хэцүү юу?
4. Гацсан уу?
Одоо та: "Тийм ээ, энэ үнэхээр сайхан, гэхдээ би гацчихаад жижиг асуудлыг шийдэж чадахгүй бол яах вэ?

Новости

Где купить держатель для смартфона

Любой смартфон давно превратился неотъемлемым атрибутом повседневной жизни, который помогает не только поддерживать непрерывную связь с необходимыми людьми. Он также позволяет постоянно быть информированным