CodeGym /Blogue Java /Random-PT /Nível antigo 08
John Squirrels
Nível 41
San Francisco

Nível antigo 08

Publicado no grupo Random-PT

mercado de trabalho global

Antigo Nível 08 - 1Se você mora em um país pequeno, pobre ou em desenvolvimento, pode se deparar com a limitação do mercado de trabalho local em algum momento.

Limitações para o mercado de trabalho local

1 salário baixo

Mesmo se você for um especialista altamente qualificado, pode simplesmente não haver nenhum empregador capaz de pagar o salário que você merece no mercado de trabalho local. Exemplo: professores, cientistas.

2 diplomas universitários desnecessários

A quantidade de advogados e economistas produzidos pelas universidades supera em mais de dez vezes a demanda do mercado de trabalho. 90% desses especialistas não conseguem trabalho na profissão. Muitas vezes é o resultado da baixa qualidade da educação.

3 Nenhuma demanda para sua profissão

Você pode ser um cientista maravilhoso, mas o estado não financia mais pesquisas fundamentais. Na Conservatória do Registo do Trabalho está a ser aconselhado a requalificar-se. Em tal situação, fazer isso é muito imprudente, porque existem alguns países onde seus conhecimentos e habilidades são solicitados. Quando um cientista de renome mundial deixa sua cátedra nativa e se contenta em lavar pratos em Nova York – é uma tragédia. Quando um cientista de renome mundial lava pratos em seu próprio país, em vez de ser chefe da cátedra em Nova York, a tragédia é ainda maior.

4 Poucas oportunidades de carreira

Você é corretor da bolsa de valores e deseja avançar como especialista focado em fundos de crédito financeiro. Você deseja ser o chefe de sua própria fundação de investimento no futuro. Não pode haver demanda por especialistas como você em seu país.

5 Pequenos mercados de trabalho

Em seu país, pode haver apenas duas empresas interessadas em um especialista como você. Se você trabalha para um deles, pode ser proibido de trabalhar com seus rivais. Você simplesmente não tem para onde ir. O processo de globalização e o desenvolvimento e barateamento das técnicas de telecomunicações resultaram no aparecimento do mercado de trabalho global. O mercado global é formado por empresas dispostas (e aptas) a contratar empregadores no exterior. Também consiste em empregadores dispostos (e capazes) de conseguir um emprego na empresa estrangeira.

Vantagens do mercado de trabalho global

1 Os salários são mais baixos do que nos países desenvolvidos, mas mais altos do que nos países em desenvolvimento

Se você é de um país em desenvolvimento e é um especialista sob demanda no mercado de trabalho global, seu salário pode diferir de 5 a 10 vezes no mercado global e no local. Além do mais, você pode gastar seu dinheiro em seu país, despejando-o em sua economia.

2 Experiência. Processo de negócios superior

Existem três coisas mais importantes que seu trabalho oferece: experiência, dinheiro e conexões. Se você está acostumado a receber apenas dinheiro, o problema é seu . Você pode obter a experiência mais valiosa se trabalhar para as principais empresas do mundo. Eles aceitam as tendências da globalização, então conseguir um emprego lá é mais fácil do que você pensa. Quando você é funcionário de uma empresa, tem a oportunidade de ver todos os processos internos de negócios eficazes e ineficazes. Tudo que você precisa fazer é assistir e ouvir.

3 Grandes oportunidades de carreira

Um emprego em uma grande corporação internacional o ajudará a crescer profissionalmente e construir uma carreira. Você pode obter boas conexões em todo o mundo, e isso é muito útil: ganhe uma reputação de especialista altamente qualificado e algumas empresas internacionais provavelmente o oferecerão para continuar construindo sua carreira trabalhando para elas. Tudo o que uma pessoa talentosa precisa é de uma oportunidade; ele pensará em como usá-lo por conta própria.

4 viagens de negócios

Muitas vezes, você será convidado para uma viagem de negócios ao exterior. Principalmente se a empresa em que você trabalha tem algumas subdivisões no exterior. Não negligencie essas oportunidades: é uma boa chance de viajar e também de adquirir novos conhecimentos e habilidades, conversar com as pessoas. Lembre-se, quanto mais amplos forem seus horizontes, mais benefícios você terá.

5 Uma oportunidade de mudar para o país que você gosta

Antigo Nível 08 - 2Muitas vezes acontece que, quando você se torna um especialista altamente qualificado, recebe uma oferta para se mudar (para trabalhar) no escritório de seu empregador. É muito conveniente. A essa altura, você provavelmente já esteve lá em viagem de negócios e tem um bom conhecimento de onde está indo. Você já tem amigos e conhecidos lá. Você conseguirá um bom emprego e colegas que lhe farão bem. Essas são provavelmente as melhores condições de imigração que conheço.

Exigências do mercado de trabalho global

1 Sua profissão deve atender a eles

Nem todas as profissões atendem às demandas do mercado global. Mas muitos o fazem. E esta lista cresce constantemente. Posso continuar nomeando-os por um longo tempo: suporte, desenvolvimento, pesquisa, design, quase tudo relacionado à web e computadores. Se sua profissão apareceu há apenas 20 a 30 anos, há uma probabilidade muito alta de que ela possa ser facilmente globalizada.

2 Preço e qualidade

Quando uma empresa estrangeira vê que pode contratar um especialista de maior qualidade e por um preço menor no seu país, fica difícil resistir. Você precisa ser “melhor e mais barato” ou “muito mais barato”. Só “mais barato” não vai satisfazer a empresa estrangeira, porque arrisca muito contratar especialistas no exterior.

3 inglês

No século 21, o inglês é uma língua internacional. Se você deseja trabalhar em um mercado global e aproveitar todos os seus benefícios, mas o inglês não é sua língua nativa – aprenda. Quanto menor o seu nível de inglês, mais fortes devem ser as outras duas vantagens.

Você atingiu um novo nível

Nível 8

Antigo Nível 08 - 3

1 Elly, Explicação das coleções

Nível antigo 08 - 4- Ei, amigo. Hoje eu quero falar sobre coleções. Em Java, as classes cujo objetivo principal é armazenar um conjunto de outros elementos são chamadas de coleções/contêineres. O exemplo dessa classe, que você já conhece, é ArrayList. - Em Java, as coleções são divididas em três grupos principais: Set, List e Map. - Então, qual é a diferença entre eles? - Vou começar com Set. Imagine uma pilha de sapatos. É um Conjunto. No conjunto, você pode adicionar um elemento, localizá-lo ou removê-lo. Mas os elementos não têm uma ordem estrita lá! - A explicação é muito breve... -Agora imagine a mesma pilha de sapatos, desta vez alinhados ao longo da parede. Há uma ordem agora. Cada elemento tem seu número. Por exemplo, você pode encontrar "par número 7" pelo seu número. Esta é uma lista . Você pode adicionar o elemento no início ou no meio da lista, ou removê-lo, para isso basta o seu número. - Peguei vocês. E o Mapa? - Imagine os mesmos sapatos, mas agora em cada par há uma etiqueta, por exemplo «Nick», «Joe» ou «Ann». Este é um mapa, muitas vezes chamado de «dicionário». Cada elemento tem seu nome exclusivo pelo qual você pode acessá-lo. O nome exclusivo do elemento também é chamado de chave. E um mapa é um conjunto de pares chave-valor. A chave não precisa ser uma string. Pode ser de qualquer tipo. O Map , cujo tipo de chave éInteger , é na verdade a Lista (com algumas diferenças). - Está claro, mas gostaria de ver mais exemplos. - Risha lhe dará exemplos e gostaria de acrescentar mais algumas palavras. - Todas as coleções e contêineres não armazenam nada quando são criados. Mas você pode adicionar elementos a eles depois. Eles mudarão de tamanho dinamicamente. - Oh, agora é interessante. E como você sabe quantos elementos estão na coleção? - Para fazer isso, existe o método size() . As coleções têm tudo que você precisa. Acho que em algumas lições você verá por si mesmo como essas coleções são úteis. - Espero que sim.

1 Risha, Lista de todas as coleções e interfaces

Antigo Nível 08 - 5 - Ei, amigo. - Olá, Risha. - A Lila me disse que você queria mais exemplos de coleções. Vou te dar alguns. Quero mostrar a vocês uma lista de coleções e interfaces: Antigo Nível 08 - 6- Hum, tantas. Existem quatro Listas, três Conjuntos e quatro Mapas. - Sim, todas essas são várias implementações das interfaces List, Set e Map. - E qual a diferença entre as implementações? - É exatamente sobre isso que vamos falar hoje. Espere um pouco. - Talvez você já tenha algumas perguntas. - Eu sei como exibir a lista na tela. E como exibir Set e Map? - Os elementos da Lista possuem uma ordem estrita, podendo ser exibidos simplesmente por seus números. Set e Map não possuem uma ordem estrita de elementos. Na verdade, a ordem de seus elementos pode mudar quando você adiciona ou remove algum item. - Nossa, que interessante! - Portanto, os objetos especiais ( iteradores ) foram inventados para trabalhar com elementos de coleção. Usando-os, você pode percorrer todos os elementos de uma coleção, mesmo que não tenham números, apenas nomes (Map) ou nenhum nome (Set). - Exemplos: Antigo Nível 08 - 7- Nossa! E o que tudo isso significa? - Na verdade, é bem simples. Primeiro, obtemos um objeto iterador especial da coleção. Ele tem apenas dois métodos. 1 o método next() é para retornar o próximo elemento da coleção. 2 o método hasNext() serve para verificar se existem elementos ainda não retornados por next(). - Sim. Fica mais claro. Deixe-me dizer-lhe como eu entendo isso. - Então, para obter este objeto iterador mágico, primeiro você precisa chamar um método iterator() em uma coleção. - Então eu os coloco um a um no loop enquanto houver itens não devolvidos. Eu obtenho o elemento da coleção chamando next() e verifico se há elementos em um iterador usando hasNext(). Estou certo? - Sim algo assim. E agora o mais interessante. - Em Java, há uma breve notação de uso do iterador. Da mesma forma que while e for , outro operador especial « for each » foi adicionado. No código, esse operador é indicado pela mesma palavra-chave para . - O operador for-each é usado apenas com coleções e contêineres. Ele ocultamente usa um iterador. - Deixe-me mostrar uma maneira completa e curta de trabalhar com um iterador: Nível antigo 08 - 8- Observe: não há palavras verdes nem vermelhas na tabela certa. Na verdade, 3 linhas foram substituídas por uma: Nível antigo 08 - 9- Está lindo. Eu gosto mais assim! - Vejamos os mesmos exemplos acima, apenas de forma resumida: Antigo Nível 08 - 10- É uma história totalmente diferente! - Estou feliz que você gostou.

3 Diego, Tarefas de cobrança

- Ei, amigo. Eu quero dar a você algumas tarefas de coleta:
Tarefas
1 1. Uma planta HashSet
Crie uma coleção HashSet de elementos do tipo String . Adicione à coleção 10 cordas: melancia, banana, cereja, pêra, melão, amora, ginseng, morango, íris e batata. Exibe na tela o conteúdo da coleção. Cada entrada deve estar em uma nova linha. Observe como mudou a ordem dos elementos adicionados.
2 2. HashMap de 10 pares
Crie uma coleção HashMap<String, String> , coloque 10 pares de strings na coleção: melancia - baga, banana - grama, cereja - baga, pêra - fruta, melão - vegetal, amora - baga, ginseng - raiz, morango - baga, íris - flor, batata - tubérculo.
Exibe na tela o conteúdo da coleção. Cada entrada deve estar em uma nova linha.

Exemplo de saída (apenas uma string é mostrada):
batata - tubérculo
3 3. Coleção HashMap de gatos
Existe uma classe Cat , que possui um nome de campo (nome, String).
Crie uma coleção HashMap<String, Cat> .
Adicione 10 gatos, usando o nome do gato como chave.
Exiba na tela o resultado. Cada entrada deve estar em uma nova linha.
4 4. Exiba na tela a lista de chaves
Existe uma coleção HashMap<String, String> , ela já possui 10 strings diferentes.
Exibe na tela a lista de chaves. Cada entrada deve estar em uma nova linha.
5 5. Mostrar na tela a lista de valores
Existe uma coleção HashMap<String, String> , ela já possui 10 strings diferentes.
Exibe na tela a lista de valores. Cada entrada deve estar em uma nova linha.
6 6. Coleção HashMap de Object
Existe uma coleção HashMap<String, Object> , ela já possui 10 pares de objetos diferentes.
Exibe na tela o conteúdo da coleção. Cada entrada deve estar em uma nova linha.

Exemplo de saída (apenas uma string é mostrada):
Sim - 5

4 Kim, Introdução ao tipo Date

Antigo Nível 08 - 11- Ei, amigo. Gostaria de falar sobre um tipo interessante – Date . Este tipo permite armazenar uma data e hora, bem como medir intervalos de tempo. - Isso parece promissor. Prossiga. - Todo objeto Date armazena informações de tempo. É armazenado de uma forma muito interessante - o número de milissegundos que se passaram desde 1º de janeiro de 1970 GMT. - Uau! - Sim. Esse número é tão grande que não cabe em int , você deve armazená-lo em long . Mas é muito fácil calcular a diferença entre duas datas: basta subtrair um número do outro para saber a diferença com precisão de milissegundos. No futuro, isso facilitará sua vida, quando você enfrentar problemas de fuso horário. - E o mais interessante é que todo objeto Date é inicializado pelo seu tempo de criação. Para verificar a hora atual, basta criar um objeto. - E como trabalhar com isso? - Seguem alguns exemplos: Antigo Nível 08 - 12- O método getTime() retorna a quantidade de milissegundos armazenada no objeto Date. - O método after() verifica se a data em que este método foi chamado vem depois da data passada. - Os métodos getHours() , getMinutes() , getSeconds() retornam o número de horas, minutos e segundos do objeto em que foram chamados. - Além disso, no último exemplo, você vê que é possível manipular a data/hora armazenada no objeto Date. Obtemos a hora e a data atuais e, em seguida, zeramos as horas, minutos e segundos. Da mesma forma, definimos o mês como janeiro e o dia do mês como 1. Agora, o objeto yearStartTime armazena a data e a hora de 1º de janeiro, 0 horas, 0 minutos e 0 segundos. - Em seguida, obtemos a data atual currentTime , novamente, e calculamos a diferença entre as duas datas em milissegundos. Estou falando de msTimeDistance . - Em seguida, divida msTimeDistance pelo número de milissegundos em um dia e obtenha o número total de dias passados ​​desde o início do ano até o momento! - Uau! Fantástico!

5 Elly, ArrayList vs. LinkedList

- Que tal afinar um pouco a sua mente? Espero que ainda não tenha estourado. - Na tabela de containers e coleções acima você viu que uma mesma interface pode ter várias implementações. Agora eu vou te dizer o porquê. E qual é a diferença entre o ArrayList e o LinkedList . - O problema é que a coleção pode ser implementada de diferentes maneiras e não há uma única implementação correta . Em uma abordagem, algumas operações são rápidas e as demais são lentas. Na outra abordagem, é o oposto. Não existe uma única solução perfeita. - Portanto, optou-se por fazer algumas implementações da mesma coleção. Cada implementação foi otimizada para uma determinada faixa estreita de operações.Então surgiram diferentes coleções. Vamos considerar um exemplo de duas classes - ArrayList e LinkedList . Antigo Nível 08 - 13- O ArrayList é implementado internamente como um array regular . Portanto, quando um elemento é inserido no meio, todos os elementos devem ser deslocados um após ele, e então o novo elemento pode ser inserido em um espaço vago. No entanto, as operações de obtenção e edição de um elemento ( get() e set() ) são implementadas muito rapidamente no ArrayList. Porque tudo o que eles fazem é apenas acessar o elemento apropriado do array interno. - O LinkedList é implementado de forma diferente. É implementado como uma lista encadeada: um conjunto de elementos individuais, cada um dos quais armazena referências aos elementos seguintes e anteriores. Para inserir um elemento no meio dessa lista, o método add() apenas muda as referências para seus futuros vizinhos. No entanto, para obter o elemento com o número 130, o método get() precisa executar consistentemente todos os objetos de 0 a 130. Em outras palavras, set e get here são muito lentos . Observe a tabela abaixo: Antigo Nível 08 - 14- Sim. Está ficando mais claro agora. Existem critérios ou regras, qual coleção é melhor? - Bem, para simplificar, aqui vai a seguinte regra: se você vai inserir (ou remover) muitos elementos no meio da coleção, então é melhor usar um LinkedList . Caso contrário, use um ArrayList. - Vou explicar a estrutura interna dessas listas nos níveis superiores. Até agora vamos aprender como usá-los.

6 Diego, Tarefa: medir o desempenho de ambas as listas

- É você. Comecei a ficar entediado. Onde você esteve? Aqui estão as tarefas. - Eles são interessantes? - Ora, claro! Muito interessante:
Tarefas muito interessantes
1 1. Crie duas listas LinkedList & ArrayList.
Crie duas listas: LinkedList e ArrayList .
2 2. Faça 10 mil inserções e exclusões
Faça 10 mil de cada inserções, exclusões, chamadas dos métodos get() e set() para arrayList e linkedList.
3 3. Meça quanto tempo leva para fazer dez mil inserções para cada lista
Meça quanto tempo leva para fazer dez mil inserções para cada lista.
O método getTimeMsOfInsert() deve retornar o tempo de sua execução em milissegundos.
4 4. Medir o tempo necessário para fazer dez mil chamadas de get para cada lista
Medir o tempo necessário para fazer dez mil chamadas de get() para cada lista
O método getTimeMsOfGet() deve retornar o tempo de sua execução em milissegundos.
5 5. Quatro métodos
Implemente 4 métodos. Os métodos devem retornar uma lista mais adequada para executar operações especificadas (para lidar rapidamente com um grande número de operações). Nenhuma medição necessária.

7 Elly: Definir e mapear, o que pode ser feito com eles

- Você ainda não está cansado? Não, então vamos continuar. Gostaria de explicar o que são Set e Map . E quais operações eles têm. - Set é um monte de objetos não enumerados. A principal característica do Set é que ele possui apenas objetos únicos , ou seja, são todos diferentes . Isso é o que você pode fazer com ele: Antigo Nível 08 - 15- Isso é tudo? - Na verdade sim. Você também pode determinar o número de elementos usando o método size() . - E o mapa ? - O mapa é um conjunto de pares. É o mesmo conjunto, não de elementos únicos, mas de pares chave-valor. A única restrição é queo primeiro objeto em um par, que é chamado de chave, deve ser único . O mapa não pode conter dois pares com as mesmas chaves. - Isso é o que podemos fazer com Map : Antigo Nível 08 - 16- Isso é muito mais interessante do que definir. - Sim, embora o Mapa não seja tão popular quanto a lista, é usado para muitas tarefas.

8 tarefas Diego, Set & Map

- Espero que você já tenha aprendido o que são Set e Map? Aqui estão algumas tarefas de Set e Map.
Tarefas de coleta
1 1. 20 palavras começando com «L»
Crie um conjunto de strings ( Set<String> ), coloque nele 20 palavras começando com «L».
2 2. Remova todos os números maiores que 10
Crie um conjunto de números ( Set<Integer> ), coloque nele 20 números diferentes.
Remova do conjunto todos os números maiores que 10.
3 3. Nomes e sobrenomes idênticos
Crie um dicionário ( Map<String, String> ) e adicione dez entradas de acordo com o modelo «sobrenome» - «primeiro nome». Verifique quantas pessoas têm o mesmo nome ou sobrenome do nome especificado.
4 4. Remova todas as pessoas nascidas no verão
Crie um dicionário ( Map<String, Date> ) e adicione dez entradas de acordo com o modelo «last mane» - «birth date». Remova do mapa todas as pessoas nascidas no verão.
5 5. Remova pessoas com o mesmo nome
Crie um dicionário ( Map<String, String> ) e adicione dez entradas de acordo com o modelo «sobrenome» - «primeiro nome». Remova as pessoas que têm o mesmo nome.

9 Professor, Palestra sobre coleções

Antigo Nível 08 - 17- Ha-ha-ha. Finalmente chegamos às coleções. Ainda tenho uma palestra maravilhosa da época em que era estudante. É um pouco empoeirado, claro, mas fundamentalmente ótimo. Aqui estão minhas anotações: Java Collections (documentação Oracle) Collections in Java (Java T point) Java Collections Framework (tutorials point) Java Collections Tutorial

10 de julho

- Bom Deus! Você está sobrecarregado de novo! Eu não disse para você não trabalhar tanto? Deixe-me tocar algo para ajudá-lo a relaxar:

11 Capitão Esquilos

- Olá, soldado! - Bom Dia senhor! - Tenho uma notícia incrível para você. Aqui está uma verificação rápida para reforçar suas habilidades. Faça isso todos os dias e você aprimorará suas habilidades rapidamente. As tarefas são especialmente projetadas para serem executadas no Intellij IDEA.
Tarefas adicionais a serem executadas no Intellij Idea
1 1. Conjunto de gatos
1. Crie uma classe estática pública Cat dentro da classe Solution .
2. Implemente o método createCats() , que deve criar um Set de gatos e adicionar três gatos a ele.
3. No método principal , remova um gato do Conjunto de gatos.
4. Implemente o método printCats() , que deverá exibir na tela todos os gatos que restam no conjunto. Todo gato deve estar em uma nova linha.
2 2. Conjunto de todos os animais
1. Crie classes públicas estáticas Gato e Cachorro dentro da classe Solução.
2. Implemente o método createCats() , que deve retornar um conjunto de 4 gatos.
3. Implemente o método createDogs() , que deve retornar um conjunto de 3 cães.
4. Implemente o método join() , que deve retornar o conjunto combinado de todos os animais, tanto cães quanto gatos.
5. Implemente o método removeCats() , que deve remover do conjunto pets todos os gatos presentes no conjunto cats.
6. Implemente o método printPets(), que deve exibir na tela todos os animais presentes nela. Cada animal deve estar em uma nova linha.
3 3. Pessoas com os mesmos nomes e/ou sobrenomes
1. Crie um dicionário ( Map<String, String> ) e adicione 10 pessoas de acordo com o modelo «sobrenome» - «primeiro nome».
2. Entre essas 10 pessoas, que haja pessoas com os mesmos nomes.
3. Entre essas 10 pessoas, que haja pessoas com os mesmos sobrenomes.
4. Exiba o conteúdo da tela do Mapa .
4 4. O mínimo de N números
1. Leia a partir do número do teclado N .
2. Leia do teclado N inteiros e preencha uma lista com eles usando um método getIntegerList() .
3. Encontre o número mínimo entre os elementos da lista usando um método getMinimum() .
5 5. Pare, olhe, ouça. Agora em letras maiúsculas
Escreva um programa que deve ler uma string do teclado.
O programa deve substituir as primeiras letras de todas as palavras do texto por maiúsculas.
Exiba na tela o resultado.

Exemplo de entrada:
stop look listen
Exemplo de saída:
Stop Look Listen
6 6. Toda a família reunida
1. Crie uma classe Human com os campos: String name , boolean sex , int age , ArrayList<Human> children .
2. Crie 9 objetos e preencha-os de forma a obter dois avôs, duas avós, um pai, uma mãe e três filhos. 3. Exiba na tela todos os objetos Humanos .
7 7. Mova um modificador estático
Mova um modificador estático para que o código seja compilado.
8 8. Cinco maiores números
Crie uma matriz de 20 números. Preencha-o com números lidos no teclado. Exiba na tela os cinco maiores números.
9 9. Trabalhando com data
1. Implemente o método isDateOdd(String date) para que retorne true, se a quantidade de dias desde o início do ano for ímpar, caso contrário, retornará false.
2. A data da sequência é passada no formato 1 DE MAIO DE 2013

1 DE JANEIRO DE 2000 → verdadeiro
2 DE JANEIRO DE 2020 → falso
- Essas tarefas eram para verdes. Adicionei tarefas bônus de maior complexidade. Apenas para armas de topo.
Tarefas bônus
1 1. Número do mês.
O programa deverá ler no teclado o nome do mês e mostrar na tela o seu número da seguinte forma: « Maio é 5 mês »
2 2. Adicione novas funcionalidades ao programa.
Tarefa antiga: O programa determina qual família (seu sobrenome) mora em uma casa com o número especificado.
Nova tarefa: O programa deve trabalhar com as cidades e não com os números das casas.

Exemplo de entrada:
Washington
, os Smiths,
Nova York
, os Browns,
Londres
, os Johnsons,

Londres

Exemplo de saída:
os Johnsons
3 3. Aprender e praticar algoritmo.
Tarefa: O programa deve ler 20 palavras do teclado e exibi-las em ordem alfabética.
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION