Pytania rekrutacyjne, czyli dalsza kariera

Cezary Walenciuk

Pytania rekrutacyjne, czyli dalsza kariera

@walenciukC

Speaker
  1. Pogadajmy o COVID?
  1. Pytania z kwasu, czyli test kreatywności
Kiedyś zrobiłem prelekcje na temat szukania pracy jako junior
blog
Copyright © Cezary Walenciuk
Nawet ją wygłosiłem lutym 2020 r.w Katowicach na grupie CTech
Postanowiłem stworzyć lepszą prelekcje
Bazuje ona na moich doświadczeniach z ostatnich 2 miesięcy
blog
Copyright © Cezary Walenciuk
blog
Copyright © Cezary Walenciuk
Pogadajmy o wirusie?

Jak wygląda teraz rynek pracy?

blog
Copyright © Cezary Walenciuk
Z drugiej strony są sektory które potrzebują jeszcze wiecej pracowników
Nie ma natomiast nowych projektów, a to znaczy, że start kariery jest trudniejszy

Szukanie pracy. Dziś

What will the future of jobs be like? By World Economic Forum
blog
Copyright © Cezary Walenciuk
Dlaczego warto szukać pracy cały czas?

Co daje szukanie pracy?

Co daje szukanie pracy?

LinkedIN i CV, czyli zadbaj o swój profil
blog
Copyright © Cezary Walenciuk
No to co mam napisać w CV?
blog
Copyright © Cezary Walenciuk
blog
Copyright © Cezary Walenciuk

Co móżna mówić o CV

Napewno zrobiłeś coś dla kogoś. Coś co mówi, że jesteś wspaniały
Ludzie pracują wiele lat w swoich firmach i umią tylko opowiadać o swoich obowiązkach
Pytanie: Co przez te lata/miesiące robiłeś?
To jest najważniejsza informacja w CV, jak i w przyszłej rozmowie
Warto sobie robić notatki bo możesz nie pamiętać co robiłeś 6 lat temu
Mów o swoich wygranych
Okej.
A co jeśli moje CV to lata siedzenia w starym behemocie programowania.
A nie jakieś Angulary, Reakty?
Na ile sposobów można powiedzieć : Rozwój aplikacji
Ulepszanie, Pielęgnacja
Takie doświadczenia też są potrzebne w twoim CV
Jak to jest z tym Angielskim
Jest początek września 2020 i mam zaktualizowane CV?
blog
Copyright © Cezary Walenciuk
blog
Copyright © Cezary Walenciuk
Jeżeli startujesz na stanowiska na 9.000 zł netto.
To przygotuj CV po angielsku
Jak skorzystałem z serwisu Turbo tłumaczenia, aby przetłumaczyć swoje polskie CV.
Nie żałuj tych 120 zł.

Angielski i realia

Angielski i realia

blog
Copyright © Cezary Walenciuk
blog
Copyright © Cezary Walenciuk
Zbiór ustalonych tłumaczeń .NETowych
Polski w IT
blog
Copyright © Cezary Walenciuk
Książki programistyczne najlepiej czytać po angielsku
Anatomia rozmowy o pracy

Anatomia rozmowy o pracy

Stan psychiczny, a raczej jak podejść do procesu
blog
Copyright © Cezary Walenciuk
blog
Copyright © Cezary Walenciuk
blog
Copyright © Cezary Walenciuk
Historia pewnej rozmowy 3 amerykanami, architektami.
Nawet jeśli zawalisz pytania czy twoje CV nie pasuje do stanowiska.
To wciąż masz szanse znaleźć prace
blog
Copyright © Cezary Walenciuk
blog
Copyright © Cezary Walenciuk

Moje przykładowe problemy z angielskim na rozmowach

  1. Zapomniałem czym jest "szyna" po angielsku
  2. Przy pytaniu o JOIN zapomniałem jak mówi się "zbiór" po angielsku
  3. Nie umiałem odpowiedzieć na to co to jest "Jagged Array"
Przykładowe Pytania rekrutacyjne
C#
C#-1-1
Proszę podać róźnice pomiędzy typem wartościowym, a referencyjnym?

C#-1-1 Proszę podać róźnice pomiędzy typem wartościowym, a referencyjnym

                    
                        int a = 20;
                        int b = a;
            
                        a = 40;
                        Console.WriteLine(b);
                    
                

C#-1-2 Proszę podać róźnice pomiędzy typem wartościowym, a referencyjnym

                    
                        static void Main(string[] args)
                        {
                            Cat c1 = new Cat();
                            c1.Name = "Billy";
                
                            Cat c2 = c1;
                            c2.Name = "Hanna";
                
                            Console.WriteLine(c1.Name);
                            //Hanna
                
                        }
                
                        public class Cat
                        {
                            public string Name { get; set; }
                        }
                    
                

C#-1-3
A gdzie żyje w pamięci typ wartościowy, a typ referencyjnym?
blog
Copyright © Cezary Walenciuk
blog
Copyright © Cezary Walenciuk
blog
Copyright © Cezary Walenciuk
blog
Copyright © Cezary Walenciuk
blog
Copyright © Cezary Walenciuk
blog
Copyright © Cezary Walenciuk
Spoiler :
Niektóre pytania przypominiają mi, aby wam polecić książke Konrada Kokosy
blog
Copyright © Cezary Walenciuk
blog
Copyright © Cezary Walenciuk
C#-2-1
Co to jest UnBoxing i Boxing?

C#-2-1 Co to jest UnBoxing i Boxing?

                    
                        int i = 123;
                        // The following line boxes i.
                        object o = i;

                        o = 123;
                        i = (int)o;  // unboxing
                    
                

C#-3-1
Podchwytliwe pytania z Task.Delay

C#-3-1 Podchwytliwe pytania z Task.Delay

                    

                        private static string result;

                        static void Main()
                        {
                            SaySomething();
                            Console.WriteLine(result);
                        }
                    
                        static async Task<int> SaySomething()
                        {
                            await Task.Delay(10);
                            result = "Hello!";
                            return 1;
                        }
                    
                

💡 Co pojawi się w konsoli?

C#-3-1 Podchwytliwe pytania z Task.Delay

                    

                        private static string result;

                        static void Main()
                        {
                            SaySomething();
                            Console.WriteLine(result);
                        }
                    
                        static async Task<int> SaySomething()
                        {
                            await Task.Delay(10);
                            result = "Hello!";
                            return 1;
                        }
                    
                

💡 Co pojawi się w konsoli?

[NIC]

C#-3-2 Podchwytlie pytania z Task.Delay

                    

                        private static string result;

                        static void Main()
                        {
                            SaySomething();
                            Console.WriteLine(result);
                        }
                
                        static async Task<int> SaySomething()
                        {
                            Thread.Sleep(10);
                            result = "Hello!";
                            return 1;
                        }
                    
                

💡 Co pojawi się w konsoli?

C#-3-2 Podchwytlie pytania z Task.Delay

                    

                        private static string result;

                        static void Main()
                        {
                            SaySomething();
                            Console.WriteLine(result);
                        }
                
                        static async Task<int> SaySomething()
                        {
                            Thread.Sleep(10);
                            result = "Hello!";
                            return 1;
                        }
                    
                

💡 Co pojawi się w konsoli?

Hello
C#-4-1
Podchwytliwe pytanie na temat domknięć w C#

C#-4-1 Podchwytliwe pytanie na temat domknięć w C#

                    

                        List<Task> tasks = new List<Task>();

                        for (int i = 0; i < 80; i++)
                        {
                            tasks.Add(new Task(() => Console.WriteLine(i)));
                        }

                        foreach (var item in tasks)
                        {
                            item.RunSynchronously();
                        }
                    
                

💡 Co pojawi się w konsoli?

C#-4-1 Podchwytliwe pytanie na temat domknięć w C#

                    

                        List<Task> tasks = new List<Task>();

                        for (int i = 0; i < 80; i++)
                        {
                            tasks.Add(new Task(() => Console.WriteLine(i)));
                        }

                        foreach (var item in tasks)
                        {
                            item.RunSynchronously();
                        }
                    
                

💡 Co pojawi się w konsoli?

80

C#-4-2 Podchwytliwe pytanie na temat domknięć w C#

                    

                        for (int i = 0; i < 80; i++)
                        {
                            Task.Run(() => Console.WriteLine(i));
                        }

                        for (int i = 0; i < 11; i++)
                        {
                            Task.Run(() => Console.WriteLine(i));
                        }

                        Console.Read();
                    
                

💡 Co pojawi się w konsoli?

C#-4-2 Podchwytliwe pytanie na temat domknięć w C#

                    

                        for (int i = 0; i < 80; i++)
                        {
                            Task.Run(() => Console.WriteLine(i));
                        }

                        for (int i = 0; i < 11; i++)
                        {
                            Task.Run(() => Console.WriteLine(i));
                        }

                        Console.Read();
                    
                

💡 Co pojawi się w konsoli?

[Wynik będzie losowy i liczby będą się powtarzać]
blog
Copyright © Cezary Walenciuk

C#-4-4 Podchwytliwe pytanie na temat domknięć w C#

                    

                        List<Task> tasks = new List<Task>();

                        for (int i = 0; i < 80; i++)
                        {
                            int newi = i;
                            tasks.Add(new Task(() => Console.WriteLine(newi)));
                        }

                        foreach (var item in tasks)
                        {
                            item.RunSynchronously();
                        }
                    
                

💡 Co pojawi się w konsoli?

C#-4-4 Podchwytliwe pytanie na temat domknięć w C#

                    

                        List<Task> tasks = new List<Task>();

                        for (int i = 0; i < 80; i++)
                        {
                            int newi = i;
                            tasks.Add(new Task(() => Console.WriteLine(newi)));
                        }

                        foreach (var item in tasks)
                        {
                            item.RunSynchronously();
                        }
                    
                

💡 Co pojawi się w konsoli?

[0,1,2...79]
JavaScript
To samo pytanie można zadać w JavaScript

JavaScript To samo pytanie można zadać w JavaScript

                    
                        for(var i=0; i<4; i++) {

                            setTimeout(
                              (function(x) {
                                return function() {  
                                  console.log("i=="+i+", x=="+x);
                                };

                              })(i) 
                            , i*100);

                        }
                    
                

💡 Co pojawi się w konsoli?

JavaScript To samo pytanie można zadać w JavaScript

                    

                        for(var i=0; i<4; i++) {

                            setTimeout(
                              (function(x) {
                                return function() {  
                                  console.log("i=="+i+", x=="+x);
                                };

                              })(i) 
                            , i*100);

                        }
                    
                

💡 Co pojawi się w konsoli?

i==4,x==0,i==4,x==1...
C#-5
Jak działają domknięcia w C# po stronie kompilacyjnej
Odpowiedź
Są one lokalnym polem (zmienną) w generowanej klasie przez kompilator
C#-6
Pytania na poliformizm

C#-6-1 Pytania na poliformizm

                    

                        public class Shape
                        {
                                
                        }
                        
                        public class Square : Shape
                        {
                        
                        }
                        
                        public class Triangle : Shape
                        {
                        
                        }
                        
                        public class Program
                        {
                            static void Main(string[] args)
                            {
                                var shapes = new Shape[]
                                {
                                    new Square(),
                                    new Triangle()
                                };
                            }
                        }
                    
                

C#-6-2 Pytania na poliformizm#

                    

                        public class Shape
                        {
                            public virtual void Draw()
                            {
                            }
                        }
                        
                        public class Square : Shape
                        {
                            public override void Draw()
                            {
                                Console.WriteLine("Draw Square");
                            }
                        }
                        
                        public class Triangle : Shape
                        {
                            public override void Draw()
                            {
                                Console.WriteLine("Draw Triangle");
                            }
                        }
                        
                        
                        public class Program
                        {
                            static void Main(string[] args)
                            {
                                var shapes = new List<Shape>()
                                {
                                    new Square(),
                                    new Triangle()
                                };
                        
                                foreach (var shape in shapes)
                                {
                                     shape.Draw();
                                }
                            }
                        }
                    
                
C#-7
Różnica między interfejsem, a klasą abstrakcyjną

Różnica między interfejsem, a klasą abstrakcyjną

C#-8
Co robi "ref" , "out" w C#

C#-8-1 Co robi "ref" , "out" w C#

                    
                        void Method(ref int refArgument)
                        {
                            refArgument = refArgument + 44;
                        }
                        
                        int number = 1;
                        Method(ref number);
                        Console.WriteLine(number);
                    
                

C#-8-2 Co robi ref,out w C#

                    
                        class RefOverloadExample
                        {
                            public void SampleMethod(int i) { }
                            public void SampleMethod(ref int i) { }
                        }
                    
                

C#-8-3 Co robi ref,out w C#

                    
                        void Method(out int answer, out string message, 
                        out string stillNull)
                        {
                            answer = 44;
                            message = "I've been returned";
                            stillNull = null;
                        }
                        
                        int argNumber;
                        string argMessage, argDefault;
                        Method(out argNumber, out argMessage, out argDefault);
                        Console.WriteLine(argNumber);
                        Console.WriteLine(argMessage);
                        Console.WriteLine(argDefault == null);
                    
                
C#-9
Co robi "override" w C#?

C#-9-1 Co robi "override" w C#?

                    

                        public class Employee
                        {
                            public string name;
                            protected decimal basepay;
                            public Employee(string name, decimal basepay)
                            {
                                this.name = name;
                                this.basepay = basepay;
                            }
                    
                            public virtual decimal CalculatePay()
                            {
                                return basepay;
                            }
                        }
                    
                        public class SalesEmployee : Employee
                        {
                            private decimal salesbonus;
                            public SalesEmployee(string name, decimal basepay,
                                      decimal salesbonus) : base(name, basepay)
                            {
                                this.salesbonus = salesbonus;
                            }
                    
                            public override decimal CalculatePay()
                            {
                                return basepay + salesbonus;
                            }
                        }
                    
                

C#-9-2 Co robi "override" w C#?

                    
                        abstract class Shape
                        {
                            public abstract int GetArea();
                        }
                        
                        class Square : Shape
                        {
                            int side;
                        
                            public Square(int n) => side = n;
                        
                            // GetArea method is required to avoid a compile-time error.
                            public override int GetArea() => side * side;
                        
                            static void Main()
                            {
                                var sq = new Square(12);
                                Console.WriteLine($"Area of the square = {sq.GetArea()}");
                            }
                        }
                    
                
C#-10
Co robi metoda Finalize, Dispose?

C#-10-1 Co robi metoda Finalize, Dispose?

                    
                        public sealed class Foo : IDisposable
                        {
                            private readonly IDisposable _bar;
                        
                            public Foo()
                            {
                                _bar = new Bar();
                            }
                        
                            public void Dispose()
                            {
                                _bar?.Dispose();
                            }
                        }
                    
                

C#-10-2 Co robi metoda Finalize, Dispose?

                    
                        public void AddToFile(string text)
                        {
                            using (System.IO.FileStream file = new System.IO.FileStream("test.txt", 
                            System.IO.FileMode.Append))
                            {
                                byte[] encodedText = System.Text.Encoding.Default.GetBytes(text);
                                file.Write(encodedText, 0, encodedText.Length);
                            }
                        }
                    
                

C#-10-3 Co robi metoda Finalize, Dispose?

                    
                        public void AddToFile(string text)
                        {
                            {
                                System.IO.FileStream file = new System.IO.FileStream("test.txt", 
                                System.IO.FileMode.Append);

                                try
                                {
                                    byte[] encodedText = System.Text.Encoding.Default.GetBytes(text);
                                    file.Write(encodedText, 0, encodedText.Length);
                                }
                                finally
                                {
                                    if (file != null)
                                    {
                                        file.Dispose();
                                    }
                                }
                            }
                        }
                    
                
C#-10-4
A czym jest metoda Finalize?

C#-10-4 Co robi metoda Finalize, Dispose?

                    
                        class Program
                        {
                            Program()
                            {
                                throw new Exception();
                            }

                            //A destructor in C# overrides System.Object.Finalize
                            //Manually overriding Finalize will give you an error message.
                            ~Program()
                            {
                                Console.WriteLine("Finalizer is called");
                            }

                            static void Main()
                            {
                                try
                                {
                                    new Program();
                                }
                                catch { }
                            }
                        }
                    
                

C#-10-5 Co robi metoda Finalize, Dispose?

                    
                        public void GCTestFinalize()
                        {
                            StreamWriter stream = File.CreateText("a.txt");
                            stream.Write("TEST");
                            
                            GC.Collect();
                            GC.WaitForPendingFinalizers();
                            
                            File.Delete("a.txt");
                        }
                    
                
Garbage collector wywoła metodę Finalize

Czy metoda finalize zawsze się wykona?

blog
Copyright © Cezary Walenciuk
Finalizer is not reliably called regardless of .NET Core or .NET Framework
C#-11
Jak działa Garabe Collector według pana/pani?

Jak działa Garabe Collector według pana/pani?

C#-12
Jak Garabe Collector oznacza obiekty?

GC definuje pokolenia : 0,1,2

C#-13
Czy Garbage Collector poradzi sobie z referencja cykliczną?

Referencja Cykliczna

C#-14
Jak działa porównanie stringów
C#-15
Dlaczego tworzymy typy generyczne?
C#-16
Jak możemy ograniczać generyki?

C#-16 Jak możemy ograniczać generyki? (pytanie nie w prost)

                    
                        public class UsingEnum where T : System.Enum { }

                        public class UsingDelegate where T : System.Delegate { }
                            
                        public class Multicaster where T : System.MulticastDelegate { }
                    
                

C#-16-2 Jak możemy ograniczać generyki? (pytanie nie w prost)

                    
                        public class MyGenericClass where T : IComparable, new()
                        {
                            // The following line is not possible without new() constraint:
                            T item = new T();
                        }
                    
                
C#-17
Do czego służy "using"?

C#-17-1 Do czego służy "using"?

                    
                        using (var conn = new SqlConnection("connection string"))
                        {
                           conn.Open();
                        
                            // Execute SQL statement here on the connection you created
                        }
                    
                

C#-17-2 Do czego służy "using"?

                    
                        {
                            using FileStream f = new FileStream(@"C:\using.md");
                        }
                    
                
#-18
Dziedziczenie po co jest ?

😂
C#-19
Co jest lepsze dziedziczenie czy kompozycja?

🤔
C#-20
Różnica pomiędzy IEnumerable, IList, IQueryable
C#-21
Stream vs Byte Array

Dlaczego byte[]

Dlaczego Stream

C#-22
Typy generyczne : Kontrawariancja i Wariancja

C#-22-1 Typy generyczne : Kowariancja i kontrawariancja

                    
                        // Covariance Kowariancja
                        IEnumerable<string> strings = new List<string>();
                        IEnumerable<object> objects = strings;
                        
                        // Contravariance. Kontrawariancja
                        // static void SetObject(object o) { }
                        Action<object> actObject = SetObject;
                        Action<string> actString = actObject;
                    
                

C#-22-2 Typy generyczne : Kowariancja i kontrawariancja

                    
                        static object GetObject() { return null; }  
                        static void SetObject(object obj) { }  
                          
                        static string GetString() { return ""; }  
                        static void SetString(string str) { }  
                          
                        static void Test()  
                        {  
                            // Covariance. A delegate specifies a return type as object,  
                            // but you can assign a method that returns a string.  
                            Func<object> del = GetString;  
                          
                            // Contravariance. A delegate specifies a parameter type as string,  
                            // but you can assign a method that takes an object.  
                            Action<string> del2 = SetObject;  
                        }  
                    
                
C#-23
Do czego służy "unsafe" w C#?

C#-23-1 Do czego służy "unsafe" w C#?

                    

                        class UnsafeTest
                        {
                            // Unsafe method: takes pointer to int.
                            unsafe static void SquarePtrParam(int* p)
                            {
                                *p *= *p;
                            }
                        
                            unsafe static void Main()
                            {
                                int i = 5;
                                // Unsafe method: uses address-of operator (&).
                                SquarePtrParam(&i);
                                Console.WriteLine(i);
                            }
                        }
                    
                
C#-24
Czy każdy wyjątek zostaje przechwycony w catch?

Nie

C#-25
Różnica pomiędzy metodą Single(), First()?

Metoda Single

C#-26
Co będzie szybsze metoda First() czy szukanie w kolekcji Dictionary?
Oczywiście, że Dictionary
C#-27
Memory size allocation with List in C#

C#-27 Memory size allocation with List in C#

                    
                            var list = new List(); 
                                                        //   ┌┐  
                                                        //   ││   Count:    0
                                                        //   └┘   Capacity: 0
                                                        //   ┌───┬───┬───┬───┐
                            list.Add('h');              //   │ h │ ░ │ ░ │ ░ │   Count:    1
                                                        //   └───┴───┴───┴───┘   Capacity: 4
                                                        //   ┌───┬───┬───┬───┐
                            list.Add('e');              //   │ h │ e │ ░ │ ░ │   Count:    2
                                                        //   └───┴───┴───┴───┘   Capacity: 4
                                                        //   ┌───┬───┬───┬───┐
                            list.Add('l');              //   │ h │ e │ l │ ░ │   Count:    3
                                                        //   └───┴───┴───┴───┘   Capacity: 4
                                                        //   ┌───┬───┬───┬───┐
                            list.Add('l');              //   │ h │ e │ l │ l │   Count:    4
                                                        //   └───┴───┴───┴───┘   Capacity: 4
                                                        //   ┌───┬───┬───┬───┬───┬───┬───┬───┐
                            list.Add('o');              //   │ h │ e │ l │ l │ o │ ░ │ ░ │ ░ │   Count:    5
                                                        //   └───┴───┴───┴───┴───┴───┴───┴───┘   Capacity: 8
                                                        //   ┌───┬───┬───┬───┬───┬───┬───┬───┐
                            list.Add(' ');              //   │ h │ e │ l │ l │ o │   │ ░ │ ░ │   Count:    6
                                                        //   └───┴───┴───┴───┴───┴───┴───┴───┘   Capacity: 8
                    
                

C#-27 Memory size allocation with List in C#

                    
                                                        //   ┌───┬───┬───┬───┬───┬───┬───┬───┐
                            list.Add('w');              //   │ h │ e │ l │ l │ o │   │ w │ ░ │   Count:    7
                                                        //   └───┴───┴───┴───┴───┴───┴───┴───┘   Capacity: 8
                                                        //   ┌───┬───┬───┬───┬───┬───┬───┬───┐
                            list.Add('o');              //   │ h │ e │ l │ l │ o │   │ w │ o │   Count:    8
                                                        //   └───┴───┴───┴───┴───┴───┴───┴───┘   Capacity: 8
                                                        //   ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
                            list.Add('r');              //   │ h │ e │ l │ l │ o │   │ w │ o │ r │ ░ │ ░ │ ░ │ ░ │ ░ │ ░ │ ░ │   Count:    9
                                                        //   └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘   Capacity: 16
                                                        //   ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
                            list.Add('l');              //   │ h │ e │ l │ l │ o │   │ w │ o │ r │ ░ │ ░ │ ░ │ ░ │ ░ │ ░ │ ░ │   Count:    10
                                                        //   └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘   Capacity: 16
                                                        //   ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
                            list.Add('d');              //   │ h │ e │ l │ l │ o │   │ w │ o │ r │ l │ d │ ░ │ ░ │ ░ │ ░ │ ░ │   Count:    11
                                                        //   └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘   Capacity: 16
                    
                
C#-28
Lazy Loading, Eager Loading w Entity Framework

Lazy Loading

C#-28-1 Lazy Loading, Eager Loading w Entity Framework

                    
                        foreach(Department dept in context.Departments) { 

                            Console.WriteLine(dept.Name);  

                            foreach(Employee emp in dept.Employees) {  

                                Console.WriteLine("\t" + emp.FirstName 
                                + " " + emp.LastName);  

                            }  
                        } 
                    
                
blog
Copyright © Cezary Walenciuk
blog
Copyright © Cezary Walenciuk
C#-29
Jaki najlepszy cykl życia byłby dla DBContext w Entity Framework bądź obiektu Session w NHibernate i dlaczego?
blog
Copyright © Cezary Walenciuk
C#-30
Czy można mieć blok "try" bez "catch"

C#-30 Czy można mieć blok "try" bez "catch"

                    
                        try
                        {
                            TrySomeCodeThatMightException();
                        }
                        finally
                        {
                            CleanupEvenOnFailure();
                        }
                    
                
C#-31
Czy wyrażenie finally zawsze się wykona?

C#-31 Czy wyrażenie finally zawsze się wykona?

                    
                        class Class1
                        {
                            [STAThread]
                            static void Main(string[] args)
                            {
                                Console.WriteLine("before");
                                Console.WriteLine(test());
                                Console.WriteLine("after");
                            }
                        
                            static string test()
                            {
                                try
                                {
                                    return "return";
                                }
                                finally
                                {
                                    Console.WriteLine("finally");
                                }
                            }
                        }
                    
                
C#-32
Co oznacza słowo kluczowe "let" w LINQ?

C#-32 Co oznacza słowo kluczowe "let" w LINQ?

                    
                        static public void Main() 
                        { 
                      
                            // Data source 
                            int[] sequence = {2, 51, 52, 
                                              5, 45, 6}; 
                      
                            var result = from s in sequence 
                                let a1 
                                = s + 100 where a1 > 150 select a1; 
                      
                            foreach(var val in result) 
                            { 
                                Console.WriteLine(val); 
                            } 
                        } 
                    
                
C#-33
Jak działa Async i Await?
blog
Copyright © Cezary Walenciuk
C#-33
Do czego służą atrybuty w C#?
C#-34
Jak zrobić LEFT JOIN w LINQ w C#?
C#-35
Jak byś zasymulował wielodziedziczenie w C#?
.NET
.NET-1
Jaka jest różnica pomiędzy .NET, a .NET Core
GIT
GIT-1
Różnica pomiędzy merge, a rebase
GIT-2
Co to jest cherrypick?
GIT-3
Co to jest Pull Request?
ASP.NET CORE
ASP.NET CORE-1
Czym jest middleware?
ASP.NET CORE-2
Co to jest Kestrel?

Kestrel

ASP.NET CORE-3
Cykl życia w wstrzykiwaniu zależności
ASP.NET CORE-4
HttpClient, jakie są z nim problemy?

ASP.NET CORE-4-1 HttpClient, jakie są z nim problemy?

                    
                        for (var i = 0; i < 10000; i++)
                        {
                            using (var httpClient = new HttpClient())
                            {
                                var result = await httpClient.GetAsync("http://cezarywalecniuk.pl");
                                result.EnsureSuccessStatusCode();
                            }
                        }
                    
                
Chodzi o pule soketów.
Rozwiążanie użyć HttpMessageFactory
ASP.NET CORE-5
Jak by pan napisał prostą aplikację CRUD?
ASP.NET CORE-6
Filtry Web API do czego służą
ASP.NET CORE-7
Jakie typy routingu są wspierany przez Web API 2
ASP.NET Web Forms
ASP.NET Web Forms-1
Co uruchomi się pierwsze Page_Init czy Page_Load
ASP.NET Web Forms-2
Jak jest różnica pomiędzy Response.Redirect a Server.Transfer
ASP.NET Web Forms-2
Opisz HTTP Handlers i HTTP Modules
JavaScript
JavaScript-1
Co to jest "Promise"?
JavaScript-2
Zalety TypeScript?
JavaScript-3
Podchwitliwe pytanie na temat funkcji strzałkowych?

Składnia ES6:21:Funkcje strzałkowe 7

                    
                        document.addEventListener('click',
                        () => console.log(this));
                    
                

💡 Co pojawi się w konsoli ?

Składnia ES6:21:Funkcje strzałkowe 7

                    
                        document.addEventListener('click',
                        () => console.log(this));
                    
                

💡 Co pojawi się w konsoli ?

Window {parent: Window, opener: null, top: Window, length: 0, frames: Window, …}
blog
Copyright © Cezary Walenciuk
JavaScript-4
Różnica pomiędzy "==", a "==="
JavaScript-5
Różnica pomiędzy LET, a VAR
JavaScript-6
Co to jest Hoisting?
JavaScript-7
In JavaScirpt we pass variables by value or by reference
JavaScript-8
Czy pan kojarzy tą technikę?

JavaScript-8 Czy pan kojarzy tą technikę?

                    
                        (function(a) {

                            return (function(b) {
                                console.log(a+b);
                            })(2);
                        
                        })(1);
                    
                
Odpowiedź
W programowaniu funkcyjnym nazywamy to Curring
JavaScript-9
Jakie są funkcje na ustawienie wartości "this"
Call(), Apply() i Bind()

JavaScript-9 Jakie są funkcje na ustwienie wartości "this"

                    
                        var myButton = {
                            content: 'OK',
                            click() {
                              console.log(this.content + ' clicked');
                            }
                          };
                          
                          myButton.click();
                          
                          var looseClick = myButton.click;
                          looseClick(); // not bound, 'this' is not myButton - it is the globalThis
                          
                          var boundClick = myButton.click.bind(myButton);
                          boundClick(); // bound, 'this' is myButton
                    
                

💡 Co pojawi się w konsoli ?

JavaScript-9 Jakie są funkcje na ustwienie wartości "this"

                    
                        var func = function() {
                            console.log(this)
                        }.bind(1);
                        
                        func();
                    
                

💡 Co pojawi się w konsoli ?

JavaScript-9 Jakie są funkcje na ustwienie wartości "this"

                    
                        function checkFun(a, b, c){
                            console.log(this);
                            console.log(a);
                            console.log(b);
                            console.log(c);
                        }
                        checkFun.call(1,2,3,4);
                    
                

💡 Co pojawi się w konsoli ?

JavaScript-9 Jakie są funkcje na ustwienie wartości "this"

                    
                        function checkFun(a, b, c){
                            console.log(this);
                            console.log(a);
                            console.log(b);
                            console.log(c);
                        }
                        checkFun.apply(1,[2,3,4]);
                    
                

💡 Co pojawi się w konsoli ?

JavaScript-9
Czym jest Observable?
SQL
SQL-01
Czym się różni Procedura od Funkcji?

Czym się różni Procedura od Funkcji?

Czym się różni Procedura od Funkcji?

SQL-02
Co to są indeksy?
blog
Copyright © Cezary Walenciuk
SQL-03
Co robi PIVOT i UNPIVOT?

6-10-1 Zmiana wierszy na kolumny

                    
                        SELECT ShiftName,
                        Production,
                        Engineering,
                        Marketing
                            FROM (SELECT s.Name AS ShiftName,
                            h.BusinessEntityID,
                            d.Name AS DepartmentName
                            FROM HumanResources.EmployeeDepartmentHistory h
                                INNER JOIN HumanResources.Department d
                                ON h.DepartmentID = d.DepartmentID
                                INNER JOIN HumanResources.Shift s
                                ON h.ShiftID = s.ShiftID
                            WHERE EndDate IS NULL
                            AND d.Name IN ('Production', 'Engineering', 'Marketing')
                            ) AS a
                        PIVOT
                        (
                            COUNT(BusinessEntityID)
                            FOR DepartmentName IN ([Production], [Engineering], [Marketing])
                        ) AS b
                        ORDER BY ShiftName;
                    
                

blog
Copyright © Cezary Walenciuk

6-11 Zmiana kolumn na wiersze

                    
                        IF OBJECT_ID('tempdb.dbo.#Contact') IS NOT NULL DROP TABLE #Contact;
                        CREATE TABLE #Contact
                        (
                            EmployeeID INT NOT NULL,
                            PhoneNumber1 BIGINT,
                            PhoneNumber2 BIGINT,
                            PhoneNumber3 BIGINT
                        )
                        GO

                        INSERT #Contact
                        (EmployeeID, PhoneNumber1, PhoneNumber2, PhoneNumber3)
                        VALUES (1, 2718353881, 3385531980, 5324571342),
                        (2, 6007163571, 6875099415, 7756620787),
                        (3, 9439250939, NULL, NULL);

                        SELECT EmployeeID,
                        PhoneType,
                        PhoneValue
                        FROM #Contact c
                        UNPIVOT
                        (
                            PhoneValue
                            FOR PhoneType IN ([PhoneNumber1], [PhoneNumber2], [PhoneNumber3])
                        ) AS p;
                    
                

blog
Copyright © Cezary Walenciuk
SQL-04
Co to jest "HAVING" ?
SQL-04
Co robi funkcja "IsNull","CONCAT"?
SQL-05
Union ALL, Union, Intersect, Except
SQL-06
Jak pan by wysłał wiele parametrów do procedury?

Jak pan by wysłał wiele parametrów do procedury?

Jak pan by wysłał wiele parametrów do procedury?

Jak pan by wysłał wiele parametrów do procedury?

StackOverflow służy pomocą
SQL-07
Jakie mamy tranzakcje w SQL Server i co to jest?

SQL-07-1 Jakie mamy tranzakcje w SQL Server i co to jest?

                    

                        BEGIN TRANSACTION [Tran1]

                        BEGIN TRY
                      
                            INSERT INTO [Test].[dbo].[T1] ([Title], [AVG])
                            VALUES ('Tidd130', 130), ('Tidd230', 230)
                      
                            UPDATE [Test].[dbo].[T1]
                            SET [Title] = N'az2' ,[AVG] = 1
                            WHERE [dbo].[T1].[Title] = N'az'
                      
                            COMMIT TRANSACTION [Tran1]
                      
                        END TRY
                      
                        BEGIN CATCH
                      
                            ROLLBACK TRANSACTION [Tran1]
                      
                        END CATCH  
                    
                

SQL-07-2 Jakie mamy tranzakcje w SQL Server i co to jest?

                    
                        SET TRANSACTION ISOLATION LEVEL
                        {   READ UNCOMMITTED
                            | READ COMMITTED
                            | REPEATABLE READ
                            | SNAPSHOT
                            | SERIALIZABLE
                        }
                    
                

Pamiętasz ACID

SQL-08
Czy można zrobić Indeks na typie GUID?
SQL-09
Co robi SET NOCOUNT?
SQL-10
Jak skasować szybko dużo rekordów?
SQL-11
Update : Zmiana GIGATYCZNYCH wartości w kolumnach
blog
Copyright © Cezary Walenciuk
Angular
Angular-01
Metody bindowania HTML
Angular-02
Różnica pomiędzy "ngOnInit" , a "kontruktorem"
Angular-03
Cykl życia kompomentu Angular
Angular-04
Wymień 4 sposoby jak kompomenty mogą gadać między sobą
Input Binding, Service, Events, ViewChild
Angular-05
Czym jest Observable (RxJs)
Angular-06
Czym są usługi, services w Angularze
Angular-07
Różnica pomiędzy ngshow, a ngif?
Angular-08
Co to są interceptory?
Pytania z TDD?
TDD-01
Co jest wzorzec AAA?

TDD-01 Co jest wzorzec AAA?

                    
                        [Test]
                        public void Add_AddingTwoValues_ReturnsProperValue()
                        {
                            // Arrange:
                            var calc = new Calculator();
                         
                            // Act:
                            int result = calc.Add(2, 3);
                         
                            // Assert:
                            Assert.AreEqual(5, result);
                        }
                    
                
CSS
CSS-01
Zna pan Grid i FlexBox?
Dobre Praktyki
Dobre Praktyki-01
Proszę opowiedzieć o wszystkich zasadach S.O.L.I.D
Dobre Praktyki-02
Co to jest Value Object (DDD)?
Dobre Praktyki-03
Co to jest Entity(DDD)?
Inne pytania technicze?
Inne pytania technicze-01
Czym są pliki .xsd?
Inne pytania technicze-02
Co robi "publish" w Visual Studio?
Inne pytania technicze-03
Co robi breakpoint z plusem w Visual Studio?
Inne pytania technicze-04
Jak podłączyć się do działającej aplikacji w Visual Studio?
Inne pytania technicze-05
Proszę opisać proces Web Deploy?
Inne pytania technicze-06
Cookie HTTP jaka jest jego długość życia?
Inne pytania technicze-07
Co to jest "notacja polska" ?
Inne pytania technicze-08
Co to jest deadlock?
Inne pytania technicze-09
Róźnica pomiędzy SOAP, a REST?
Inne pytania technicze-10
Co to jest "NOSQL"
Algorytmy
Algorytmy :
Podaj mi Notacje Ο (dużego O)
Algorytmy :
Wymień mi algorytmy sortujące?
Pytania opisowe
Jak pan by wdrożył aplikację w dzień bez downtime?
(męczyli mnie tym pytaniem przez 15 minut)
To pytanie mnie zmotyowało, aby uczyć się Kubernetes?
Pytanie na hipotetyczne problemy
Bardo trudne?
Jakie praktyki, techniki, narzędzia by pan użył aby zmierzyć szybkość strony internetowej
Jak pan by przetesował usługę WCF?
Jakie narzędzia i praktyki są potrzebne do Continuous Delivery?
Jakie problemy rozwiązują kontenery wstrzykiwania zależności i jak to pomaga w testach jednostkowych?
Moje ulubione:Ma pan tabelkę gdzie jest 10 milionów rekordów jak pan skopiuje pan te wartości.
Moje ulubione:Mam pan serwis bankowy który robi 2 MILIONY transakcji dzienie. Jak pan to zaprojektuje?
Przykładowe zadania przed współdzielonym ekranem bądź tablicą
blog
Copyright © Cezary Walenciuk

Dlaczego zadania przed tablicą są trudne?

Dlaczego zadania przed tablicą są trudne?

blog
Copyright © Cezary Walenciuk
Czyli co mam ćwiczyć kod na kartce papieru?
Wychodzi na to, ze tak. Pokaże Ci przykłady takich zadań.
Napisz mi metodę która zwórci sumę liczb parzystych

Napisz mi metodę która zwórci sumę liczb parzystych

                    
                        static void Main(string[] args)
                        {
                            List<int> list = new List<int>()
                            {
                                1,3,5,7,11,12,24,36
                            };
                            var sum = Sum(list);
                        }
                
                        public static int Sum(List list)
                        {

                        }
                    
                

Napisz mi metodę która zwórci sumę liczb parzystych

                    
                        static void Main(string[] args)
                        {
                            List<int> list = new List<int>()
                            {
                                1,3,5,7,11,12,24,36
                            };
                            var sum = Sum(list);
                        }
                
                
                        public static int Sum(List list)
                        {
                            int sum = 0;
                
                            for (int i = 0; i < list.Count; i++)
                            {
                                if (list[i] % 2 == 0)
                                    sum += list[i];
                            }
                
                            return sum;
                        }
                    
                
Napisz mi metodę która odwróci kolejność wyrazów w zdaniu. Kropka ma być na końcu zdania

Napisz mi metodę która odwróci kolejność wyrazów w zdaniu.

                    
                        static void Main(string[] args)
                        {
                            string test = "Ala ma kota.";
                            var rev = ReverseWordsInSentence(test);
                        }
                
                        public static string ReverseWordsInSentence(string s)
                        {

                        }
                    
                

Napisz mi metodę która odwróci kolejność wyrazów w zdaniu.

                    
                        static void Main(string[] args)
                        {
                            string test = "Ala ma kota.";
                            var rev = ReverseWordsInSentence(test);
                        }
                
                        public static string ReverseWordsInSentence(string s)
                        {
                            if (string.IsNullOrEmpty(s))
                                throw new ArgumentNullException("ReverseWordsInSentence(string s) have null parameter");

                            string[] arr = s.Split(" ");
                            StringBuilder sb = new StringBuilder();

                            for (int i = arr.Length - 1; i >= 0; i--)
                            {
                                string a = arr[i];

                                if (arr.Length - 1 == i)
                                {
                                    a = a.Replace(".", "");
                                }

                                if (i == 0)
                                {
                                    a = a + ".";
                                    sb.Append(a);
                                }
                                else
                                {
                                    sb.Append(a);
                                    sb.Append(" ");
                                }
                            }

                            return sb.ToString();
                        }
                    
                
Napisz mi metodę która policzy ile elementów JEST w tablicy pomijąc powtarzające się wartości?

Policzy ile elementów w tablicy pomijąc powtarzające się wartości?

                    
                        static void Main(string[] args)
                        {
                            var array = new int[] { 1, 1, 1, 2, 3, 4, 5 };
                            var f = GetNotUniqueCount(array);
                        }
                
                        public static int GetNotUniqueCount(int[] array)
                        {

                        }
                    
                

Napisz mi metodę która policzy ile elementów w tablicy pomijąc powtarzające się wartości?

                    
                        static void Main(string[] args)
                        {
                            var array = new int[] { 1, 1, 1, 2, 3, 4, 5 };
                            var f = GetNotUniqueCount(array);
                        }
                
                        public static int GetNotUniqueCount(int[] array)
                        {
                            if (array == null)
                                throw new ArgumentNullException("GetNotUniqueCount(int[] array) have null parameter array");

                            List<int> exists = new List<int>();
                            foreach (var item in array)
                            {
                                if (exists.Contains(item))
                                    continue;
                
                                exists.Add(item);
                            }
                
                            return exists.Count;
                        }
                    
                
Napisz mi metodę która pogrupuje daty do nowej listy Tupletów

Napisz mi metodę która pogrupuje daty do nowej listy Tupletów

                    
                        static void Main(string[] args)
                        {
                            List<DateTime> daty = new List<DateTime>();
                            daty.Add(DateTime.Now.AddDays(-600));
                            daty.Add(DateTime.Now.AddDays(-400));
                            daty.Add(DateTime.Now.AddDays(-100));
                            daty.Add(DateTime.Now.AddDays(-50));
                
                            var f = Arrage(daty);
                        }
                
                        public static List<Tuple<DateTime, DateTime>> 
                        Arrage(List<DateTime> array)
                        {

                        }
                    
                

Napisz mi metodę która pogrupuje daty do nowej listy Tupletów

                    
                        static void Main(string[] args)
                        {
                            List<DateTime> daty = new List<DateTime>();
                            daty.Add(DateTime.Now.AddDays(-600));
                            daty.Add(DateTime.Now.AddDays(-400));
                            daty.Add(DateTime.Now.AddDays(-100));
                            daty.Add(DateTime.Now.AddDays(-50));
                
                            var f = Arrage(daty);
                        }
                
                        public static List<Tuple<DateTime, DateTime>> Arrage(List<DateTime> array)
                        {
                            if (array == null)
                                throw new ArgumentNullException("Arrage(int[] array) have null parameter array");
                
                            List<Tuple<DateTime, DateTime>> tuples =
                                new List<Tuple<DateTime, DateTime>>();
                
                            int i = 1;
                            DateTime? d1 = null;
                            DateTime? d2 = null;
                
                            foreach (var item in array)
                            {
                                if (i % 2 == 0)
                                {
                                    d2 = item;
                                    tuples.Add(
                                        new Tuple<DateTime, DateTime>(
                                        d1.Value, d2.Value)
                                    );
                
                                }
                                else
                                {
                                    d1 = item;
                                }
                
                                i++;
                            }
                
                            return tuples;
                        }
                    
                
Napisz mi metodę która zwerfikuje podany napisy

Napisz mi metodę która zwerfikuje podany napisy

                    
                        static void Main(string[] args)
                        {
                            string[] correct = new string[] {"AB","ABAB" };
                            string[] notcorrect = new string[] { "AA", "BB","ABA","BA","ABB" };
                        }
                
                        public bool Check(string[] array)
                        {
                
                        }
                    
                

Napisz mi metodę która zwerfikuje podany napisy

                    
                        static void Main(string[] args)
                        {
                            string[] correct = new string[] { "AB", "ABAB" };
                            string[] notcorrect = new string[] { "AA", "BB", "ABA", "BA", "ABB" };
                
                            var b1 = Check(correct);
                            var b2 = Check(notcorrect);
                        }
                
                        public static bool Check(string[] array)
                        {
                            for (int i = 0; i < array.Length; i++)
                            {
                                for (int k = 0; k < array[i].Length; k++)
                                {
                                    if (k % 2 == 0)
                                    {
                                        if (array[i][k] != 'A')
                                            return false;
                                    }
                                    else
                                    {
                                        if (array[i][k] != 'B')
                                            return false;
                                    }
                                }
                            }
                            return true;
                        }
                    
                

Napisz mi metodę która zwerfikuje podany napisy

                    
                        static void Main(string[] args)
                        {
                            string[] correct = new string[] { "AB", "ABAB" };
                            string[] notcorrect = new string[] { "AA", "BB", "ABA", "BA", "ABB" };
                
                            var b1 = Check(correct);
                            var b2 = Check(notcorrect);
                        }
                
                        public static bool Check(string[] array)
                        {
                            for (int i = 0; i < array.Length; i++)
                            {
                                for (int k = 0; k < array[i].Length; k++)
                                {
                                    var newstring = array[i].Replace("AB", "");
                
                                    if (newstring.Length > 0)
                                        return false;
                                }
                            }
                            return true;
                        }
                    
                
SQL
Napisz mi zapytanie które zwróci mi sumę po UserId
SQL
Napisz mi zapytanie które zwróci zbiór danych wykluczając inny zbiór
SQL
Napisz mi zapytanie które zwróci mi sumę po UserId gdy liczba rezerwacji jest większa niz 5
Jakbyś ulepszył ten kod?
Pytania miękkie, czyli kultura pracy
1. Co pan wniesie do mojego zespołu? (po ang)
2. Co pan nie lubi w programowaniu?
3. Jaka jest pana największa porażka
4. Jakie są pana zalety i wady?
5. Czy pan jest zangażowany w pracy?
Pytania z kwasu, czyli test kreatywności
blog
Copyright © Cezary Walenciuk
blog
Copyright © Cezary Walenciuk
blog
Copyright © Cezary Walenciuk
blog
Copyright © Cezary Walenciuk
blog
Copyright © Cezary Walenciuk
B2B czy umowa o pracę . Dokładna analiza.
Co jest lepsze.
Ja nie jestem fanem B2B.
Moje pierwsze doświadczenie tej formy współpracy jest bardzo negatywne.

Moje problemy z B2B

Moje problemy z B2B

Moje problemy z B2B

Posiadanie swojej firmy nie jest takie proste.
Warto mieć znajomego księgowego czy prawnika.
Przejdźmy jednak do porównania.
blog
Copyright © Cezary Walenciuk
blog
Copyright © Cezary Walenciuk
blog
Copyright © Cezary Walenciuk
blog
Copyright © Cezary Walenciuk
blog
Copyright © Cezary Walenciuk
blog
Copyright © Cezary Walenciuk
blog
Copyright © Cezary Walenciuk
blog
Copyright © Cezary Walenciuk
blog
Copyright © Cezary Walenciuk
Pieniądze to nie wszystko?
Kiedy jest dobry moment w twoim życiu, aby zmienić prace?
blog
Copyright © Cezary Walenciuk

Nie ma co ukrywać. Jeżeli myślisz o zmianie pracy to:

Zalety umowy o pracę w czasie COVID

Z drugiej strony jeżeli jesteś dobry programistą nawet gdy cały świat płonie...
blog
Copyright © Cezary Walenciuk
Dostanie na umowe o pracę kwotę większą niż 10 000 zł jest prawie niemożliwe
Problemem jest drugi próg podatkowy
B2B może być nieuniknione

Zalety B2B

Okres wypowiedzenia.
Bezpieczeństwo czy kula u nogi

Okres wypowiedzenia

Jakie kwoty mówić?

Jakie kwoty mówić? Realia

Jaką wiedzę trzeba zgłębiać, aby kariera miała odpowiedni kierunek?
blog
Copyright © Cezary Walenciuk
blog
Copyright © Cezary Walenciuk
blog
Copyright © Cezary Walenciuk
blog
Copyright © Cezary Walenciuk
Powiedzmy, że chcesz 15k zł do ręki.
Co na to rynek.
blog
Copyright © Cezary Walenciuk

Tytuły stanowisk i ich analiza

  1. Kim jest : Full Stack Developer
  2. Kim jest : DEV-OPs
  3. Kim jest : Tech Leader
  4. Kim jest : Archiktekt
Z drugiej strony byli rekruterzy którzy mnie pytali dlaczego robię webinary na temat SQL Servera
Nie można celować wszystko
Dzięki za obecność