Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 28 mar 2024, o 19:27


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 21 mar 2023, o 11:55 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 mar 2014
Posty: 196
Lokalizacja: Kielce
Pomógł: 3

Cześć,

Panowie i być może Panie. Podzielcie się proszę jakie mieliście pytania na rozmowach kwalifikacyjnych na programistę (oczywiście jeżeli są tu takie osoby). Przygotowuję się do własnej i zbieram informacje :lol:

Przy okazji jak prawidłowo odpowiedzieć na takie pytanie:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Jakie adresy wskazują ptr1 i ptr2?



Bo moim zdaniem adres za każdym razem będzie inny po każdej kompilacji.

_________________
BlueBook



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 mar 2023, o 15:48 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 mar 2015
Posty: 313
Lokalizacja: Czerwionka-Leszczyny
Pomógł: 22

Zrobiłem test na ATmega32 i wynik wychodził za każdym razem ten sam, tzn adres był zawsze ten sam. Po każdej kompilacji i wgraniu wsadu od nowa.
Chyba, że ja coś źle robiłem ale nie sądzę.

_________________
http://www.avrboss.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 mar 2023, o 18:29 
Offline
Użytkownik

Dołączył(a): 23 sty 2014
Posty: 1079
Pomógł: 73

Rozmowa na programistę embedded? Tu masz fajny quiz
https://wordsandbuttons.online/so_you_t ... now_c.html



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 mar 2023, o 08:15 
Offline
Użytkownik

Dołączył(a): 23 sty 2014
Posty: 1079
Pomógł: 73

Zerknij sobie na to zadanko poniżej. Zastanów się jaki będzie wynik a na końcu skompiluj i zobacz, czy taki jak zakładałeś :)

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


------------------------ [ Dodano po: 10 minutach ]

Jeszcze jeśli chodzi o wskaźniki to obejrzyj wnikliwie tą serie filmów:
https://www.youtube.com/watch?v=a7TfLQMZXaI



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 mar 2023, o 08:49 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 mar 2014
Posty: 196
Lokalizacja: Kielce
Pomógł: 3

nick_czemnik napisał(a):
https://onlinegdb.com/AWTOhowj0

możesz sobie to sprawdzić powyżej.

Nie mniej.

A adresy będą zawsze:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


dlaczego? ciężko się takie podstawy tłumaczy zwłaszcza jak ktoś chce iść na rozmowę o pracę... no ale zakładam że masz jakąś wskaźnikową zaćme.

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


I zawsze będzie tak samo. Bo niby czemu miałoby byc inaczej przy każdej kompilacji skoro zawsze ptr1 ustawiasz na tę samą wartość?



Faktycznie jakaś zaćma, jedno myślę a piszę drugie. Ale dzięki za przypomnienie i wyjaśnienie.

_________________
BlueBook



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 mar 2023, o 13:59 
Offline
Użytkownik

Dołączył(a): 23 sty 2014
Posty: 1079
Pomógł: 73

nick_czemnik napisał(a):
Rafal9018 napisał(a):
Faktycznie jakaś zaćma, jedno myślę a piszę drugie. Ale dzięki za przypomnienie i wyjaśnienie.


Kumam. Każdemu się zdarza podstaw zapomnieć.

Na rozmowę o pracę na programistę embedded (jak mniemam) ja zawszę pytam ludziów według wzorca który mamy w firmie. Poniżej zagadnienia które trzeba znać zanim w ogóle zacznę zadania z kodowania.

BUDOWANIE
- etapy kompilacji pokrótce opisać. Mamy pliki .c i .h i chcemy z nich zrobić program. Jakie musimy wywołać komendy, co zrobi po ich wywołani kompilator. Nie oczekuje znajomości systemów wspomagających budowanie (cmake, unix makefiles, ninja)
- co to są sekcje .text, .data , .bss itd
- po co nam skrypt linkera

PROGRAMOWANIE W C
- dyrektywy PREPROCESORA i MAKRA - temat rzeka. Różnica między funkcją inline a makrem. Kiedy czego możemy użyć.
- wszystkie znaczenia słowa static w C
- arytmetyka wskaźników (BARDZO WAŻNE!)
- wskaźnik na stałą a stały wskaźnik - różnice
- różnica między unią a strukturą
- po co nam typy zmiennych uintX_t skoro mamy nazwy jak int long unsigned long itd
- jak wymienić strukturę danych między dwoma procesorami o różnej architekturze np poprzez SPI
- jaki rzeczwisty rozmiar w pamięci będzie miała struktura danych jak poniżej i czy możemy myć tego zawsze pewni:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

- słowo kluczowe const - po co ono nam w ogóle
- słowo kluczowo volatile - po co ono nam w ogóle
- różnica miedzy stosem a stertą, przepełnienie stosu, fragmentacja sterty
- dlaczego w systemach embedded gdzie mamy mikrokontroler zazwyczaj nie używamy dynamicznej alokacji pamięci z użyciem malloc() i free()
- wskaźniki na funkcje, jak zadeklarować i po co nam one
- czy możemy w C pisać obiektowo
- różnica między little endian i big endian - jak napisać procedurę sprawdzającą na jakiej architekturze działa nasz program
- przekazywanie przez wartość i przekazywanie przez wskaźnik - główna różnica
- co się stanie gdy zwrócimy wskaźnik do zmiennej lokalnej i czy taki kod się skompiluje i czy zadziała:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

- priorytety operatorów w C
- domyślna promocja typów w C - dlaczego czasem może być to bardzo złe

ogólnie tak można w nieskończoność. Sprawdzam w ten sposób czy kandydat rzeczywiście zna C czy tylko myśli że zna ;)

SPRAWY OKOŁOMIKROKONTROLEROWE I PODSTAWY ELEKTRONIKI CYFROWEJ
- różnica między architekurą harvardzką a von neumanna
- różnica między CISC a RISC
- co to jest vector przerwań
- co to są przerwania
- jak działają przerwania
- jak działają priorytety przerwań
- pytania o peryferia takie jak UART, SPI, I2C, CAN
- co to jest PWM
- jak działa przetwornik ADC SAR
- bramki logiczne AND, NAND, OR, NOR, XOR, XNOR
- jak podłączyc do mikrokontrolera np przekaźnik albo brzęczyk
- co to jest MMU, a co to jest MPU, po co w ogóle MMU

jak mi coś wpadnie do głowy jeszcze to dopisze :)

------------------------ [ Dodano po: 2 minutach ]

Jarecki napisał(a):
Zerknij sobie na to zadanko poniżej. Zastanów się jaki będzie wynik a na końcu skompiluj i zobacz, czy taki jak zakładałeś :)

Składnia: [ Pobierz ] [ Ukryj ]
język c

#define BLOCK(x) (x*x*x)

void fun(void)
{
uint32_t x = 5;
uint32_t y = 0;

y = BLOCK(x++);

printf("BLOCK = %d", y);
}

GeSHi



Kolega Jarecki, bardzo fajny przykład jak nie pisać kodu w C :) ale na rozmowę pytanko dobre :D


Pięknie Kolega nick_czemnik wypunktował, faktycznie można tymi pytaniami duuuuużo zweryfikować



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 mar 2023, o 11:02 
Offline
Użytkownik

Dołączył(a): 23 sty 2014
Posty: 1079
Pomógł: 73

Rafal9018 napisał(a):
Cześć,

Panowie i być może Panie. Podzielcie się proszę jakie mieliście pytania na rozmowach kwalifikacyjnych na programistę (oczywiście jeżeli są tu takie osoby). Przygotowuję się do własnej i zbieram informacje :lol:


I jak, dostałeś tą robotę? :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 14 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO