{"id":496,"date":"2021-03-06T11:13:44","date_gmt":"2021-03-06T11:13:44","guid":{"rendered":"https:\/\/testeroprogramowania.pl\/?p=496"},"modified":"2021-03-06T11:15:13","modified_gmt":"2021-03-06T11:15:13","slug":"pytania-rekrutacyjne-tester-automatyzujacy-czesc-i","status":"publish","type":"post","link":"https:\/\/testeroprogramowania.pl\/index.php\/2021\/03\/06\/pytania-rekrutacyjne-tester-automatyzujacy-czesc-i\/","title":{"rendered":"Pytania rekrutacyjne tester automatyzuj\u0105cy &#8211; cz\u0119\u015b\u0107 I"},"content":{"rendered":"\n<p>Tym wpisem chcia\u0142bym rozpocz\u0105\u0107 ca\u0142\u0105 seri\u0119, kt\u00f3ra b\u0119dzie zawiera\u0142a pytania zadawane podczas rekrutacji na testera automatyzuj\u0105cego. W kolejnych wpisach pojawi\u0105 si\u0119 r\u00f3wnie\u017c pytania dla tester\u00f3w manualnych<\/p>\n\n\n\n<p style=\"text-align:center\">.<img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"533\" class=\"wp-image-503\" style=\"width: 800px;\" src=\"https:\/\/testeroprogramowania.pl\/wp-content\/uploads\/2021\/03\/job-interview-3410427_1280.jpg\" alt=\"\" srcset=\"https:\/\/testeroprogramowania.pl\/wp-content\/uploads\/2021\/03\/job-interview-3410427_1280.jpg 1280w, https:\/\/testeroprogramowania.pl\/wp-content\/uploads\/2021\/03\/job-interview-3410427_1280-300x200.jpg 300w, https:\/\/testeroprogramowania.pl\/wp-content\/uploads\/2021\/03\/job-interview-3410427_1280-768x512.jpg 768w, https:\/\/testeroprogramowania.pl\/wp-content\/uploads\/2021\/03\/job-interview-3410427_1280-1024x682.jpg 1024w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Za\u0142o\u017cenia<\/h2>\n\n\n\n<p>Od czasu do czasu bior\u0119 udzia\u0142 w r\u00f3\u017cnych procesach rekrutacyjnych, aby sprawdzi\u0107 stan swojej wiedzy i zweryfikowa\u0107 czy nie wypad\u0142em z obiegu.<\/p>\n\n\n\n<p> Ostatnio mia\u0142em okazj\u0119 aplikowa\u0107 na stanowisko testera automatyzuj\u0105cego. Na wy\u017cej wymienionym stanowisku wymagana by\u0142a znajomo\u015b\u0107 j\u0119zyka programowania  Java oraz biblioteki Selenium. Firma oczekiwa\u0142a od kandydata pi\u0119ciu lat do\u015bwiadczenia komercyjnego. W tym wpisie om\u00f3wi\u0119 pierwsze cztery pytania jako otrzyma\u0142em w sekcji dotycz\u0105cej programowania.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Przeci\u0105\u017canie metod<\/h2>\n\n\n\n<p><em>Pierwsze pytanie: Czy wewn\u0105trz tej samej klasy mo\u017cemy posiada\u0107 dwie metody o tej samej nazwie?<\/em><\/p>\n\n\n\n<p style=\"text-align:left\">Je\u017celi przeprowadzimy prosty test w IDE to zauwa\u017cymy, \u017ce posiadanie dw\u00f3ch takich samych metod wewn\u0105trz jednej klasy powoduje b\u0142\u0105d:<br><br><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"422\" class=\"wp-image-497\" style=\"width: 500px;\" src=\"https:\/\/testeroprogramowania.pl\/wp-content\/uploads\/2021\/03\/1.png\" alt=\"\"><\/p>\n\n\n\n<p>Warto jednak pami\u0119ta\u0107, \u017ce mo\u017cemy zastosowa\u0107 przeci\u0105\u017canie metod. Czyli posiada\u0107 wewn\u0105trz klasy metody o tej samej nazwie, ale z innymi parametrami. Wtedy Nasz kod b\u0119dzie poprawny i nie pojawi si\u0119 b\u0142\u0105d:<\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"458\" class=\"wp-image-498\" style=\"width: 500px;\" src=\"https:\/\/testeroprogramowania.pl\/wp-content\/uploads\/2021\/03\/2.png\" alt=\"\"><\/p>\n\n\n\n<p>Podsumowuj\u0105c, w tej samej klasie mo\u017cemy posiada\u0107 dwie lub kilka metod o tej samej nazwie, jednak parametry tych metod musz\u0105 by\u0107 r\u00f3\u017cne. Jest to nazywane przeci\u0105\u017caniem metod  (&#8222;metod overloading&#8221;).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Obs\u0142ugiwanie wyj\u0105tk\u00f3w za pomoc\u0105 try\/catch<\/h2>\n\n\n\n<p><em>Drugie pytanie: Jak obs\u0142u\u017cy\u0107 wyj\u0105tek za pomoc\u0105 try\/catch ?<\/em><\/p>\n\n\n\n<p>Aby obs\u0142u\u017cy\u0107 wyj\u0105tek mo\u017cemy skorzysta\u0107 z blok\u00f3w try i catch. Wewn\u0105trz bloku try definiujemy kod, kt\u00f3ry chcemy wykona\u0107 i kt\u00f3ry mo\u017ce wyrzuci\u0107 wyj\u0105tek.<br>Blok catch rozpoczyna si\u0119 nawiasem wewn\u0105trz kt\u00f3rego przekazujemy wyj\u0105tek konkretnego typu kt\u00f3ry mo\u017ce zosta\u0107 wyrzucony wewn\u0105trz bloku try.  Nast\u0119pnie wewn\u0105trz bloku catch wprowadzamy kod, kt\u00f3ry ma zosta\u0107 wykonany, gdy wyj\u0105tek zostanie wyrzucony. Przyk\u0142ad try\/catch:<\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"117\" class=\"wp-image-499\" style=\"width: 500px;\" src=\"https:\/\/testeroprogramowania.pl\/wp-content\/uploads\/2021\/03\/3.png\" alt=\"\" srcset=\"https:\/\/testeroprogramowania.pl\/wp-content\/uploads\/2021\/03\/3.png 481w, https:\/\/testeroprogramowania.pl\/wp-content\/uploads\/2021\/03\/3-300x70.png 300w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Blok finally<\/h2>\n\n\n\n<p><em>Pytanie trzecie: Czy zna Pan blok kodu, kt\u00f3ry wykona si\u0119 zawsze niezale\u017cnie od tego czy wyj\u0105tek zostanie wyrzucony czy nie?<\/em><\/p>\n\n\n\n<p>W tym pytaniu chodzi oczywi\u015bcie o blok finally. Jest to opcjonalny blok kodu, kt\u00f3ry mo\u017ce zosta\u0107 u\u017cyty podczas obs\u0142ugiwania wyj\u0105tku przy pomocy try\/catch. Kod zawarty w bloku finally wykona si\u0119 zawsze. W przypadku gdy kod zdefiniowany w bloku try zadzia\u0142a poprawnie oraz gdy zostanie wyrzucony wyj\u0105tek.<\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"155\" class=\"wp-image-500\" style=\"width: 500px;\" src=\"https:\/\/testeroprogramowania.pl\/wp-content\/uploads\/2021\/03\/4.png\" alt=\"\" srcset=\"https:\/\/testeroprogramowania.pl\/wp-content\/uploads\/2021\/03\/4.png 496w, https:\/\/testeroprogramowania.pl\/wp-content\/uploads\/2021\/03\/4-300x93.png 300w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Nadpisywanie metod<\/h2>\n\n\n\n<p>Pytanie czwarte: Co to jest &#8222;method overriding&#8221;?<\/p>\n\n\n\n<p>Method overriding jest to nadpisywanie dzia\u0142ania metody klasy bazowej w klasie potomnej. Aby nadpisa\u0107 dzia\u0142anie metody nale\u017cy w klasie potomnej zdefiniowa\u0107 metod\u0119 o tej samej nazwie,parametrach i zwracanym typie co w klasie rodzica. <br>W kodzie mo\u017cna oznaczy\u0107 tak\u0105 metod\u0119 adnotacj\u0105 @Override, ale nie jest to wymagane.<br>Metoda w klasie bazowej:<\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"213\" class=\"wp-image-501\" style=\"width: 500px;\" src=\"https:\/\/testeroprogramowania.pl\/wp-content\/uploads\/2021\/03\/5.png\" alt=\"\" srcset=\"https:\/\/testeroprogramowania.pl\/wp-content\/uploads\/2021\/03\/5.png 328w, https:\/\/testeroprogramowania.pl\/wp-content\/uploads\/2021\/03\/5-300x128.png 300w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/p>\n\n\n\n<p>Metoda w klasie potomnej:<\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"228\" class=\"wp-image-502\" style=\"width: 500px;\" src=\"https:\/\/testeroprogramowania.pl\/wp-content\/uploads\/2021\/03\/6.png\" alt=\"\" srcset=\"https:\/\/testeroprogramowania.pl\/wp-content\/uploads\/2021\/03\/6.png 334w, https:\/\/testeroprogramowania.pl\/wp-content\/uploads\/2021\/03\/6-300x137.png 300w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Podsumowanie<\/h2>\n\n\n\n<p>W tym wpisie przedstawi\u0142em 4 pytania, kt\u00f3re zosta\u0142y zadane podczas rekrutacji na stanowisko seniorskie, jednak mog\u0105 by\u0107 one r\u00f3wnie\u017c zadane podczas rekrutacji na stanowiska z mniejszym do\u015bwiadczeniem komercyjnym. Sprawdzaj\u0105 one  znajomo\u015b\u0107 j\u0119zyka programowania Java na podstawowym poziomie. W przypadku pyta\u0144 i w\u0105tpliwo\u015bci zapraszam do kontaktu.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tym wpisem chcia\u0142bym rozpocz\u0105\u0107 ca\u0142\u0105 seri\u0119, kt\u00f3ra b\u0119dzie zawiera\u0142a pytania zadawane podczas rekrutacji na testera automatyzuj\u0105cego. W kolejnych wpisach pojawi\u0105 si\u0119 r\u00f3wnie\u017c pytania dla tester\u00f3w manualnych . Za\u0142o\u017cenia Od czasu do czasu bior\u0119 udzia\u0142 w r\u00f3\u017cnych procesach rekrutacyjnych, aby sprawdzi\u0107 stan swojej wiedzy i zweryfikowa\u0107 czy nie wypad\u0142em z obiegu. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-496","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/testeroprogramowania.pl\/index.php\/wp-json\/wp\/v2\/posts\/496","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/testeroprogramowania.pl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/testeroprogramowania.pl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/testeroprogramowania.pl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/testeroprogramowania.pl\/index.php\/wp-json\/wp\/v2\/comments?post=496"}],"version-history":[{"count":6,"href":"https:\/\/testeroprogramowania.pl\/index.php\/wp-json\/wp\/v2\/posts\/496\/revisions"}],"predecessor-version":[{"id":509,"href":"https:\/\/testeroprogramowania.pl\/index.php\/wp-json\/wp\/v2\/posts\/496\/revisions\/509"}],"wp:attachment":[{"href":"https:\/\/testeroprogramowania.pl\/index.php\/wp-json\/wp\/v2\/media?parent=496"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/testeroprogramowania.pl\/index.php\/wp-json\/wp\/v2\/categories?post=496"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/testeroprogramowania.pl\/index.php\/wp-json\/wp\/v2\/tags?post=496"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}