Your questions would be well answered by this book:
https://www.amazon.com/CLR-via-4th-Developer-Reference/dp/0735667454
I realize it's "CLR via C#", but it's really about dotnet itself (the CLR) so the information is just as applicable to VB.net (and powershell to a degree).
CLR via C# for a better understanding of the runtime you're working with.
C# in Depth for a deep dive into the language and it's features and their details of implementation.
I'd consider those two to be the primary intermediate texts.
Get a proper C# book. Most things are the same in Unity. Just because you don't see many advanced concepts in Unity in other people's code doesn't mean they aren't useful, but just that the same people have learned from websites and youtube, instead of books.
I've been self learning C# programing while working on projects for over 15 years including Unity, but only after I've read https://www.amazon.com/CLR-via-4th-Developer-Reference/dp/0735667454 everything clicked into place. There are many other good books, like https://www.amazon.com/C-8-0-Nutshell-Definitive-Reference/dp/1492051136 but more dry. (I've read 7.0; it probably isn't much different). I would have saved years of piecing information and working with bad architecture if I did this years ago
Absolutely, I really enjoyed Jeff Richter's CLR via C#. It's extremely thorough. Here's a link on Amazon https://www.amazon.com/CLR-via-4th-Developer-Reference/dp/0735667454.
For nitty gritty I would add CLR via C# (http://www.amazon.com/CLR-via-Edition-Developer-Reference/dp/0735667454)
I best way to analyse this stuff is with a kernal debugger (win32dbg). When your program is running in the task manager right click and "Create Dump File". This basicly dumps all the memory your program is using to disk (like the memory scanner you mentioned). You can then take a peek at that memory win win23dbg (found in the windows SDK (https://www.microsoft.com/en-ca/download/details.aspx?id=8279))
To drill into this stuff I sugesst following these awesome labs at the bottom of this page: http://blogs.msdn.com/b/tess/archive/2008/02/04/net-debugging-demos-information-and-setup-instructions.aspx
This teaches you how to look at raw memory dumps and debug problems and will give you an idea of how memory is layed out including how to look at the stack/heap/program space.
If your weird like me and havn't lost interest after doing that read this book: http://www.amazon.com/CLR-via-Edition-Developer-Reference/dp/0735667454
Its how the .NET CLR works under the hood including all the nitty gritty details on how memory is used.
I have come to appreciate CLR via C# very much. Even though it is not a book to learn C#, it has given me a lot of understanding basics that make C# more accessible to me.
Always make sure you're looking at the newest edition. The 4th edition is 2012, which is still somewhat old, but for a lot of the things this book covers it's still relevant.
> I just think that it would be good to know the language better in case I get a job were I need to make desktop apps.
Then I will go with the obvious and suggest Jon Skeet's C# in Depth, I really like the way he explains things. But it's so well-known that odds are very good you will already have checked it out.
Jeffrey Richter's CLR via C# is also a very good resource if you are into lower-level CLR details, which is always good stuff to know.
I will agree that it isn't cheap but if you're serious about your professional development, it is well worth it. If you want to just try it out, they have a 10 day free trial.
To be honest, though, I'm not sure what you mean by "advanced topics and concepts." There are plenty of courses on PluralSight that I would consider advanced but it sounds like there is only one on there that interests you.
Regardless, if you are looking for something more intermediate, PluralSight has you covered. If you're looking for something more advanced than PluralSight can offer, maybe you should look into https://www.amazon.com/CLR-via-4th-Developer-Reference/dp/0735667454
Edit: I'd like to add that http://bafflednerd.com/learn-csharp-online/ was on this subreddit the other day and seems like a pretty thorough list. Free courses and never as good as paid ones, though (in my experience).
MSDN is what you need. https://msdn.microsoft.com/en-us/library/67ef8sbd.aspx
Or you can try to read https://www.amazon.com/CLR-via-4th-Developer-Reference/dp/0735667454
Might be a bit much for the interview but if you're interested in things like how the GC works, the Type system, Generics, CLR, DLR and so on I highly recommend this book; I have the 2nd edition but I'm guessing this edition will cover "newer" topics (DLR, Rosyln etc) as my edition only covered up to .NET 2.0. It's a really great read: http://www.amazon.co.uk/CLR-via-C-Developer-Reference/dp/0735667454/ref=dp_ob_title_bk .
For Javascript info I highly recommend these videos which cover the quirkier and powerful sides of the language which should stand you in good stead both for the interview and whilst coding: https://www.youtube.com/watch?v=JEq7Ehw-qk8&list=PLoYCgNOIyGABI011EYc-avPOsk1YsMUe_ .
Other than that look up how to sort a string alphabetically (this is a common question) or as others have suggested search for common programming interview questions on Google. Always be honest, if you don't know the answer dont try to bluff your way through as they'll probably spot it a mile off.
This is a nice list. I would remove C# In Depth though, it's not THAT in depth when it comes to the .NET ecosystem - and swap this out with CLR via C# and Pro C# and The .NET Framework instead - if you really want an "in depth" look at C#.
Additionally, one book that wasn't on this list that I find to be a core book for any software developer is Programming Language Pragmatics
There's a chapter in CLR via C# that covers it.
.NET, cool.
Nu subestima niciodata importanta dezvoltarii cunostintelor tehnice. Sunt considerabil mai importante decat acele "soft/social skills" in domeniul asta, mai ales daca vrei sa ajungi departe in directia asta (senior dev, arhitect, CTO etc.). Cu astea incepi intai - daca vrei sa treci spre management in schimb (care deviaza deja de la software design & development cu mult, e practic alta meserie si s-ar putea sa nu-ti placa) atunci poti lucra puternic si la social skills.
Gandeste-te in urmatoarele 6-12 luni cam pe ce ti-ar placea cel mai mult sa te axezi: front-end, back-end, mobile, devops... In functie de alegerea asta stabileste-ti un subset de framework-uri (EF, Web API, MVC, etc.) pe care sa devii foarte versat, sa fii pe ele in cei top 25% (sau chiar 5%!) din compania ta, asa cum zici ca erai si in facultate. O sa dureze, dar merita efortul. Si nu-i lasa pe altii sa aleaga pentru tine pe cat posibil.
Si neaparat, citeste constant carti in domeniu. Nu te limita doar la blog-uri si articole pe net, alea nu mi se par ca sedimenteaza cunostintele asa cum o fac cartile. Citeste cat de des poti carti de inginerie software in general si .NET in particular. Cateva recomandari:
Pro C# 2010 and the .NET 4 Platform
Clean Code: A Handbook of Agile Software Craftsmanship
Astea sunt doar cateva, n-are rost sa mai extind lista, sigur vei gasi trimiteri catre alte carti de referinta citindu-le pe cele enumerate mai sus sau din discutii cu colegii.
A couple of things.
First, this is the book I read... you may not feel the need to know the CLR but it's there if you do. It still runs you through C# pretty thoroughly and the CLR portions of it are pretty illustrative. I kind of wish C++ books would run you through the assembly in conjunction with the actual code. http://www.amazon.com/CLR-via-Microsoft-Developer-Reference/dp/0735667454
Second, visual studios is a development environment, not a language... you could develop in C# using a text editor and msbuild if you wanted to (the MSFT equivalent of vi and make).
I don't recommend C# in a Nutshell - I don't think it adds any value that you can not find on MSDN