Read-only archive. Login and posting are unavailable.
Reply
 
Thread Tools
  #401  
Old 22-09-2019, 16:01
Junior Member
Join Date: 12-2012
Posts: 6
Re: Javascript - Ngôn ngữ 'thống lĩnh' thị trường lập trình thế giới năm 2019

Quote:
Originally Posted by su.thay View Post
Anh đã đi làm chưa, nếu đã đi làm thì chắc anh anh đã biết anh cần phải học cái gì rồi. Cái anh cần là ngồi đọc sách và tìm hiểu về nó. Đi làm mà hỏi câu này thì chẳng qua là do làm biếng thôi

Còn nếu đang đi học thì việc cần thiết nhất là cày tiếng anh và cố gắng GPA ít nhất 7.0. Thời gian rành thì làm letcode và hackerrank. Đạt được 2 ĐK đó thì học bổng toàn phần đầy rẫy, ra nước ngoài học thì cơ hội tìm việc ở nước ngoài dễ hơn. Với ngành CNTT thì các nước châu âu cho ở lại 3 năm để tìm việc, nê chắc chắn sẽ OK. Ông nào cũng bảo học không quan trọng, nhưng dưới 7.0 là khó xin học bổng master rồi. Và thay vì ra trường đi làm bắt đầu cày ielts, thì hãy làm những điều đó khi ở trường đi.

Giải quyết tất cả những thứ linh tinh như ielts ở bậc DDHj, càng sớm càng tốt, để tập trung toàn bộ sức lực mà cày. Chứ vừa lo ielts, vừa lo apply master, lại vừa cày giải thuật, lập trình các kiểu thì rất cực và dẽ nản



Còn học hành thì quá đơn giản, anh xem thử anh muốn theo mảng nào. Xác định được rồi thì vào amazon, xem thông tin tuyển dụng của nó, trong thông tin tuyển dũng sẽ ghi rất rõ kỹ năng nó mong muốn. Anh cứ bám theo đó, mỗi chủ đề tìm 1-2 cuốn sách trên amazon mà đọc, rồi áp dụng code thử, push lên github, xây dựng network trên github.
Chào thầy,

Tôi là một người tay ngang học kinh tế nhảy vào lập trình. Tôi tự học Python rồi đi làm.

Thầy cho tôi hỏi, một senior backend cần phải có những kiến thức nền tảng nào? Và tại sao phải cần nó? Tôi đang rất khó chịu vì bản thân đã làm backend gần 4 năm rồi nhưng khi đi phỏng vấn người ta lại hỏi tôi những kiến thức nền bên dưới mà tôi rất hiếm khi động tới trong công việc hằng ngày ( ngôn ngữ chính của tôi là python, chắc có lẽ những hàm standard của nó đã tối ưu hết các phần này rồi chăng? ).

Còn về tư duy logic, giải quyết vấn đề thì tôi tự tin là mình ở mức khá trở lên.
Reply With Quote
  #402  
Old 22-09-2019, 16:01
Senior Member
Join Date: 02-2017
Posts: 1,143
Re: Javascript - Ngôn ngữ 'thống lĩnh' thị trường lập trình thế giới năm 2019

Quote:
Originally Posted by su.thay View Post
Anh đã đi làm chưa, nếu đã đi làm thì chắc anh anh đã biết anh cần phải học cái gì rồi. Cái anh cần là ngồi đọc sách và tìm hiểu về nó. Đi làm mà hỏi câu này thì chẳng qua là do làm biếng thôi

Còn nếu đang đi học thì việc cần thiết nhất là cày tiếng anh và cố gắng GPA ít nhất 7.0. Thời gian rành thì làm letcode và hackerrank. Đạt được 2 ĐK đó thì học bổng toàn phần đầy rẫy, ra nước ngoài học thì cơ hội tìm việc ở nước ngoài dễ hơn. Với ngành CNTT thì các nước châu âu cho ở lại 3 năm để tìm việc, nê chắc chắn sẽ OK. Ông nào cũng bảo học không quan trọng, nhưng dưới 7.0 là khó xin học bổng master rồi. Và thay vì ra trường đi làm bắt đầu cày ielts, thì hãy làm những điều đó khi ở trường đi.

Giải quyết tất cả những thứ linh tinh như ielts ở bậc DDHj, càng sớm càng tốt, để tập trung toàn bộ sức lực mà cày. Chứ vừa lo ielts, vừa lo apply master, lại vừa cày giải thuật, lập trình các kiểu thì rất cực và dẽ nản



Còn học hành thì quá đơn giản, anh xem thử anh muốn theo mảng nào. Xác định được rồi thì vào amazon, xem thông tin tuyển dụng của nó, trong thông tin tuyển dũng sẽ ghi rất rõ kỹ năng nó mong muốn. Anh cứ bám theo đó, mỗi chủ đề tìm 1-2 cuốn sách trên amazon mà đọc, rồi áp dụng code thử, push lên github, xây dựng network trên github.
Thầy ơi, em tay ngang làm frontend 3 năm rồi (web app và mobile app), lương ở Việt Nam cũng gần 1k, trước học Information System của trường Kinh tế nhưng chương trình học như shit học không vào đầu cố cũng qua nổi GPA 7, h đang vừa code vừa cày IELTS . Không biết nên chọn Computer Science hay Master of IT in Business (học chuyên về Analytic với Data) để apply Master ạ. Em đang nhắm SMU của Sing với 1 vài trường ở Úc cho năm sau.
Mong thầy cho lời khuyên
__________________
[I]haihoangpro. Quên pass và chức năng reset pass ko hoạt động.
Join Date: 29-4-2009[/I]
Reply With Quote
  #403  
Old 22-09-2019, 16:03
Nevermind_1102's Avatar
Senior Member
Join Date: 12-2012
Posts: 1,817
Re: Page 40 - Javascript - Ngôn ngữ 'thống lĩnh' thị trường lập trình thế giới năm 2019

Quote:
Originally Posted by su.thay View Post
Chả có gì là đại chiến cả anh ạ. nói chuyện chém gió chơi thôi.
Chứ bản chất mà nói ngôn ngữ nào tốt, ngôn ngữ nào không tốt đã sai rồi.

Chỉ nói về mặt thiết kế của ngôn ngữ xem nó thiết kế vậy có hợp lý hay không thôi,
Vì khi thiết kế, team hoàn toàn biết những việc như vậy
Nhưng chugns nó chấp nhận để đạt được 1 mục tiêu nào đó thôi.

Thực tế chứng minh thì những quyết định đánh đổi của team C++ là khá sai, dẫn tới việc C++ không thể bùng nổ trên thị trường được.

Một ví dụ là java, mặc dù ra đời lâu lắm rồi thành tiêu chuẩn cho mọi ngôn ngữ về OOP
Nghe thầy vs ông flowerfx2 nc mới thấy mở mang đầu óc quá. Giờ theo hướng manage rồi nhưng từng là dev nên vẫn rất phục mấy ông techlead

via vozForums for iPhone
Reply With Quote
  #404  
Old 22-09-2019, 16:07
quangsumi2's Avatar
Senior Member
Join Date: 03-2014
Posts: 442
Re: Javascript - Ngôn ngữ 'thống lĩnh' thị trường lập trình thế giới năm 2019

Quote:
Originally Posted by su.thay View Post
Anh đã đi làm chưa, nếu đã đi làm thì chắc anh anh đã biết anh cần phải học cái gì rồi. Cái anh cần là ngồi đọc sách và tìm hiểu về nó. Đi làm mà hỏi câu này thì chẳng qua là do làm biếng thôi

Còn nếu đang đi học thì việc cần thiết nhất là cày tiếng anh và cố gắng GPA ít nhất 7.0. Thời gian rành thì làm letcode và hackerrank. Đạt được 2 ĐK đó thì học bổng toàn phần đầy rẫy, ra nước ngoài học thì cơ hội tìm việc ở nước ngoài dễ hơn. Với ngành CNTT thì các nước châu âu cho ở lại 3 năm để tìm việc, nê chắc chắn sẽ OK. Ông nào cũng bảo học không quan trọng, nhưng dưới 7.0 là khó xin học bổng master rồi. Và thay vì ra trường đi làm bắt đầu cày ielts, thì hãy làm những điều đó khi ở trường đi.

Giải quyết tất cả những thứ linh tinh như ielts ở bậc DDHj, càng sớm càng tốt, để tập trung toàn bộ sức lực mà cày. Chứ vừa lo ielts, vừa lo apply master, lại vừa cày giải thuật, lập trình các kiểu thì rất cực và dẽ nản

Còn học hành thì quá đơn giản, anh xem thử anh muốn theo mảng nào. Xác định được rồi thì vào amazon, xem thông tin tuyển dụng của nó, trong thông tin tuyển dũng sẽ ghi rất rõ kỹ năng nó mong muốn. Anh cứ bám theo đó, mỗi chủ đề tìm 1-2 cuốn sách trên amazon mà đọc, rồi áp dụng code thử, push lên github, xây dựng network trên github.
Cảm ơn thầy dạy bảo

Nhờ đọc cmt của thầy gần đây con mới bắt đầu chuyên tâm học giải thuật. Tiếng Anh con đã giác ngộ từ sớm, hy vọng ra trường sẽ có cái chứng chỉ khá.

Trước đến nay con chỉ nghiên cứu về OOP và C# để mong ra trường có việc làm thôi chứ chưa mơ trời Âu bao giờ

Còn việc sang Amazon thì có lẽ phải chờ thầy mở lớp phổ độ chúng sinh
__________________
[B][COLOR="Red"]Maria Aine's Fandom[/COLOR][/B]
http://scanlover.com/d/2447-maria-aine
[B][COLOR="DarkOrange"]Maria Aine's All Precious Moments[/COLOR][/B]
https://youtube.com/channel/UCxNCbEdEb89blMvKVoRas5g
[B][COLOR="RoyalBlue"]WINTER IS COMING THE NIGHT IS DARK BUT WE HAVE MARIA[/COLOR][/B]
Reply With Quote
  #405  
Old 22-09-2019, 16:13
Senior Member
Join Date: 03-2018
Posts: 1,564
Re: Javascript - Ngôn ngữ 'thống lĩnh' thị trường lập trình thế giới năm 2019

Quote:
Originally Posted by su.thay View Post
C++ anh bảo crossplatfrom là sai nhé. Bản chất C++ rất khó code crossplatform. Nguyên nhân là do binary compatibility.

Binary compatibility Nghĩa là sao??

Tức là khi anh compile, nó sẽ chuyển function và variable thành 1 dạng mã hóa, gọi là macro, ví dụ hàm functionA, nó sẽ chuyển thành function122333A

Dẫn tới 1 việc là các máy khác nhau, các compiler khác nhau, sẽ compile ra các macro khác nhau. Nên build trên win nó ra macro khác, build trên linux nó ra macro khác, thậm chí compiler 3.x và 4.x nó cũng ra khác. Nếu anh sử dụng API của win trên linux thì gần như là điuề không thể. Hoặc thậm chí là 2 phiên bản linux khác nhau cũng mệt mỏi

Cho nên rất khó để build C++ cho crossplatfrom.

Các người ta hay làm hiện giờ là viết bằng C++. sau đó wrap lại bằng C (C thì nó sẽ sinh ra macro giống nhau, C là ngôn ngữ bin compability), sau đó từ C API này có thể chuyển thành python API, ruby API ... Hoặc API cho bất cứ ngôn ngữ nào 1 cách dễ dàng bằng cách dugnf COM, CORBA, ...


Đây có thể gọi là 1 trong 2 yếu điểm chí mạng của C++. Thầy có đọc 1 blog của tác giả viết ra C++, và lão chỉ nói sau khi thảo luận thì quyết định làm vậy là để cho theiets kế compiler 1 cách thoải mái. Nhưng mà đây là quyết dịnh ngu ngốc nhất của các anh thiết kế ngôn ngữ C++. NÓ làm cho C++ khong thể bủng nổ được.

Các anh nên nhớ phần lớn trường ĐH người ta dạy C/C++. có nghĩa là nó là ngôn ngữ được học và nắm bắt nhiều nhât, người ta sẽ quen với câu lệnh và tư duy C/C++ trước, rồi mới chuyển qua các ngôn ngữ khác. Với thuanatj lợi như vậy, nếu nó được thiết kế tốt, chắc chắn sẽ bùng nổ, Nhưng rất tiến 2 yếu điểm chí mạng của nó, làm người ta bắt buộc phải thiết kế ra các ngôn ngữ khác.


Thêm nữa quyết định này đi ngược với triết lý thiết kế của C.

Túm váy là C và C++ là do 2 nhóm khác nhau phát triển, Những ông phát triển C đúng là siêu nhâm. Còn C++ thì không phải vậy, nó được thiết kế rất láo và thiếu kinh nghiêmhj


Chính cha đẻ của C, lão cũng rất ngứa mắt với C++, vì những quyết định tào lao của nhóm này, nên lão mới hợp tác với google để làm ra golang. Golang giải quyết triệt để 2 bài toán vướng mắc của C++

1/ Quản lý memory, golang dùng 1 deamon để coder khỏi quan tâm tới free memory
2/ Golang là ngôn ngữ có bin compatibility. Tức là viết crossplatform dễ dàng



I just love programming in Go. Its fast, its efficient, it prevents bad habits and defines a formatting schema. What a dream.

Not only that, it offers cross platform compilation and runs on all operating systems without the need for Go to be installed. Its compiled!
Thằng này là clone của LapTrinhGame đúng không nhỉ.
Toàn cái kiểu nói rất dài, rất to tát, nhưng kiến thức thì sai lè lè.

Binary compatibility? Ý cậu là binary-code compatibility? API? Ý cậu là ABI?
Mà cái kẹc gì gọi là compile function ra macro? Macro là cái khác đéo liên quan.

C++ thì có vài vấn đề, đầu tiên là C++cho phép hàm trùng tên (function overloading), sau khi dịch ra ASM (chỉ cho phép mỗi hàm một tên) nó phải đổi lại tên mấy hàm đó đi. Ví dụ
Code:
int f(int x); // f_1_i4_r_i4
float f(float x); f_1_f8_r_f8
gì gì đó. Cái này bản thân nó không có vấn đề gì, thực ra đống compiled language về sau cũng làm y hệt như vậy.

Nhưng vấn đề của C++ là có rất nhiều implementation (hiểu ở đây là các compiler viết bởi nhiều người khác nhau, ví dụ VSC++ của M$, ICC của Intel, GCC/G++ của GNU, Clang của LLVM)... mỗi một thằng lại đi theo một kiểu (name convention riêng), mà nhiều khi mỗi version của implementation nó lại đổi đi một chút. Thành ra cùng một đoạn code mà dùng các compiler khác nhau (hoặc đơn giản là version khác nhau) cũng có thể tạo ra output khác nhau (tên hàm khác luôn). Kiểu như thằng su.thay hôm nay gọi là su.thay hôm sau gọi là LapTrinhGame chẳng hạn, ai cũng biết là cùng một người(?) nhưng tên khác hẳn làm sao dám chắc mà gọi?

Cho nên người ta giải quyết bằng viết thêm một đoạn code gọi là extern "C", khai báo xong nó tương đương với bảo compiler là cái function này chỉ có một tên thôi (mày dùng C naming convention -- cố định -- cho tao).

Mà không chỉ C++, thằng Rust vốn cũng là system language, muốn build ra thư viện (dll/so) cho thằng khác xài cũng phải viết mấy đoạn dạng
Code:
#
pub extern fn foo() {
   ...
}
tương tự.

Mấy thằng như Go đéo dính vấn đề này bởi vì Go ngay từ đầu nó không có ý định viết thành library cho các ngôn ngữ khác cùng xài (có cố cũng khó do cái garbage collection).

Tóm lại một câu là do C++ có quá nhiều thằng viết compiler, lại đéo có spec cho vụ này, mệnh ai người ấy viết cho nên không "cross platform", chứ đéo liên quan tới non tay hay thiếu kinh nghiệm (mặc dù công bằng mà nói thì C++ design như cứt thật).

P/S:

Rob Pike đíu phải là cha đẻ của C. Tuy đúng là Rob Pike cũng là một người đóng góp khá nhiều cho C, nhưng người thiết kế ban đầu là Dennis Ritchie.

Đến đây thì tôi khẳng định tới 80% thằng này với LapTrinhGame là cùng một người, vì đều có ngộ nhận tương tự.
Reply With Quote
  #406  
Old 22-09-2019, 16:16
su.thay's Avatar
Senior Member
Join Date: 04-2016
Posts: 164
Re: Page 41 - Javascript - Ngôn ngữ 'thống lĩnh' thị trường lập trình thế giới năm 2019

Anh xacs định đi học để làm gì? Để định cư, để kiếm việc nước ngoài, hay là để nâng cao kiến thức về lại VN.

Nếu định cư, mời anh qua Đức và Canada. Canada anh tốt nghiệp master xong, gần như 99% sẽ xin được việc, và sau đó thì định cư rất dễ dàng, nhưng không bảo lãnh được người thân nhé.

Nếu anh học để kiếm việc, thì singapore không phải là nơi hợp lý, vì không phải công ty nào cũng đặt ở Sing. Phần lớn là đặt ở Sing văn phòng quản lý, còn đặt ở sing để tuyển kỹ sư thì thầy nghĩ không phải, do ở sing khá ít kỹ sư chất lượng. Nếu tuyển kỹ sư thì qua đài loan thì tốt hơn.

Coh nên thầy nghĩ tốt nhất là qua Châu Âu hoặc Bắc mỹ là tốt nhất. Mà tốt nhất là canada, vì qua canada học gần như anh chắc suất định cư rồi. Mà công ty mỹ nó cũng hay qua canada để lấy người. Khi đó anh qua Mỹ ở và định cư cũng được.

Đương nhiên học phí canada khá cao, nhưng nó xứng đang từng xu 1. nếu có tiền tốt nhất qua canada. Mỹ bây giờ định cư rất khó. và khi định cư thì nó bắt phải bỏ quốc tịch VN.

Học bổng canada cũng rất nhiều. Anh qua khu montreal thì sát ngay nách mỹ. Đám bên đây khi nào nổi hứng còn chạy qua mỹ đổ xăng rồi chạy về lại, vì cách nhau có chút xíu


Theo ML thì việc hơi căng đấy anh ạ, vì phần lớn job liêm quan đên AI, ML thì thầy thấy người ta tuyển PhD. nếu anh theo software thì có lẽ xin việc dễ hơn

Quote:
Originally Posted by Ong Co Van View Post
Thầy cho e hỏi e background khá ổn, học chuyên tin, 1 trường top kinh tế, 1 top về CNTT ở VN ạ, GPA đều trên 3.0, tiếng anh e có thể cày thêm trong dưới 1 năm, e vừa ra trường ạ, e nên đi singapore học master ở NUS (k phải khoa tốt nhất của NUS và có thể vay hết toàn bộ chi phí ạ) hay cố tìm đường sang Mỹ học ạ, và e thấy học bổng ở Mỹ vẫn phải cần thêm 1 khoản tiền lớn ạ, và học trường k phải top ở Mỹ và NUS thì cái nào hơn ạ. .Định hướng là theo ML theo hướng làm dự báo ạ. code và thuật toán vẫn còn non ạ . Mong muốn là đc đến Mỹ ạ
__________________
Thầy đã quy y cửa phật. Dùng lập trình để phổ độ chúng sinh
Reply With Quote
  #407  
Old 22-09-2019, 16:17
cuteomegai's Avatar
Senior Member
Join Date: 12-2009
Posts: 544
Re: Javascript - Ngôn ngữ 'thống lĩnh' thị trường lập trình thế giới năm 2019

Hồi tôi đi học trường ko dạy javascript, đi làm ko biết javascript, nghĩ lại tại sao trường ko dạy javascript, cũng ko hiểu.
__________________
[CENTER][SIZE="4"][B][COLOR="#38bc9c"]nhacfree.com[/COLOR] - Tải nhạc mp3 [COLOR="Blue"]zing[/COLOR]/[COLOR="blue"]nhaccuatui[/COLOR]/[COLOR="blue"]youtube[/COLOR] bản quyền miễn phí 2018
Nhanh, tiện dụng, không giới hạn[/B][/SIZE][/CENTER]
Reply With Quote
  #408  
Old 22-09-2019, 16:21
su.thay's Avatar
Senior Member
Join Date: 04-2016
Posts: 164
Re: Javascript - Ngôn ngữ 'thống lĩnh' thị trường lập trình thế giới năm 2019

Như đã bảo ở trên, cuối cùng anh cũng phải wrap từ C++ qua C style để nó run được crossplatform.
Việc compiler để nó design không theo chuẩn đó là lỗi của anh. Chứ chả phải của ai khác.
Còn anh đừng bảo thầy là dùng extern "C" cho toàn bộ dự án C++ của anh

Quote:
Originally Posted by Nipin View Post
Thằng này là clone của LapTrinhGame đúng không nhỉ.
Toàn cái kiểu nói rất dài, rất to tát, nhưng kiến thức thì sai lè lè.

Binary compatibility? Ý cậu là binary-code compatibility? API? Ý cậu là ABI?
Mà cái kẹc gì gọi là compile function ra macro? Macro là cái khác đéo liên quan.

C++ thì có vài vấn đề, đầu tiên là C++cho phép hàm trùng tên (function overloading), sau khi dịch ra ASM (chỉ cho phép mỗi hàm một tên) nó phải đổi lại tên mấy hàm đó đi. Ví dụ
Code:
int f(int x); // f_1_i4_r_i4
float f(float x); f_1_f8_r_f8
gì gì đó. Cái này bản thân nó không có vấn đề gì, thực ra đống compiled language về sau cũng làm y hệt như vậy.

Nhưng vấn đề của C++ là có rất nhiều implementation (hiểu ở đây là các compiler viết bởi nhiều người khác nhau, ví dụ VSC++ của M$, ICC của Intel, GCC/G++ của GNU, Clang của LLVM)... mỗi một thằng lại đi theo một kiểu (name convention riêng), mà nhiều khi mỗi version của implementation nó lại đổi đi một chút. Thành ra cùng một đoạn code mà dùng các compiler khác nhau (hoặc đơn giản là version khác nhau) cũng có thể tạo ra output khác nhau (tên hàm khác luôn). Kiểu như thằng su.thay hôm nay gọi là su.thay hôm sau gọi là LapTrinhGame chẳng hạn, ai cũng biết là cùng một người(?) nhưng tên khác hẳn làm sao dám chắc mà gọi?

Cho nên người ta giải quyết bằng viết thêm một đoạn code gọi là extern "C", khai báo xong nó tương đương với bảo compiler là cái function này chỉ có một tên thôi (mày dùng C naming convention -- cố định -- cho tao).

Mà không chỉ C++, thằng Rust vốn cũng là system language, muốn build ra thư viện (dll/so) cho thằng khác xài cũng phải viết mấy đoạn dạng
Code:
#
pub extern fn foo() {
   ...
}
tương tự.

Mấy thằng như Go đéo dính vấn đề này bởi vì Go ngay từ đầu nó không có ý định viết thành library cho các ngôn ngữ khác cùng xài (có cố cũng khó do cái garbage collection).

Tóm lại một câu là do C++ có quá nhiều thằng viết compiler, lại đéo có spec cho vụ này, mệnh ai người ấy viết cho nên không "cross platform", chứ đéo liên quan tới non tay hay thiếu kinh nghiệm (mặc dù công bằng mà nói thì C++ design như cứt thật).

P/S:

Rob Pike đíu phải là cha đẻ của C. Tuy đúng là Rob Pike cũng là một người đóng góp khá nhiều cho C, nhưng người thiết kế ban đầu là Dennis Ritchie.

Đến đây thì tôi khẳng định tới 80% thằng này với LapTrinhGame là cùng một người, vì đều có ngộ nhận tương tự.
__________________
Thầy đã quy y cửa phật. Dùng lập trình để phổ độ chúng sinh
Reply With Quote
  #409  
Old 22-09-2019, 16:33
Senior Member
Join Date: 05-2011
Posts: 563
Re: Javascript - Ngôn ngữ 'thống lĩnh' thị trường lập trình thế giới năm 2019

Quote:
Originally Posted by su.thay View Post
Cái anh nói không chuẩn, anh hoàn toàn có thể wrap alloc lại, để ngươi dùng khỏi cần quan tâm tới alloc pointer, Anh có thể tìm hiểu C++16, C++20, team dev C++ đang tìm mọi các để loại bỏ thằng pointer. Chính team phát triển nó cũng thấy sai lầm khi để expose ra quá nhiều thông qua pointer rồi. Chính pointer ón phá vỡ rất nhiều quy tắc, Ví dụ đơn giản, nếu anh làm hàm get, trả về pointer của 1 thành phần private, C++ nó vẫn chạy phè phè, để mặc encapsulation

Thằng go làm điều này rất tốt.

Thứ 2, nếu anh không dùng OOP thì thôi, còn nếu anh dùng, anh phải tôn trọng rules của nó. Nhưng thứ không phải là Rules có nghĩa nó là special cases. Càng nhiều special cases, thì ngôn ngữ của anh càng không tuân theo quy tắc. Và một người coder, ngươi ta chỉ được dạy về lý thuyết OOP, có nghĩa là tất cả ngôn ngữ OOP đều phải tuân theo quy tắc đó, việc đó giúp cho việc chueyenr qua lại giữa các ngôn ngữ sử dụng OOP không gặp khó khăn.

Bản thân ngôn ngữ là 1 set các quy tắc, anh chơi phá luật, bắt người dùng phải học special cases. Đó không thể là ngôn ngữ tốt. Anh đưa ra quy tắc để người ta làm theo, nhưng chính anh là người phá vỡ quy tắc nhiều nhất, thì ai có thể tin tưởng anh
C++ kok bỏ pointer đc, mình làm đến master c++ rồi toàn bộ raw pointer hết vì dùng smart pointer rất dễ dẫn đến vụ giá trị pointer mình cần lưu lại bị thằng smart nó delete hết, nói chung smart pointer cho bọn dở ng xài thôi, lên trình expert hay master họ quay về raw pointer cho dễ quản lý hết

Còn oop nó có quy tắc thông qua ý nghĩa trừu tượng rồi, thoả mãn giá trị trừu tượng của nó là dc, đẻ ra đống pattern dựa trên oop rồi nói c++ thế này thế kia là kok đúng, phải suy nghĩ ở level trừu tượng mới biết c++ nó mạnh thế nào để thiết kế các class và đối tượng dc, ví dụ như mình thiết kế các lớp đủ trừu tượng rồi thì khi mình tiếp nhận 1 dự án thì mình cho các lớp trừu tượng của project đó thừa kế hoặc composite (nắm) các lớp trừu tượng của mình thiết kế làm cho toàn bộ dự án mà mình kok biết chạy như thế nào đều dc bao trong vòng thiết kế của mình, lúc đó thời gian làm xong thay vì dự tính là 1 năm thì xuống 6 tháng thôi.

Nói chung oop hãy nghĩ mình là chúa và áp đặt mọi thứ theo ý nghĩ trừu tượng của mình sẽ đúng hơn là chạy theo mớ lý thuyết hỗn tạp mỗi ng 1 ý
Reply With Quote
  #410  
Old 22-09-2019, 16:50
su.thay's Avatar
Senior Member
Join Date: 04-2016
Posts: 164
Re: Javascript - Ngôn ngữ 'thống lĩnh' thị trường lập trình thế giới năm 2019

1/ Kỹ năng algorithm và data.
Chắc chắn cần cái này

2/ System design
Vì hệ thống hiện giờ thiết kế theo kiểu mở rộng, bảo mật và tin cậy

3/ Networking
Ví anh làm việc hàng ngày với http, http2

4/ C/C++, python và golang


5/ database



Quote:
Originally Posted by TheSwarm View Post
Chào thầy,

Tôi là một người tay ngang học kinh tế nhảy vào lập trình. Tôi tự học Python rồi đi làm.

Thầy cho tôi hỏi, một senior backend cần phải có những kiến thức nền tảng nào? Và tại sao phải cần nó? Tôi đang rất khó chịu vì bản thân đã làm backend gần 4 năm rồi nhưng khi đi phỏng vấn người ta lại hỏi tôi những kiến thức nền bên dưới mà tôi rất hiếm khi động tới trong công việc hằng ngày ( ngôn ngữ chính của tôi là python, chắc có lẽ những hàm standard của nó đã tối ưu hết các phần này rồi chăng? ).

Còn về tư duy logic, giải quyết vấn đề thì tôi tự tin là mình ở mức khá trở lên.
__________________
Thầy đã quy y cửa phật. Dùng lập trình để phổ độ chúng sinh
Reply With Quote
Reply

« Previous Thread | Next Thread »

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


All times are GMT +7. The time now is 22:51.