I recommend RISC-V. It is significantly simpler than ARM or x86.
RISC-V is obviously not as common as ARM or x86 at the moment, but it's growing fast, is taking significant sales from ARM in the embedded world, and is already killing off virtually everything that isn't ARM or x86.
MIPS, for example, has abandoned their own ISA and is adopting RISC-V. The same for the Taiwanese company Andes, which is replacing its own widely-used (at least in China) NDS32 ISA (which is important enough to be supported by mainline gcc and Linux) with RISC-V. The very popular ESP32 line of Wifi/Bluetooth chips is moving from xtensa to RISC-V. NXP, Allwinner, and Microchip have started making some RISC-V chips. Intel has announced they are making a chip using RISC-V CPU cores as the main processors. And so on.
There are a growing number of small boards using RISC-V, starting from the Longan Nano, which is $5. There are RISC-V boards running Linux, but they are not yet as cheap as the Raspberry Pi. The best deal right now is the Allwinner "Nezha" for $99. It's similar in capability to a Raspberry Pi Zero. Sipeed and Pine64 have both promised boards using the same chip for $10-$15 in the coming months. Things are moving fast.
You can also easily use an emulator on your Windows, Mac, or Linux computer. On Linux you can install the QEMU RISC-V emulator using the "binfmt_misc" feature and run RISC-V programs just as if they were native code, except about three or four times more slowly.
The following $20 book is a pretty good absolute beginner introduction to RISC-V assembly language. It uses its own tools which are a little bit non-standard but fine. They run on Windows, Mac, Linux.
https://www.amazon.com/RISC-V-Assembly-Language-Anthony-Reis/dp/1088462006
I think you mean x86. If you like books a suggest Professional Assembly Language Its old and only covers 32 bit assembly for Linux, but it's easy to read and covers the basics well. Some useful links as well: https://old.reddit.com/r/asm/wiki/links
This book is great, but getting a bit dated. It covers x86 32-bit Linux assembly. Very well written.
USA, I'd say do the Designing data intensive applications but that's the long route.... try this book: https://www.amazon.com/System-Design-Interview-insiders-Second/dp/B08CMF2CQF/ref=sr_1_1_sspa?keywords=system+design&qid=1660526006&sprefix=system+des%2Caps%2C128&sr=8-1-spons&psc=1
Here is a book I got from Amazon that is pretty good to go along with the Random Terrain site. ( Making Games for the Atari 2600 by Steven Hugg ).
https://www.amazon.com/Making-Games-Atari-2600-Steven/dp/1541021304
Is it this book:
https://www.amazon.co.uk/Assembly-Language-Step-Step-Third/dp/0470497025
At least it uses Nasm and not the ghastly AT&T syntax, but Nasm works on other OSes too, so I'm not sure why it needs to be specific to Linux (details of call-conventions are a small part of assembly).
But, it is for 32-bit 8086 (and seems to cover 16 bits too), which is old hat now. As for the contents, I found the style unreadable from glancing through the preview pages. I don't think it even got as far as mentioning assembly at all.
yeeeuuuuuuuuuup. Basically you're going to need to do the research equivalent of DFS.
Whenever you hit a term you don't understand, keep digging at it till it makes sense. Then you have that concept unlocked forever. Also some book like System Design Interview are decent for being exposed to an extremely high level + simplified look of systems
You'll pick it with time for sure though as long as you try to learn
For x86, I found Assembly Language Step by Step to be really easy to follow with solid exercises.
As for C, it's hard to beat The C Programming Language, which is a surprisingly short, but very well-written book on C.
At this point I recommend Risc-V as a starting point for assembly. The core ISA is uncomplicated, and real hardware is getting cheaper to come by.
This book is OK but its targeted at complete beginners:
First. Good luck on your interview, hope it goes well.
I've been interviewing for months, and the types of question vary so incredibly wildly that you really can't prepare easily. Unless you know in advance that they use a leetcode type test, or are at least given a topic in advance you will most likely be surprised.
I've seen a mix of both good and bad questions ranging from "Parse a JSON string and aggregate the properties", to "Design a key-value store", to "build a hashtable based tree from scratch".
Don't stress to much, Focus more on the areas you can more easily prepare for. This is a great book: https://www.amazon.com/System-Design-Interview-insiders-Second/dp/B08CMF2CQF
System design (read: distributed systems design) is a fundamental aspect of most senior software engineering interviews. I just went through it myself.
Your husband should check out this book.
https://www.amazon.com/dp/B08CMF2CQF is pretty good. It goes over a good way to answer system design questions and covers some of the common questions that are asked.
Just a hunch going on the question is maybe if a high level of reads to talk about caching data with redis? Covers the how often does this data need to be invalidated or if a large data size, how do you handle that in memory? Could you break down the db to be read and write connections with multiple slave connections for many reads.
I found this book pretty good as it walks through a number of example designs with the breakdown of scalability in mind https://www.amazon.ca/System-Design-Interview-insiders-Second/dp/B08CMF2CQF
System Design Interview – An Insider's Guide by Alex Xu is a good one.
I think this is a great intro to system design for a much more reasonable price. Plus it comes with an invite to a Discord community where people ask questions and help each other out.
This isn't DDIA, but if DDIA is too intimidating for you then Alex's book is a nice start.
https://www.amazon.com/System-Design-Interview-insiders-Second/dp/B08CMF2CQF/ref=asc_df_B08CMF2CQF/ is ok for learning the kind of system design stuff you'd need for an interview.
When they said a specific db did they mean relational db Vs nosql, or something about a specific piece of dB software?
I have read sections of this book and it’s a pretty good overview of the kinds of questions you might be asked and the kind of answers you should give: System Design Interview – An insider's guide, Second Edition https://www.amazon.com/dp/B08CMF2CQF/ref=cm_sw_r_cp_api_glt_fabc_FA1Q8NMYREK027DS5S6Z
The particulars of the exact questions aren’t super important imo. Try to demonstrate that you know the sorts of high level things to think about and are comfortable with making thoughtful trade offs.
Les salaires des devs vont encore augmenter au cours des 5 prochaines années.
Les boites FR n'arriveront pas à rivaliser avec les boites US qui ont prévu d'investir en Europe et particulièrement en France, mais elles seront quand même obligées de faire de gros effort pour essayer de suivre (cadre de travail, bon manager, Full TT ou à la carte).
Regarder avec le recul de l'international permet d'avoir une meilleure vision.
L'impact des Gafam + Startups US + boites Defi et Cryptos (qui ont littéralement des montagnes de cash) va fortement venir grossir les salaires et c'est tant mieux.
Pour les devs qui auront bossé leur anglais et préparés leurs entretiens (avec ce genre de bouquins) il y aura de sacré opportunités à saisir.
Pour les gens qui s'intéressent au métier de dev : il y a des flopées de formations, certaines ne font que 6 mois et vous permettent déjà d'arriver a beaucoup de choses et à trouver des salaires vraiment correct pour des juniors. Aimer résoudre des problèmes, aimer apprendre et savoir chercher sont de bonnes qualités.
Enfin si vous pensez être sous payé (on pense rarement être surpayé non ?) créez vous le maximum de réseau (et pas juste avec d'autres devs), non seulement cela pourra vous ouvrir les yeux, mais cela pourrait aussi vous ouvrir des portes.
https://www.algoexpert.io/systems/product
https://www.amazon.com/System-Design-Interview-insiders-Second/dp/B08CMF2CQF/ref=nodl_
These are the resources I used to prep for my systems design questions. Before reading the solutions to the included systems design challenges, make sure you try it yourself first and then compare your solution to what is in the book/course. I found that this was super useful for figuring out where my designs needed to be improved.
I would also strongly recommend spending some time practicing drawing diagrams with whatever tool you will be using for the interview.
While we are at it, any resources you recommend as must follow for System Design?
I currently have the following on my learning list:
I learned to use STM32 microcontrollers in my college classes. My professor wrote a book about ARM Cortex M that I found helpful. He also has a website with some sample lab and info here that might help if you choose this route.
His lab info is based around the STM32L476xx instead of the STMF series.
Resources for System Design
At least checkout Grokking the System Design Interview decent resource for studying for that part of the interview. So you don't freeze up like I did. :(
Then don´t bother trying to learn Unity at this stage. Buy this book instead: https://www.amazon.com/Write-Great-Code-Understanding-Machine/dp/1593270038
And also learn Python or C# in parallel to sharpen your programming skills otherwise the computer that you get won´t matter. Doing games is not that trivial.
Yes. As I mentioned in another post, I am also reading Making Games For The NES, which mainly teaches us how to interact with the NES in C, but also adds a lot of information about 6502 Assembly.
The website that is used with the book is also nothing short of incredible, letting you see in real time what you code is doing, and that, for many old consoles and computers like the NES, Apple II, Atari 2600, Commodore 64, and a few others. You can switch anytime to the corresponding assembly code.
I'm sure x64 Assembly is much more complex, though.
I have recently bought RISC-V Assembly Language by Dos Reis and sadly I can't recommend it. The content of the topic is quite small (only cover I extension) and the presentation is dumbed down. Also only few examples are given and after reading it You will still not know how to write an assembler program or program snippet.
I would rather recommend that You would find a reference card with all the assembly commands, then write some C programs and disassemble it. This is if You want to write in assembly.
But if instead You want to implement soft core with assembler front-end then there is no better document than the official specification.
Hope it helps :)
The guy who created the wonderful 8bitworkshop (code games for 6502 or Z80 based platforms in an online IDE): http://8bitworkshop.com/
also wrote a complete book about how to create an Atari 2600 game using his tool: https://www.amazon.com/gp/product/1541021304
https://www.amazon.com/dp/0982692668/ref=cm_sw_r_sms_apa_i_3.QvDb45VCMYC
https://www.amazon.com/dp/0128015071/ref=cm_sw_r_sms_apa_i_sbRvDbK9J2Q73
The former is a fantastic book teaching you a specific microcontroller (but the concepts are not cortex-m4-specific). This is the microcontroller we used in my undergrad. You can get Discovery boards with this microcontroller alongside that book. STMicro makes a couple different boards for decent prices.
Can anyone find this book in PDF format preferably, thanks. Will pay $5-$10 https://www.amazon.com/Embedded-Cortex-M-Microcontrollers-Assembly-Language/dp/0982692668/ref=dp_ob_title_bk?dpID=51%252BE9C%252BHCoL&preST=_SX258_BO1,204,203,200_QL70_&dpSrc=detail
> I mean developing applications using C# and ASP.NET but I don't even know what exactly .NET is
> I would feel completely lost without a GUI
> I am one of the best programmers I know
lol. Maybe, just maybe, you tone that down a bit.
The Write Great Code Series is probably what you're looking for. It starts with questions like: what actually is a number and what is just a representation? Have fun!
I learned in high school ASM for DOS, and this book helped me convert my knowledge to an actual OS. It is also a very good book to start with.
I own both this book and the previous edition.