#geekforgeeks
Explore tagged Tumblr posts
decabits-blog · 5 years ago
Video
tumblr
Maintaining the integrity of your brand and providing it world-class recognition is essential for long term success. Tensed about the complexities involved in logo making? Graphic designers and web agencies charging too much? Stop worrying. The one-stop solution for making your logos is right here! Logo Maker by Decabits is a self-curated tool developed by a start-up in New Delhi that focuses on providing an easy to use tool for designing several stunning logos in minutes. This tool caters to the needs of the customers and will surely provide a user-friendly experience.
How are we different?
· Register with Logo Maker to enjoy top quality designs
· No paid plans, easy usage
· Save in all formats
· Automatic saving of logos
Link: http://logomaker.decabits.com
0 notes
hktime9 · 6 years ago
Text
“How to write better code?” asked a computer scientist-to-be
This is a question that I get once every 2 weeks (on average) mostly from my colleagues and friends who are studying the same degree for the same time as I. Why do they ask me? To be honest- I don’t know. What I also don’t know is the answer to their question. But I’d try to summarize what I think of the question. The answer to this question depends on many factors. If the questioner is a computer science major, I’d see what year they are in. Here’s my year to year advice to them:
- Freshman year: Coding at first is really intimidating. Its given that you’d spend hours in front of your screen to find that one line that does not compile. Here, you should remain patient and learn to accept that this problem demands a finite amount of time and focused concentration to overcome. Using online sources like stack overflow and GitHub are great options but never a first step if you want to become a decent coder. Go line by line and figure out what’s happening and whether it’s the right behavior. Freshman year includes a lot of programming labs, projects and assignments. Try to do all of them and start well before your deadline (seriously). Make it a habit to write a small program everyday. Could be a simple program to add two numbers or anything of that sort. Do some string operation or something. This would not only improve your algorithmic thinking, but also would polish the syntax of the language you code in. Like everything else in the world, mastery comes after practice. So hang in tight!
-Sophomore year: By now you have some experience of the life cycle of a typical program: understand the problem statement, do it on paper the way a human would do, do it on paper the way a computer would do, translate the latter to the programming language in question, debug. Now you also know some basics of computer science through some programming courses and maybe a few systems courses as well. The scope of your programming assignments should not be higher than maybe some array based tasks or implementing a few data structures like linked lists and binary trees to name a few. I’m assuming that you are completing your programming assignments religiously. If not, you really should be doing that before putting in extra work to improve your coding. I’ve seen people depending/copying on other people’s work even in individual assignments. While some might get away from plagiarism penalties and policies of your university, others face some sort of penalty (could be a grade reduction or something of that sort). While the latter might learn a lesson, the former fails to develop their skills and ultimately suffers in their professional life. So leaching on a friend is never a good option, well not in the long term. Try to do it even if you’re finding it hard. Take help from your teaching assistants and the rest of the course staff. You need to realize that these people are paid to help you. So please utilize office hours and appointments to the fullest. Doing extra always helps like attempting optional parts or the ones that give extra credits. Do some interesting problems and coding puzzles like the ones on hackerrank and leetcode. These are some excellent resources to polish up your skills as a developer and problem solver because they include some obvious metrics like completion, correctness and time. Have a study group where you can discuss your assignments and homeworks. There’s a difference between discussing and copying/leaching off. Mind that difference.
-Junior year: This is when you’re comfortable with programming in general. You know how it can be applied in a array of different tasks. You might have taken some old school courses like algorithms, databases and operating systems. PS I’m counting data structures as a programming intensive course and did not give it a special mention in the sophomore section :(. Go for some interesting courses like a networks course, AI/ ML or maybe some usability course. These courses will help you appreciate how you just cannot run away from programming. You’ll learn new approaches like socket programming and programming over a network (maybe some Remote Procedure Calls?). Go for some interesting applications. I remember developing a simple chatting application over a network during my junior year. I hosted it on the university’s network and anyone on the network could use it (if they knew the ip, obviously). I not only developed it, but also made it resistant to buffer overflows and scripting attacks(XSS) thanks to my roommate cum penetration tester. Once done with your Databases course, you can go for a full stack level by learning some server side and client side scripting. Learn some server based frameworks in javascript or anything. Look for some widely used frameworks; the ones which have a wider developer community. The community support will help you a lot, trust me. Some front end frameworks (client side) like ReactJS and VueJS are great these days. You can learn them using some MOOCS if your university doesn’t offer a course on them. Personally, Coursera is a great resource. Its super easy to use and has great customer care. Their “Full-Stack Web Development with React Specialization” offered by the Hong Kong University of Science and Technology is great. Once done you are fully capable to work as a full stack developer and the only thing stopping you is an internship offer from a company and time to practice. The latter can be achieved on your own, while the prior needs some homework and external networking. Connect to some local organization and CEOs on LinkedIn. Make sure you have a well maintained and updated LinkedIn profile and turn on recruiter discoveries to get recruiter in-mails. Be on the lookout for internship offerings and openings. Apply whenever you get a chance. Working on an organization’s project will help you learn a lot. It will not only improve your coding and problem solving stills, but also make you realize how important it is to work in teams. The latter is crucial to success in the industry since a project has multiple groups composed of many individuals. Be sure to take up work that is doable within the deadline. Keep a good relation with your supervisor and always ask for specific direction to get it right the first time.
Senior year: This has to be the most confusing year in-terms of future planning since graduation is approaching and life after is somewhat uncertain. Don’t let this fear of the uncertain get to you. My advice might not be very concrete because I, myself, am a senior while writing this. But I’ll try to incorporate my learning and findings here. The first question you might want to answer is whether coding is for you. This question is not presented before because there wasn’t an escape from it earlier because you had assignments that required you to code. Now that you can take up courses that need minimal programming effort like human-computer interaction and usability/planning courses you have a way out. These include courses like requirement engineering and planning. There are other examples as well which aren’t difficult to find. The answer to the question posed would not be a yes unless you completely love programming, in which case you’re on the right track. Loving programming is different from being good at it. You might love it and be bad at it and that’s completely fine in which case you should multiply your efforts to get better at it. Again, practice is the key. Try out programming courses on Coursera or some other platform. Get a github for student account. You’ll get it for free if you have an email account provided by your university. I’d like to make a special mention to Educative.io which offers a plethora of courses for free if you have a github for students. Educative.io is user friendly and keeps good track of your progress through the course. It is run by a very dedicated team. I personally know people working there who write articles and make courses. Almost all of them have worked as teaching assistants during their time at the university and most certainly know what they are doing and there work reflects their capabilites. They have some amazing courses. Do check it out if you have a github for students account. You’d also get free access to paid tools like AWS, Azure, DigitalOcean and Heroku. If the answer to the question is no, then you need to research more on courses and fields in computer science that do not require intense programming. These 3 years will definitely equip you with the skills that you need to do “some” coding that these fields demand. There wont be much but not zero at the same time. If you are still undecided about the question, you really should invest time knowing an answer. Ask your professors for help. Tell them honestly what you feel and why you can’t make a decision considering that you’ve spent considerable time doing it. They might guide you to a definitive answer. And then continue according to the answer. Now’s also a good time to look into industry’s standards and best practices. Maybe learn a new language? Or try using mainstream tools and familiarize yourself with devOps. Some of them are Docker, Jenkins, Slack, Jira, Git and many more, each with a set of its own unique features. Their knowledge and use will help you once you land a job because most organizations use them on a daily basis. Try some cloud computing platforms like the Amazon web services, Microsoft’s Azure and Google’s Cloud Platform. These platforms offer an array of services like storage, hosting and compute. Familiarize yourself with their usage because they usually have a learning curve. Do a lot of hobby coding. Try different approaches to a problem. For example I was going through geekforgeeks and came across an interesting problem which had a greedy solution and required an LCM (Least Common Multiple) of two numbers. The author had used a builtin function for computing it. I wondered if I could write it recursively. I decomposed the problem and found an optimal substructure which proved that a recursive solution should exist. I worked on it and wrote it and it worked. It was a mere 10 liner. Practice like the one mentioned will help you develop confidence while improving your coding skills. So practice writing code even if its not that intensive and long and hopefully you’ll see improvement.
This concludes my very first attempt that writing. I plan to write more and post here often. I’m eager to get feedback and comments. Here’s my LinkedIn profile. I really hope this helps the reader. Thank you for reading
41 notes · View notes
xiangni · 3 years ago
Text
November 10. 2022
- Oh god it’s already Nov 12 oops. Well. I don’t think Thursday was particularly eventful. I got a new computer mouse lol
- I figured out FIFO page replacement with the help of Geekforgeek hahaaaaaaa. I now understand how queueues work at least
- now to figure out LRU ~
0 notes
rapttor · 3 years ago
Text
Disadvantages of (web) programming languages
Disadvantages of (web) programming languages
2022 edition There are many programing languages comparisons out there, and everyone tends to lean toward their favorite one. I would rather point out what you cannot do with some of them, which should be the only reason to (not) use one of them… otherwise, you should always use one which you’re most familiar with (or which the client wants 🙂 Sources: GeekForGeeks, CodeMentor, Toptal blog,…
View On WordPress
0 notes
premk-blog · 5 years ago
Text
Ten important websites for every programmer. ~ Stack Overflow ~ GitHub ~ Youtube ~ MDN ~ Google ~ W3Schools ~ FreeCodeCamp ~ Hackerrank ~ GeekForGeeks ~ Khan Academy
0 notes
la-fillette · 5 years ago
Text
Tôi đã phỏng vấn tại năm công ty hàng đầu ở Thung lũng Silicon trong năm ngày và may mắn thay, tôi nhận được cả năm lời mời làm việc - Xiaohan Zeng
Tumblr media
#MDVN #Med3 #technology #interview #siliconvalley #programming 
https://link.medium.com/VzC4fNHmA2
---------------------------
Trong năm ngày từ 24 đ��n 28 tháng 7 năm 2017, tôi đã phỏng vấn tại LinkedIn, Salesforce Einstein, Google, Airbnb và Facebook và tôi nhận được tất cả năm lời mời làm việc.Đó là một trải nghiệm vô cùng tuyệt vời và tôi cảm thấy may mắn vì những nỗ lực của mình đã được đền đáp, vì vậy tôi quyết định sẽ viết một cái gì đó về nó. Tôi sẽ thảo luận về cách mà tôi đã chuẩn bị, review về quá trình phỏng vấn và chia sẻ ấn tượng của tôi về năm công ty.
1. Làm thế nào để bắt đầu
Tôi đã ở Groupon gần ba năm. Đó là công việc đầu tiên của tôi và tôi đã làm việc với một team thật sự tuyệt vời với những dự án tuyệt vời. Chúng tôi đã tạo nên ảnh hưởng trong công ty, và được xuất bản những bài báo về những điều đó. Nhưng dần theo thời gian, tôi thấy mình không học hỏi được gì nhiều, và tâm trí của tôi thì khao khát nhiều hơn như thế. Cũng là một kỹ sư phần mềm ở Chicago, có rất nhiều công ty tuyệt vời thu hút tôi ở Bay Area.Cuộc sống ngắn ngủi, và sự nghiệp thì lại ngắn hơn nữa. Sau khi nói chuyện với vợ và nhận được sự hỗ trợ từ cô ấy, tôi quyết định hành động để thay đổi sự nghiệp đầu tiên.
2. Sự chuẩn bị
Mặc dù tôi quan tâm đến vị trí liên quan đến Machine Learning, nhưng các vị trí tại năm công ty lại có chút khác nhau về chức danh và quy trình phỏng vấn. Ba nơi là kỹ sư Machine Learning (LinkedIn, Google, Facebook), một là kỹ sư dữ liệu (Salesforce) và một là kỹ sư phần mềm (Airbnb). Do đó tôi cần chuẩn bị cho ba lĩnh vực khác nhau: coding, Machine Learning và thiết kế hệ thống.Và vì công việc lúc đó của tôi là full time, nên tôi phải mất tổng cộng 2 tháng 3 ngày để chuẩn bị. Đây là cách tôi chuẩn bị cho ba lĩnh vực.
2.1. Coding
Mặc dù tôi đồng ý rằng các cuộc phỏng vấn liên quan đến coding có thể không phải là cách tốt nhất để đánh giá tất cả các kỹ năng của bạn với tư cách là một nhà phát triển, nhưng nếu bạn là một kỹ sư giỏi thì không cần lo lắng. Và theo tôi, đây là cái cần thiết để có được công việc đó.Tôi chủ yếu sử dụng Leetcode và Geekforgeek để luyện tập, nhưng Hackerrank và Lintcode cũng là tốt. Tôi đã dành vài tuần để xem qua các cấu trúc dữ liệu và thuật toán phổ biến, sau đó tập trung vào các lĩnh vực mà tôi không quá quen thuộc và cuối cùng là thực hiện một số vấn đề thường thấy. Do sự hạn chế về mặt thời gian của tôi, tôi chỉ thường giải quyết 2 vấn đề/ngày.
Kinh nghiệm:
• Tập luyện nhiều. Không có cách nào khác.
• Nhưng thay vì thực hiện tất cả 600 bài trên Leetcode, hãy xem qua tất cả các loại trước và dành thời gian tìm hiểu kỹ từng vấn đề. Tôi đã làm khoảng 70 bài và cảm thấy đó là đủ cho tôi. Tôi nghĩ rằng nếu bạn thấy 70 bài này không hữu ích với bạn thì bạn không đúng rồi vì nếu như vậy thì 700 cũng thế cả thôi.
• Làm những phần khó khăn nhất trước. Sau đó tất cả phần còn lại sẽ trở nên dễ dàng.
• Nếu bị mắc kẹt trên một vấn đề trong hơn hai giờ, hãy kiểm tra các giải pháp. Nhiều thời gian hơn là không đáng.
• Sau khi giải quyết một vấn đề, hãy kiểm tra các giải pháp. Tôi thường ngạc nhiên về một số giải pháp thông minh, đặc biệt là liên quan đến việc viết Python trên một dòng.
• Sử dụng một ngôn ngữ mà bạn quen thuộc nhất và nó phải đủ phổ biến để dễ dàng giải thích cho người phỏng vấn của bạn.
2.2. Thiết kế hệ thống
Việc này có mối liên quan chặt chẽ với kinh nghiệm làm việc trên thực tế. Nhiều câu hỏi có thể được đặt ra trong các cuộc phỏng vấn thiết kế hệ thống, nó không giới hạn ở kiến trúc hệ thống, mà còn thiết kế hướng đối tượng, thiết kế lược đồ cơ sở dữ liệu, thiết kế hệ thống phân tán, khả năng mở rộng,…Có rất nhiều tài nguyên trực tuyến có thể giúp bạn chuẩn bị. Phần lớn tôi đọc các bài báo về phỏng vấn thiết kế hệ thống, kiến trúc của các hệ thống quy mô lớn và nghiên cứu trường hợp.Dưới đây là một số tài nguyên mà tôi thấy thực sự hữu ích:
http://blog.gainlo.co
http://horicky.blogspot.com
https://www.hiredintech.com/grouproom/system-design/lesson/52
http://www.lecloud.net/tagged/scalability
http://tutorials.jenkov.com/software-architecture/index.html
http://highscalability.com/
Mặc dù các cuộc phỏng vấn thiết kế hệ thống có thể bao gồm rất nhiều chủ đề, nhưng có một số hướng dẫn chung về cách tiếp cận các vấn đề như sau:
• Hiểu các yêu cầu trước, sau đó đưa ra thiết kế bậc cao và cuối cùng đi sâu vào chi tiết thực hiện. Đừng nhảy vào những chi tiết ngay lập tức mà không tìm ra yêu cầu là gì.
• Không có một thiết kế hệ thống nào là hoàn hảo. Hãy biết đánh đổi cho những gì cần thiết.Với tất cả những gì tôi đã nói, cách tốt nhất để thực hành cho các cuộc phỏng vấn thiết kế hệ thống là hãy thực sự ngồi xuống và thiết kế một hệ thống, làm nó như công việc hàng ngày của bạn. Thay vì thực hiện một hoạt động tối thiểu, hãy đi sâu hơn vào các công cụ, khung và thư viện bạn sử dụng. VD: nếu bạn sử dụng HBase, thay vì chỉ đơn giản là sử dụng máy khách để chạy một số DDL và thực hiện một số lần tìm nạp, hãy cố gắng hiểu kiến trúc tổng thể của nó, chẳng hạn như luồng đọc/ghi, làm thế nào HBase đảm bảo tính nhất quán mạnh mẽ, các phép tính phụ/chính làm gì và tìm ra cách bộ đệm LRU và Bộ lọc Bloom được sử dụng trong hệ thống. Bạn thậm chí có thể so sánh HBase với Cassandra để thấy sự tương đồng và khác biệt trong thiết kế của chúng. Và vì vậy, khi bạn được yêu cầu thiết kế một hệ thống tập tin phân tán, bạn cũng sẽ không cảm thấy bị bất ngờ. Nhiều blog cũng là một nguồn kiến thức tuyệt vời, chẳng hạn như Hacker Noon và blog kỹ thuật của một số công ty, cũng như những nguồn tài liệu chính thức của các dự án nguồn mở.Điều quan trọng nhất là hãy giữ sự tò mò và khiêm tốn của bạn. Hãy giống như một miếng bọt biển biết hấp thụ tất cả mọi thứ khi mà nó chìm vào.
2.3. Machine Learning
Phỏng vấn Machine Learning có thể được chia thành hai khía cạnh, lý thuyết và thiết kế sản phẩm.Trừ khi bạn có kinh nghiệm về nghiên cứu Machine Learning hoặc đã làm rất tốt trong khóa học ML của mình. Những thứ sách cổ điển như Elements of Statistical Learning và Pattern Recognition and Machine Learning là những lựa chọn tuyệt vời, và nếu bạn quan tâm đến các lĩnh vực cụ thể, bạn có thể đọc thêm về những điều đó.Hãy chắc chắn rằng bạn hiểu các khái niệm cơ bản như đánh đổi thiên vị và phương sai, ovefitting, thuật toán tối ưu, Định lý Bayes,... Hãy làm quen với những thứ phổ biến như Định lý Bayes và đạo hàm của các mô hình phổ biến như hồi quy logistic và SVM. Cố gắng thực hiện các mô hình đơn giản như cây quyết định và thuật toán K-means. Nếu có thể, hãy trình bày thành tựu của bạn vào CV, và hãy chắc chắn rằng bạn hiểu nó một cách kỹ lưỡng và có thể nhận xét về ưu và nhược điểm của nó.Đối với việc thiết kế sản phẩm ML, hiểu quy trình chung về cách xây dựng 1 sản phẩm ML. 
Đây là những gì tôi đã cố gắng làm:
• Tìm ra mục tiêu là gì: dự đoán, khuyến nghị,..
• Chọn thuật toán phù hợp: được giám sát so với không giám sát, phân loại so với hồi quy, mô hình tuyến tính tổng quát/cây quyết định/... Nêu lý do vì sao lựa chọn nó.
• Chọn các đặc trưng có liên quan dựa trên dữ liệu có sẵn.• Chọn số liệu cho hiệu suất mô hình.
• Nhận xét về cách tối ưu hóa mô hình cho sản xuất.Ở đây tôi muốn nhấn mạnh một lần nữa về tầm quan trọng của việc tìm tòi và học hỏi liên tục. Hãy cố gắng không chỉ sử dụng API cho Spark MLlib hoặc XGBoost, vì không phải chỉ thế là xong, nhưng hãy cố gắng tìm hiểu tại sao Stochastic Gradient Descent (SGD) lại thích hợp cho đào tạo phân tán, hoặc tìm hiểu XGBoost khác với GBDT truyền thống như thế nào, hay như tìm hiểu xem có điều gì đặc biệt về hàm mất mát của nó, tại sao nó lại cần phải tính đạo hàm bậc hai,..
3. Quá trình phỏng vấn
Tôi bắt đầu bằng cách trả lời tin nhắn của HR trên LinkedIn và yêu cầu giới thiệu. Sau một start up thất bại trước đây (tôi sẽ nói sau), tôi đã chuẩn bị kỹ lưỡng trong vài tháng và với sự giúp đỡ từ các nhà tuyển dụng, tôi đã lên lịch cho một tuần ở Bay Area. Tôi bay vào Chủ nhật, có năm ngày phỏng vấn với khoảng 30 người tại một số công ty công nghệ tốt nhất trên thế giới, và rất may mắn, tôi đã nhận được lời mời làm việc từ cả năm công ty.
4. Phone screening
Phỏng vấn qua điện thoại là điều tất nhiên. Sự khác biệt duy nhất trong các cuộc phòng vấn là về thời lượng: LinkedIn là một giờ, Facebook và Airbnb là 45 phút.Thành thạo là chìa khóa mở cửa ở đây, vì bạn đang ở dưới một nhát súng thời gian và bạn chỉ có một cơ hội mà thôi. Bạn sẽ phải rất nhanh chóng nhận ra loại vấn đề và đưa ra giải pháp. Hãy chắc chắn nói chuyện với người phỏng vấn về những suy nghĩ và ý định của bạn. Nó có thể làm bạn chậm lại một chút khi bắt đầu, nhưng giao tiếp quan trọng hơn bất cứ điều gì và nó chỉ giúp ích cho cuộc phỏng vấn. Đừng có hành động như đang đọc thuộc lòng giải pháp vì người phỏng vấn gần như chắc chắn sẽ biết đó.Đối với các vị trí về Machine Learning, một số công ty sẽ đặt câu hỏi về ML. Nếu bạn đang phỏng vấn cho vị trí này, hãy chắc chắn rằng bạn phải cải thiện kỹ năng ML của mình.Để tận dụng tốt hơn thời gian của mình, tôi đã lên lịch ba cuộc phỏng vấn qua điện thoại vào cùng một buổi chiều, cách nhau một giờ. Ưu điểm là bạn có thể được hưởng lợi từ những cuộc phỏng vấn nóng hổi, nhưng nhược điểm là những cái sau có thể bị ảnh hưởng nếu cái đầu tiên không tốt, vì vậy tôi khuyên mọi người không nên như thế.Một điều tốt nữa khi phỏng vấn với nhiều công ty cùng một lúc là nó mang lại cho bạn những lợi thế nhất định. Tôi đã có thể bỏ qua hai cuộc phỏng vấn vòng 2 với Airbnb và Salesforce vì tôi đã nhận được onsite tại LinkedIn và Facebook chỉ sau 1 lần phỏng vấn điện thoại.Đáng ngạc nhiên hơn, Google thậm chí còn không cần phỏng vấn qua điện thoại sau khi biết tôi có lịch phỏng vấn với 4 nơi còn lại vào tuần tới. Tôi biết là khá mệt, nhưng mà này, không ai có thể từ chối lời mời tại Google cả!
5. Onsite 
5.1. LinkedIn
Đây là chỗ đầu tiên và tôi đã phỏng vấn tại địa điểm Sunnyvale. Văn phòng rất gọn gàng và mọi người trông rất chuyên nghiệp.Các phiên phỏng vấn cách nhau là một giờ. Câu hỏi mã hóa là tiêu chuẩn, nhưng câu hỏi ML có thể hơi khó nhằn. Tuy nhiên trước đó, tôi đã nhận được một email từ HR có chứa tài liệu chuẩn bị rất hữu ích và nên tôi không mấy ngạc nhiên. Tôi nghe tin đồn rằng LinkedIn có những bữa ăn ngon nhất ở Thung lũng Silicon và nó cũng không khác xa sự thật là mấy.Việc mua lại bởi Microsoft dường như đã gỡ bỏ được gánh nặng tài chính từ LinkedIn và giúp họ làm nên những điều thực sự tuyệt vời. Các đặc trưng mới như video và quảng cáo chuyên nghiệp rất thú vị. Là một công ty tập trung vào phát triển chuyên nghiệp, LinkedIn ưu tiên sự phát triển của chính nhân viên của mình. Rất nhiều nhóm được lập ra như mức độ liên quan của quảng cáo và xếp hạng nguồn cấp dữ liệu đang mở rộng, vì vậy hãy hành động nhanh chóng nếu bạn muốn tham gia.
5.2. Salesforce Einstein
Rock star project by rock star team. Đội ngũ này khá mới và tôi cảm thấy rất giống một người khởi nghiệp. Sản phẩm được xây dựng trên Scala, vì vậy khá là an toàn! Tôi có một cuộc nói chuyện tuyệt vời về thư viện Optimus Prime của Matthew Tovbin tại Scala Days Chicago 2017 và Leah McGuire tại Spark Summit West 2017.
Tôi đã phỏng vấn tại văn phòng Palo Alto của họ. Đội ngũ có một nền văn hóa gắn kết, và cân bằng giữa cuộc sống và công việc, đây là một điều tuyệt vời ở đó. Mọi người đều đam mê những gì họ đang làm và họ thực sự thích nó. Nơi này nó ngắn hơn so với các cuộc phỏng vấn tại chỗ khác, nhưng tôi ước tôi có thể ở lại lâu hơn. Sau cuộc phỏng vấn, Matthew thậm chí còn đưa tôi đi bộ đến nhà đ�� xe của HP.
5.3. Google
Hoàn toàn là người đầu ngành, ai cũng biết điều đó. Nhưng nó rất lớn. Thực sự, thực sự rất lớn. Tôi mất 20 phút để đi xe đạp để gặp bạn bè của tôi ở đó. Nhưng thật là một nơi tuyệt vời cho các nhà phát triển.
Tôi đã phỏng vấn tại một trong nhiều tòa nhà trong khuôn viên Mountain View và tôi không biết đó là tòa nhà nào vì nó LỚN quá.
Những người phỏng vấn tôi trông đều rất thông minh, và một khi họ bắt đầu nói, họ thậm chí còn tỏ ra thông minh hơn cả. Sẽ rất thú vị khi làm việc với những người này.Một điều mà tôi cảm thấy đặc biệt về các cuộc phỏng vấn của Google là việc phân tích độ phức tạp thuật toán thực sự quan trọng. Hãy chắc chắn rằng bạn thực sự hiểu ký hiệu Big O có nghĩa là gì!
5.4. Airbnb
Một Unicorn startup – với một văn phòng đẹp nhất ở Thung lũng Silicon. Các sản phẩm mới như trải nghiệm và đặt chỗ nhà hàng, thị trường ngách cao cấp và mở rộng sang Trung Quốc đều đang có một triển vọng tích cực. Sự lựa chọn hoàn hảo nếu bạn chấp nhận rủi ro và muốn trải nghiệm dòng tiền IPO tăng trưởng nhanh.
Cuộc phỏng vấn coding của Airbnb có một chút kỳ lạ bởi vì bạn sẽ phải code trong IDE thay vì bảng trắng thông thường, vì vậy mã của bạn cần phải được biên dịch và đưa ra câu trả lời đúng. Một số vấn đề có thể thực sự khó khăn trong quá trình code.
Và tôi đã có một cuộc phỏng vấn chức năng chéo có một không hai. Điều này lý giải tại sao Airbnb có một mặt kỹ thuật xuất sắc, để loại bỏ những người không đủ điều kiện làm việc. Đối với tôi kiểm tra chức năng chéo thực sự thú vị. Tôi đã có những cuộc trò chuyện ngẫu nhiên với những người phỏng vấn và tất cả chúng tôi đều cảm thấy hạnh phúc vào cuối buổi.Nhìn chung, tôi nghĩ rằng Airbnb là khó khăn nhất do có khá là nhiều vấn đề khó khăn như thời gian dài hơn và các cuộc phỏng vấn đa chức năng độc đáo. Nếu bạn quan tâm, hãy chắc chắn rằng bạn hiểu văn hóa và giá trị cốt lõi của họ.
5.5. Facebook
Một người khổng lồ vẫn đang trên đà phát triển nhanh, nhỏ hơn và nhưng lại nhịp độ nhanh hơn so với Google. Với các dòng sản phẩm, Facebook thống trị thị trường mạng xã hội và các khoản đầu tư lớn vào AI và VR, tôi chỉ có thể thấy nhiều tiềm năng tăng trưởng hơn cho Facebook trong tương lai. Với những ngôi sao như Yann LeCun and Yangqing Jia, đó là nơi hoàn hảo nếu bạn quan tâm đến Machine Learning.Tôi đã phỏng vấn tại Tòa nhà 20, một trong những khu vườn trên sân thượng và view biển, đây cũng là nơi đặt văn phòng của Zuckerberg. 
Tôi không chắc người phỏng vấn có hướng dẫn hay không, nhưng tôi không nhận ra được dấu hiệu rõ ràng nào cho rằng các giải pháp của mình đúng hay sai, mặc dù tôi tin rằng chúng là như vậy.Đến trưa buổi phỏng vấn, tôi bắt đầu phải trả giá, tôi bị đau đầu do mấy ngày phỏng vẫn trước. Tôi đã kiên trì suốt buổi chiều nhưng cảm thấy mình không làm tốt chút nào cả. Và tôi khá là ngạc nhiên khi tôi cũng nhận được một lời đề nghị từ họ.Nói chung, tôi cảm thấy mọi người ở đó tin vào tầm nhìn của công ty và họ tự hào về những gì họ đang xây dựng. Là một công ty có nửa nghìn tỷ vốn hóa thị trường và đang phát triển, Facebook đúng là một nơi hoàn hảo để phát triển sự nghiệp của bạn.
6. Đàm phán
Đây là một chủ đề lớn mà tôi sẽ không đề cập đến trong bài viết này, nhưng tôi thấy bài viết này rất hữu ích. 
Một số điều mà tôi nghĩ là quan trọng:
• Hãy chuyên nghiệp.
• Hãy biết tận dụng lợi thế của mình.
• Hãy thực sự quan tâm đến các team và các dự án.
• Giữ vững sự kiên nhẫn và tự tin.
• Hãy quyết tâm nhưng phải lịch sự.
• Không bao giờ nói dối.
7. Cuộc phỏng vấn thất bại của tôi với Databricks
Tất cả các thành công bắt đầu với thất bại, bao gồm các cuộc phỏng vấn. Trước khi tôi bắt đầu phỏng vấn cho các công ty này, tôi đã thất bại trong cuộc phỏng vấn tại Databricks vào tháng Năm.Trở lại vào tháng Tư, Xiangrui liên lạc với tôi qua LinkedIn hỏi tôi có quan tâm đến vị trí trong nhóm Spark MLlib không. Tôi đã vô cùng hồi hộp vì:
• Tôi sử dụng Spark và tôi yêu Scala 
• Các kỹ sư của Databricks là đỉnh cao
• Spark đang cách mạng hóa toàn bộ thế giới dữ liệu. 
Đó là một cơ hội tôi không thể bỏ lỡ, vì vậy tôi đã bắt đầu phỏng vấn sau một vài ngày.Tiêu chuẩn rất cao và một quá trình khá dài, bao gồm một phỏng vấn câu hỏi sàng lọc trước, phỏng vấn qua điện thoại, một nhiệm vụ coding và một tại chỗ onsite.Tôi nhận được lời mời onsite, và tôiđến thăm văn phòng của họ ở trung tâm thành phố San Francisco, nơi có thể nhìn thấy Đảo Treasure.
Người phỏng vấn của tôi cực kỳ thông minh nhưng cũng không kém phần khiêm tốn. Trong các cuộc phỏng vấn tôi thường cảm thấy bị đẩy đến giới hạn. Mọi chuyện vẫn ổn cho đến khi thảm họa bắt đầu, tôi hoàn toàn bị rối tung vì không đủ kỹ năng và sự chuẩn bị, và nó đã thất bại. Xiangrui rất tốt bụng và đưa tôi đến nơi tôi muốn đến sau khi cuộc phỏng vấn kết thúc, và tôi thực sự rất thích nói chuyện với anh ấy.Tôi nhận được lời từ chối vài ngày sau đó. Mặc dù đã biết trước nhưng tôi vẫn cảm thấy thất vọng trong vài ngày. Mặc dù tôi đã bỏ lỡ cơ hội làm việc ở đó, tôi hoàn toàn mong muốn họ sẽ tiếp tục tạo ra những thành tựu lớn hơn trong tương lai.
8. Ngẫm lại
• Cuộc sống rất ngắn ngủi. Sự nghiệp thì lại ngắn hơn. Hãy di chuyển vào đúng thời điểm.
• Phỏng vấn không chỉ là phỏng vấn. Phỏng vấn là một cách hoàn hảo để kết nối và kết bạn.
• Luôn tò mò và học hỏi.
• Đàm phán vô cùng quan trọng cho sự hài lòng công việc.
• Nhận được lời mời làm việc chỉ có nghĩa là bạn đáp ứng các yêu cầu tối thi��u. Không có yêu cầu tối đa. Hãy tiếp tục tốt hơn
Từ cuộc phỏng vấn đầu tiên vào tháng 5 đến cuối cùng khi được chấp nhận lời mời làm việc vào cuối tháng 9, sự thay đổi nghề nghiệp đầu tiên của tôi thực sự rất dài và không dễ dàng gì.Thật khó cho tôi để chuẩn bị bởi vì tôi cần tiếp tục làm tốt công việc hiện tại của mình. Trong vài tuần, tôi đã có một lịch trình thường xuyên để chuẩn bị cho cuộc phỏng vấn đến 1 giờ sáng, thức dậy lúc 8:30 sáng ngày hôm sau và dành trọn vẹn cho một ngày khác làm việc.Phỏng vấn tại năm công ty trong năm ngày cũng rất căng thẳng và rủi ro, và tôi không khuyên bạn nên làm điều đó trừ khi bạn có một lịch trình dày đặc. Nhưng nó mang lại cho bạn một lợi thế khá tốt trong quá trình đàm phán và nhận được nhiều ưu đãi hơn.Tôi muốn gửi lời cảm ơn đến tất cả các nhà tuyển dụng đã kiên nhẫn hướng dẫn tôi trong suốt quá trình vừa qua, những người dành thời gian quý báu của họ để nói chuyện với tôi và tất cả các công ty đã cho tôi cơ hội này. 
Cuối cùng nhưng quan trọng nhất, tôi muốn cảm ơn gia đình vì tình yêu và sự ủng hộ của họ - bố mẹ tôi đã theo dõi tôi từ  bước đầu tiên và ở từng bước, tôi luôn có người vợ thân yêu ở bên cạnh – cảm ơn cô ấy vì tất cả những gì cô ấy đã làm cho tôi và con gái tôi. Cảm ơn đã đọc qua bài viết siêu dài này.
Bạn có thể tìm thấy tôi trên LinkedIn hoặc Twitter.Xiaohan Zeng
#chbe #QRVN #Quoratrans
0 notes
negiup4 · 5 years ago
Photo
Tumblr media
In computer programming and software development, debugging is the process of finding and resolving bugs #debugging #negiup #coding #geekforgeek #software #negiup_original (at Negiup ProductIons) https://www.instagram.com/p/CH-D-aInWJa/?igshid=1ef08cd8t2wqg
1 note · View note