<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>C# on IT Dranik</title><link>http://itdranik.com/tags/c%23/</link><description>Recent content in C# on IT Dranik</description><generator>Hugo -- 0.152.2</generator><language>en-US</language><copyright>Yauheni Shybeka</copyright><lastBuildDate>Wed, 27 Mar 2024 23:55:34 +0000</lastBuildDate><atom:link href="http://itdranik.com/tags/c%23/index.xml" rel="self" type="application/rss+xml"/><item><title>Game Theory: Minimax in C#</title><link>http://itdranik.com/post/game-theory-minimax/</link><pubDate>Wed, 27 Mar 2024 23:55:34 +0000</pubDate><guid isPermaLink="false">http://itdranik.com/post/game-theory-minimax/</guid><description>&lt;p&gt;A cool March evening plunged the city into its usual darkness. The street noise almost disappeared. And only light spring rain was beating rhythmically on the window of the senior developer Vasily. The sounds of rain were comforting, especially after a nervous day at work. Vasily pulled the warm blanket tighter around him. He was determined to go to bed early that day, and everything seemed to help him in this endeavor.&lt;/p&gt;</description></item><item><title>Problem: Max Points on a Line</title><link>http://itdranik.com/post/problem-max-points-on-a-line/</link><pubDate>Tue, 07 Jul 2020 05:43:26 +0000</pubDate><guid isPermaLink="false">http://itdranik.com/post/problem-max-points-on-a-line/</guid><description>&lt;p&gt;The hot sun lit the bedroom. Bright rays ran through the face of the senior developer Vasily. “Just five more minutes,” a cunning hope slipped into Vasily’s head, and he stretched out in a satisfied smile until he suddenly realized that he had overslept. Another day in a row he woke up with a mobile phone in his hand and a missed alarm. This was really annoying, but Vasily&amp;rsquo;s cunning body did not take his problems seriously and personally made the decision to turn off the alarm before Vasily could even understand what was happening. There was no time to deal with it as the next important meeting was about to begin. For the whole week, the team had not yet decided where it was better to have a very important button. The need for personal presence at the meeting was not fully understood by Vasily, as well as the reason for such a painful choice. But, as a backend developer, he had to confirm constantly, &amp;ldquo;If the button is ten pixels to the right, this won&amp;rsquo;t break the backend.&amp;rdquo;&lt;/p&gt;</description></item><item><title>Popular Caching Algorithms: LFU Cache</title><link>http://itdranik.com/post/caching-lfu-algorithm/</link><pubDate>Sat, 28 Mar 2020 19:00:32 +0000</pubDate><guid isPermaLink="false">http://itdranik.com/post/caching-lfu-algorithm/</guid><description>&lt;p&gt;Hello, dear reader!&lt;/p&gt;
&lt;p&gt;Today&amp;rsquo;s post I would like to start with a standard question at the interview: &amp;ldquo;What achievement are you most proud of at work?&amp;rdquo; This question may surprise or even offend because it is not enough today to just perform your duties well, you should be proud of it. But don&amp;rsquo;t let the interviewer take you by surprise. If the room is enough spacious, then it is even better to get out of the chair, your one-man show should light a fire in the interviewer&amp;rsquo;s eyes. Have you recently wrapped some method to &lt;code&gt;try / catch&lt;/code&gt;? Do not be shy - you have already warned the company against an exceptional situation! Did you fix another bug a month ago? It was not just a fix, it was saving the company from potential bankruptcy! And here the main thing is not to overdo, because the interviewer most likely also visits interviews quite often, and more than once has already &amp;ldquo;saved the company from bankruptcy&amp;rdquo;. And it’s better, of course, to prepare for this question in advance.&lt;/p&gt;</description></item><item><title>Popular Caching Algorithms: LRU Cache</title><link>http://itdranik.com/post/caching-lru-algorithm/</link><pubDate>Sun, 22 Mar 2020 19:15:11 +0000</pubDate><guid isPermaLink="false">http://itdranik.com/post/caching-lru-algorithm/</guid><description>&lt;p&gt;Hello dear reader!&lt;/p&gt;
&lt;p&gt;A technical interview is a process of solving interesting algorithmic problems that most likely won&amp;rsquo;t be useful to you or your interviewer in a professional career, except at the next technical interview. Nevertheless, such tasks are very popular interview tasks, because they allow an interviewer to evaluate candidate’s skills in finding constraints, to follow his or her thinking process, and also to measure the speed of writing &lt;strong&gt;for&lt;/strong&gt;-loops in notepad. One type of popular tasks is the cache implementation task.&lt;/p&gt;</description></item><item><title>Parsing Math Expressions in C#. Tokenization</title><link>http://itdranik.com/post/math-expressions-tokenization/</link><pubDate>Sat, 29 Feb 2020 08:00:00 +0000</pubDate><guid isPermaLink="false">http://itdranik.com/post/math-expressions-tokenization/</guid><description>&lt;p&gt;The science is constantly evolving, the technology is rapidly breaking into our lives, new tools and opportunities are appearing, the only one thing that is permanent is the gloomy expression of the face of your interviewer. And since we&amp;rsquo;ve figured out how to read the emotions of the interviewer, then we still have problems with reading mathematical expressions. Therefore, in this post, we will analyze the simplest topic in the context of this task - splitting a source string into separate tokens.&lt;/p&gt;</description></item><item><title>Parsing Math Expressions in C#. Shunting-Yard Algorithm</title><link>http://itdranik.com/post/math-expressions-shunting-yard-algorithm/</link><pubDate>Sat, 22 Feb 2020 08:00:27 +0000</pubDate><guid isPermaLink="false">http://itdranik.com/post/math-expressions-shunting-yard-algorithm/</guid><description>&lt;p&gt;Winter is the coldest time of the year, but even it is not as cold as the interviewer&amp;rsquo;s reaction to your implementation of the calculator for the postfix notation. Nevertheless, we do not have time for emotions, therefore, we&amp;rsquo;re proceeding to analyze the shunting-yard algorithm mentioned in the &lt;a class="link" href="http://itdranik.com/post/math-expressions-postfix-notation/" &gt;previous article&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This algorithm is used for transforming the math expressions written in the infix notation to the postfix notation. We&amp;rsquo;re not going to give a complete proof of this algorithm&amp;rsquo;s correctness but only partial explanations to make the implementation more intuitive.&lt;/p&gt;</description></item><item><title>Parsing Math Expressions in C#. Postfix Notation</title><link>http://itdranik.com/post/math-expressions-postfix-notation/</link><pubDate>Sat, 15 Feb 2020 08:00:52 +0000</pubDate><guid isPermaLink="false">http://itdranik.com/post/math-expressions-postfix-notation/</guid><description>&lt;p&gt;Well, hello, dear reader!&lt;/p&gt;
&lt;p&gt;Who else but we, software engineers, that burned out by the life and burned down by the light of the screen, knows how contradictory, difficult and unjust this world of technical interviews is! Whether your solutions launch spaceships or your service keeps millions of requests, an experienced interviewer will always bring you to light. Aren&amp;rsquo;t you able to immediately recall the difference between the merge sort and insertion sort, don’t you know all the SOLID principles by heart? Oh, my friend, unlike you, the interviewer has prepared more seriously and in the morning has repeated these important topics. Your incompetence is obvious. See you! Bye!&lt;/p&gt;</description></item></channel></rss>