Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 35590|Vastaus: 9

[Lähde] . Net-ohjelmistokehittäjän haastattelumateriaalit ja usein esiintyvät kysymykset

[Kopioi linkki]
Julkaistu 15.10.2015 19.41.38 | | | |
VERKKO1Rekursiiviset algoritmit ja kuplalajittelu
2 JulkaisujaTuleEro
3 .netToimintamekanismi
4.netSivun elinkaari
5Useita tapoja siirtää arvoa kahden sivun välillä
6Kuinka optimoida suuria määriä dataa tietokannassa
7Kirjoita yksiSqlLausunto: Ota pöytä poisALäpäisin kokeen31Ensimmäinen artikla40ennätys (SQL Server,kasvaa automaattisestiIDensisijaisena avaimena,  Muistiinpano:IDei välttämättä ole jatkuvaa).
8Annettu taulukkotaulukko 1,KylläIDViimeinen päivitys
9 Ajaxydinobjekti, jaajaxKuinka kirjoittaa
10Miten ehkäistä sesqlInjektio
11Ado,netMitkä ovat yleisiä esineitä?
12Kuinka ymmärtää delegointi,Onko tapahtuma eräänlainen tilaustyö?
13On olemassa taulukkoA, satunnaisesti lisättynä tähän puuryhmään100arvoja, mutta niitä ei voi toistaa
14 Mitkä ovat pääasialliset objektiorientoituneet ideat? Mitkä ovat sen hyödyt?
15 Ado.netMenetelmät ja vaiheet datan rinnakkaiskäsittelyyn
16 Mikä on asia, mikä on lukko. Mikä on pattitilanne?
17Ylläpidä tietokanta eheys, johdonmukaisuus, pidätkö enemmän triggerien käytöstä vai omasta liiketoimintalogiikastasi, ja miksi
18 Ero arvotyyppien ja viitetyyppien välillä
19 Lyhyt kuvaussaippua
20 Käyttäjätila, mukautetut ohjaimet Palvelinkontrollien ero

Tässä tiedot:
.NET葵花宝典-new.doc (1.59 MB, Latausten määrä: 2, Myyntihinta: 2 Grain MB) asp.net面试题.doc (137 KB, Latausten määrä: 9, Myyntihinta: 2 Grain MB) NET常见题目.docx (16.66 KB, Latausten määrä: 1, Myyntihinta: 2 Grain MB)





Edellinen:ikkuna VisualSVN-palvelinkirjaston siirron alla
Seuraava:Lenovon virallinen sinisen näytön vikatunnistustyökalu
 Vuokraisäntä| Julkaistu 15.10.2015 19.42.24 |
staattinen class1() { count++; } julkinen luokka1(){count++; }} luokka1 o1=uusi luokka1(); class1o2=uusi class1(), mikä on o1.countin arvo?

Vastaus:

Staattiset konstruktorit ovat C#:n uusi ominaisuus, jota ei laajalti käytetä ohjelmoinnissa, ja niiden päätarkoitus on alustaa joitakin staattisia muuttujia.
Koska konstruktori kuuluu luokkaan eikä mihinkään yhteen instanssiin, konstruktori suoritetaan vain kerran, ja .NET kutsuu sen automaattisesti ennen luokan ensimmäisen instanssin luomista tai viitamista mihinkään staattiseen jäseneen.
Tämä tarkoittaa, että kun rakennat ensimmäisen instanssin, joka on o1, sinun täytyy suorittaa staattinen konstruktori kutsumisen lisäksi. Eli staattisen datan jäsenmäärän alkuperäinen arvo on 0. Luokka 1 o1 = uusi luokka 1(); Kutsu sitten staattinen Class1()-funktio, count++ muuttuu 1:ksi ja kutsumme julkiseksi Class1() Funktion count++ muuttuu 2:ksi, Class1 o2 = uusi Class1(); Kun tämä lause on suoritettu, kutsutaan julkinen luokka 1() ja funktiomäärä ++ muuttuu 3:ksi. Lisäksi Baidu-tietosanakirjassa on erityinen johdanto staattisiin konstruktoreihin.
Julkaistu 15.10.2015 20.36.01 |
1, kokeile {}Siinä on yksiPaluuLause, sitten seuraa tätäyritäSen jälkeenlopulta {}sisäänKoodiToteutetaanko se, milloin se toteutetaan,PaluuEnnen tai jälkeen?
Tullaan teloittamaan, tullaan teloittamaanPaluuTeloitettu aiemmin.
2, swtichVoiko se olla tehokastatavusiitä, voiko se toimiapitkäsiitä, voiko se toimiaKielipäällä?
Sitä ei voi käyttääMerkkijonopäällä
3. Onko taulukko olemassa vai eilength()Tämä menetelmä? KieliOnko sinullalength()Tämä menetelmä?
  Taulukoilla ei ole length()-menetelmää, on olemassaPituusattribuutit,MerkkijonoKylläPituus() menetelmä.
4. Kuinka monella tavalla voin lähettää pyynnön palvelimelle?
Kaksi tyyppiä:Julkaisutapa, lähettää tiedot palvelimelle,TulePyydä tietoja palvelimelta.
5, <%# %>ja<% %>Mikä ero niillä on?
1,<%# %>on datan sitominen, <%%>on datan lähtö
2,<%# %>käsitellään yhtenäKirjaimellinenOhjaus, Silloin<%%>kirjoitetaan suoraan lähtövirtaan
3,<%#%>AtDataBindLähtödata,Silloin<%%>Tällaista rajoitusta ei ole.
6, string strTmp = "abcdefgso-ja-niin";
int i= System.Text.Encoding.Default.GetBytes(strTmp). Pituus;
int j= strTmp.Pituus;
Kun yllä oleva koodi on suoritettu?
i=13,j=10
7. Kuvaile seC #Voidaanko indeksoijan käyttöönottoprosessi indeksoida vain numeroiden perusteella?
   Muita tyyppejä voidaan indeksoida
8, Ole hyvä ja ohjelmoi käymään läpi kaikki TextBox-ohjaimet sivulla ja anna sille arvo merkkijonolle. Tyhjä?
foreach (System.Windows.Forms.Control -toiminnolla tässä. Ohjaus)
{
if (ohjaus on System.Windows.Forms.TextBox)
{
System.Windows.Forms.TextBox tb = (System.Windows.Forms.TextBox)control ;  
TB. Teksti = Merkkijono. Tyhjä ;
}
}

Julkaistu 15.10.2015 20.39.09 |
Sarakeiden lukumääräsäännöt ovat seuraavat: 1, 1, 2, 3, 5, 8, 13, 21, 34...... Mitä tarkoittaa 30. numero, käytetään rekursiivista algoritmia.

julkinen staattinen älykkyys Foo (int i)
        {
            jos (i <= 0)
                palautus 0;
            muuten jos(i > 0 && i <= 2)
                paluu 1;
            muuten palauta Foo(i -1) + Foo(i - 2);
        }
Julkaistu 19.10.2015 22.51.25 |
    ajaxin koko nimi on asynkroninen JavaScript ja XML, kun taas asynkroninen tarkoittaa asynkronista, mikä eroaa perinteisessä web-kehityksessä käytetystä synkronointimenetelmästä.

4. Synkronisesta ja asynkronisesta

Asynkroninen siirto on merkkilähtöistä siirtoa, ja sen yksikkö on merkit; Synkroninen siirto on bittiorientoitunut siirto, sen yksikkö on zhen, ja sen täytyy olla vastaanottajan ja lähettäjän kellotaajuuksien oltava yhdenmukaisia lähetyksen aikana.
Julkaistu 19.10.2015 23.01.05 |
1. Get on hakea data palvelimelta, ja post on lähettää data palvelimelle.
2. get tarkoittaa parametritietojen jonon lisäämistä URL-osoitteeseen, johon lähetetyn lomakkeen ACTION-attribuutti osoittaa, ja arvot vastaavat jokaista lomakkeen kenttää, joka näkyy URL-osoitteessa. post on HTTP-post-mekanismi, joka sijoittaa jokaisen lomakkeen kentän ja sen sisällön HTML-OTSIKOSSA URL-osoitteeseen, jonka ACTION-attribuutti osoittaa. Käyttäjät eivät näe prosessia.
3. get-metodissa palvelinpuoli käyttää Request.QueryString-tiedostoa muuttujan arvon saamiseksi, ja post-metodissa palvelinpuoli käyttää Request.Form-tiedostoa lähettämään lähetetyt tiedot.
4. Getin lähettämä datamäärä on pieni, eikä saa olla yli 2KB. Postitse lähetettävän datan määrä on suuri, ja se on yleensä oletuksena rajaton. Mutta teoriassa suurin määrä IIS4:ssä on 80KB, ja IIS5:ssä 100KB.
5. Varmista, että turvallisuus on hyvin matala, ja jälkiturva korkea. Mutta toteutuksen tehokkuus on parempi kuin Post-menetelmällä.

Suositukset:
1. Get-menetelmän turvallisuus on heikompi kuin Post-menetelmän, jos se sisältää luottamuksellista tietoa, suositellaan Post data submission -menetelmää;
2. Datakyselyä tehdessä suositellaan käyttämään Get-menetelmää; Tietojen lisäämisessä, muokkaamisessa tai poistamisessa suositellaan Post-menetelmää;

Julkaistu 19.10.2015 23.03.50 |
tapaus kun 1<2 sitten 'kyllä' muuten 'ei' loppu

Vastaava kuin ternäärioperaattorisi 1<2? 'kyllä': 'ei'

?

VALITSE t_sys_dlxxb.id,
t_sys_dlxxb.dldm,
t_sys_dlxxb.lkh,
t_sys_dlxxb.lm,
t_sys_dlxxb.xzqm,
t_sys_dlxxb.xzqh,
t_sys_dlxxb.lkldm || (tapaus, jossa t_sys_dlxxb.zddl ei ole nolla, niin '('|| t_sys_dlxxb.zddl||')' else t_sys_dlxxb.zddl end),
t_sys_dlxxb.pysx,
t_sys_dlxxb.xtsx,

VUODESTA t_sys_dlxxb
Julkaistu 19.10.2015 23.16.18 |





 Vuokraisäntä| Julkaistu 19.10.2015 23.40.48 |

Yksi. Täytä aukot
1. Olio-ohjelmoiduilla kielillä on (periytyminen), (polymorfismi) ja (kapselointi).

2. Objektit, joita voi käyttää forach-menetelmällä, täytyy toteuttaa IEnumberable interface tai declaration (GetEnumberator) -menetelmä.

3. Listaa viisi pääobjektia ADO.net (Komento), (Yhteys), (DataReader), (DataSet) ja (DataAdapter).

4. Ternäärioperaattori C#:ssa on __(?:)__

5. Kun kokonaisluku a liitetään objektille, kokonaisluku a on __(ruudussa)___

6. Luokan jäsenillä on __(3)__ käytettävissä olevia lomakkeita

7. float f=-123,567F; int i=(int)f; i:n arvo on nyt _(-123)__

8. Valtuuttajan julistamisen avainsana on ___(valtuutettu) _

9. Kaikki Asp.net:n mukautetut käyttäjäkontrollit on perittävä (System.Web.UI.UserControl)

10. .Net-versiossa kaikki sarjoitettavat luokat merkitään __[serializable]___

11. .Net-hallitussa koodissa meidän ei tarvitse huolehtia muistihaavoittuvuuksista GC:n takia

12. Kun luokka T julistaa vain yksityisen instanssikonstruktorin, ohjelmatekstin ulkopuolella T:stä ei voi johtaa uutta luokkaa T:stä, eikä mitään T:n instanssia voi luoda suoraan.

Kaksi. Monivalintakysymykset
1. Seuraava väite on oikea: Eaa.
V. Käyttöliittymässä voi olla virtuaalisia menetelmiä. B. Luokka voi toteuttaa useita rajapintoja.
C. Rajapintoja ei voi toteuttaa.   D. Toteutetut metodit voidaan sisällyttää rajapintaan.

2. Tietokannan tietueiden lukemiseen voit käyttää BCD:tä
A. Suorita, eiKysely B. SuoritaSkalaari
C. Täytä D. SuoritaLukija

3. Luokalle, joka toteuttaa IDisposable-rajapinnan, mikä seuraavista voidaan suorittaa vapauttamaan tai nollaamaan ei-säilytysvarat
Liittyvät sovellusmäärittelemät tehtävät? (Monivalinta)   ( ABC )
A.Sulje B.Hävitä C.Viimeistele D.Käyttämällä E.Lopeta

4. Mikä seuraavista viite- ja ulos-kuvauksista on oikea? (Monivalinta)   ( ACD )
    A. Ref-parametreilla ref-parametrille välitetyt parametrit on ensin alustettava.  
    B. Out-parametrin avulla ulos-parametrille välitetty parametri on ensin alustettava.   
    C. Ref-parametreilla parametrit on eksplisiittisesti siirrettävä metodille ref-parametreina.  
    D. Out-parametrin kanssa parametri on eksplisiittisesti siirrettävä metodille ulos-parametrina.

5. SQL Server -tietokantojen kanssa työskennellessä tulee valita (A).
   A.SQL Server .NET Framework -tietopalveluntarjoaja;
B.OLE DB .NET Framework -tietopalveluntarjoaja;
C.ODBC .NET Framework -tietopalveluntarjoaja;
D. Oracle .NET Framework -datan tarjoaja;

6. Seuraavista vaihtoehdoista (C) on viitetyyppi.
   A.enum-tyyppi B.struct tyyppi C.string tyyppi D.int tyyppi

7. Kooditiedoston piilotetun tiedoston kuvaus ASP.NET on oikea (C)
   V. Verkkolomakkeen ohjelman logiikka koostuu koodista, joka luodaan vuorovaikutukseen lomakkeen kanssa. Ohjelmointilogiikka eroaa ainutlaatuisesti käyttöliittymästä. Tätä tiedostoa kutsutaan "code-hidden" -tiedostoksi, ja jos tiedosto luodaan C#:lla, sillä on ".ascx.cs"-pääte.
B. Kaikkien projektin verkkolomakesivujen koodilla piilotetut tiedostot käännetään .EXE tiedostoiksi.
C. Kaikkien projektin web-lomakesivujen koodilla piilotetut tiedostot käännetään projektin dynaamisiin linkkikirjastoihin (.dll).
D. Mikään edellä mainituista ei pidä paikkaansa.

8. Seuraava kuvaus on virheellinen (A)
V. Abstraktit luokat ovat tuettuja C++:ssa, mutta eivät C#:ssa.
B. Luokan jäsenet voidaan julistaa otsikkotiedostossa C++:ssa ja luokan jäsenet CPP-tiedostossa, ja C#:ssa ei ole otsikkotiedostoa, ja luokan jäsenet määritellään ja määritellään samassa paikassa.
C. C#:ssa voit käyttää uutta modifikaattoria eksplisiittisesti piilottamaan perusluokasta perittyjä jäseniä.
D. C#:ssa, jotta perusluokan virtuaalifunktio voidaan määritellä uudelleen johdetussa luokassa, sitä edeltää Override.

9. C#:n tietotyypit ovat (B)
   A. Arvotyypit ja kutsutyypit B. Arvotyypit ja viitetyypit
C. Viite- ja suhdetyypit D. Suhdetyypit ja kutsutyypit

10. Seuraava kuvaus on virheellinen (D)
V. Luokkia ei voi periä useita kertoja, mutta rajapinnat voivat
B. Abstraktit luokat voivat määritellä jäseniä itse, mutta rajapinnat eivät
C. Abstrakteja luokkia tai rajapintoja ei voida luoda
D. Luokalla voi olla useita perusluokkia ja useita perusrajapintoja
11. DOM:ssa XML-dokumentin latausmenetelmä (D)
    A.save-metodi B.lataa-metodi C.loadXML-metodi D.send -metodi

12. Seuraava konstruktorin kuvaus on oikea (C)
A. Rakentaja voi ilmoittaa palautustyypin.
B. Rakentajia ei voi muokata yksityisellä
C. Konstruktori on oltava sama kuin luokan nimi
D. Konstruktioilla ei voi olla parametreja

13. Tässä on joitakin enum-määritelmiä C#:ssa, jossa väärä käyttö on (A)
A.public enum var1{ Mike = 100, Nike = 102, Jike }
B.public enum var1{ Mike = 100, Nike, Jike }
C.public enum var1{ Mike=-1 , Nike, Jike }
D.public enum var1{ Mike , Nike , Jike }

14.int[][] myArray3=new int[3][]{new int[3]{5,6,2},new int[5]{6,9,7,8,3},new int[2]{3,2}}; myArray3[2][2] on arvo (D)
     A.9 B.2 C.6 D. Linjan ylitys

15. Rajapinta on viitetyyppi, jossa (A) voidaan julistaa, mutta ei julkiseksi domainiksi tai yksityiseksi jäsenmuuttujaksi
A.. Menetelmät, attribuutit, indeksoijat ja tapahtumat B. Menetelmät, attribuuttitieto, genus
C. Indeksoijat ja kentät D. Tapahtumat ja kentät;

16.ASP. .NET-kehyksessä palvelinkontrollit on suunniteltu erityisesti toimimaan verkkolomakkeiden kanssa. Palvelinkontrolleja on kahta tyyppiä, ne ovat (A)
   A.HTML- ja verkkoohjaimet B.HTML Ohjaimet ja XML-ohjaimet
C.XML ja Web Controls D.HTML- ja IIS-ohjaimet

17.ASP. .NET, rekisteröi käyttäjäkontrolli verkkosivulle, ilmoita ohjaimen nimeksi "Mike", ja oikea rekisteröintikäsky on (D)
A.<%@Register TagPrefix = "Mike" TagName = "space2" src = "myX.ascx"%>
B.<%@Register TagPrefix = "space2" TagName = "Mike" Src = "myX.ascx"%>
C.<%@Register TagPrefix = "SpaceX" TagName = "Space2" Src = "Mike"%>
D. Mikään edellä mainituista ei pidä paikkaansa

18. Vuonna ADO.NET Command-objektin ExecuteNonQuery()-metodille ja ExecuteReader()-metodille alla kuvattu virhe on (C)
   V. SQL-lauseet, kuten insert, update, delete ja muut operaatiot, suoritetaan pääasiassa ExecuteNonQuery()-menetelmällä;
B. ExecuteNonQuery()-metodi palauttaa rivin määrän, johon SQL-lauseen suorittaminen vaikuttaa.
C.Select Operation Sql -lause voidaan suorittaa vain ExecuteReader()-metodilla;
D.ExecuteReader()-metodi palauttaa DataReder-objektin;


19. Seuraava ASP.NET-lause (B) luo oikein yhteyden SQL Server 2000 -tietokantaan.
    A. SqlConnection con1 = uusi yhteys("Tietolähde = paikallisisäntä; Integroitu turvallisuus = SSPI; Alkuperäinen luettelo = myDB");
B. SqlConnection con1 = uusi SqlConnection("Tietolähde = paikallisisäntä; Integroitu turvallisuus = SSPI; Alkuperäinen luettelo = myDB");
C. SqlConnection con1 = uusi SqlConnection (Data Source = localhost; Integroitu turvallisuus = SSPI; Alkuperäinen luettelo = myDB);
D. SqlConnection con1 = uusi OleDbConnection("Tietolähde = paikallisisäntä; Integroitu turvallisuus = SSPI; Alkuperäinen luettelo = myDB");

20. Winformissa ToolBar-ohjauksen ominaisuuksien ja tapahtumien kuvaus on virheellinen (D)
A. Buttons-ominaisuus edustaa kaikkia työkalupalkin painikkeet ToolBar-ohjauksessa
B. ButtonSize-ominaisuus ilmaisee työkalupalkin painikkeen koon, kuten korkeuden ja leveyden, kuten korkeuden ja leveyden
C. DropDownArrows-ominaisuus kertoo, näkyykö alaspäin -nuolinäppäin työkalupalkin painikkeen vieressä (jossa on sarake arvoista, jotka täytyy näyttää pudotuksena).
D. ButtonClick -tapahtuma käynnistyy, kun käyttäjä klikkaa mitä tahansa työkalupalkissa

21. Kun suoritat tallennettua proseduuria ADO.NET:ssa, jos haluat asettaa lähtöparametrit, sinun täytyy asettaa parametrien suunta ja (D) samanaikaisesti, ja tarvittaessa säätää parametrien koko.
   A. Koko; B. Yläraja; C. Alkuarvo; D. Tyyppi

22. Jos asetat lomakkeen FormBoderStyle-arvoksi None, niin (A).
A. Muotoa ei voi muuttaa ilman reunaa; B. Muodolla ei ole reunusta, mutta se voidaan muuttaa kooltaan;
C. Muodolla on reunus, mutta sitä ei voi muuttaa kokoa; D. Muoto on läpinäkyvä;

23. Jos haluat asettaa muodon läpinäkyväksi, niin (B)
    A. Asetetaan FormBoderStyle-ominaisuus arvoksi Ei mitään; B. Asetetaan Opacity-ominaisuus arvoksi alle 100 %;
C. Asettaa lukittu ominaisuus True;        D. Asettaa Enabled -ominaisuus Trueksi;

24. Seuraava on oikea ymmärrys indeksoijista C#:ssa (B/C)
    A. Indeksaattorilla on oltava kaksi tai useampia parametreja B. Indeksaattorin parametrityypin on oltava kokonaisluku
C. Indeksoijalla ei ole nimeä D. Ei mitään yllä mainituista

25. Seuraava kuvaus on virheellinen (C/D)
    A. Lomakkeet ovat myös kontrollija; B. Muodot ovat myös luokkia; C. Kontrollit periytyvät lomakkeista; D. Lomakkeen emoluokka on kontrolliluokka

26. Rekisterissä toimiakseen sen on oltava (D)
    A.System.ComponentModel-nimiavaruus; B.System.Collections-nimiavaruus;
C.System.Threading -nimiavaruus; D.Microsoft.Win32-nimiavaruus;

27. Monidokumenttisovelluksen luomiseksi sinun täytyy asettaa lomakkeen (D)-ominaisuus todeksi.
    A.DrawGrid;    B.ShowInTaskbar;     C.Enabled;     D.IsMdiContainer;


28. Jos asetat treeView1=new TreeView(), treeView1.Nodes.Add("root node") palauttaa arvon tyyppi (A).
   A.TreeNode;  B.int;  C.string; D.TreeView;

29. Seuraava XML:n kuvaus on virheellinen (D)
A.XML tarjoaa tavan kuvata rakenteellista dataa;
B.XML on yksinkertainen, alustariippumaton ja laajasti omaksuttu standardi;
C.XML asiakirjat voivat sisältää monenlaista tietoa;
D.XML vain rakenteellisten asiakirjojen luomiseen;

30. Pakkaus- ja purkutoiminnot tapahtuvat: (C)
    A. Luokkien ja objektien välillä B. Objektien ja objektien välillä
C. Viitetyypin ja arvotyypin D. Referenssityypin ja referenssityypin välillä

31. Jos käyttäjäluokka haluaa tukea Forach-lausetta, toteutettava rajapinta on: (A)
A.Ienumerable B.Ienumerator C.Icollection D.IcollectData

Miten 32.Net Framework on vuorovaikutuksessa COM-komponenttien kanssa? ( C )
    A.Side By Side B.Web-palvelu C.Interop D.PInvoke

33..Net perustuu seuraaviin teknologioihin ratkaistakseen Dll Hell -ongelman COM:ssa? ( A )
    A. Side By Side B.Interop C.Pinvoke D.COM+

34. Ovatko pakkaamis- ja purkutoiminnot molemminpuolisesti päinvastaisia? ( B )
    A. Kyllä B. Ei

35. Mikä seuraavista on taulukko, jota voidaan pidennetä? ( D )
A.Taulukko B.string[] C.string[N] D.ArrayList

36. Mikä seuraavista käyttäjän määrittelemistä poikkeusluokista tulee periä: (A)
    A.Exception B.CustomException C.ApplicationException D.BaseException
Julkaistu 16.7.2017 19.29.37 |
Kiitos, että jaoit resurssit
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com