;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Logo Pagbenk Seu dinheiro rende mais
Topo

Veja as 20 cidades com mais vagas com carteira assinada neste ano

Maria Carolina Abe

Do UOL, em São Paulo

26/03/2019 04h00

Em janeiro e fevereiro, o Brasil viu serem criadas 211.474 novas vagas com carteira assinada. Esse número é o saldo, ou seja, a diferença entre contratações e demissões.

O UOL listou as 20 cidades com melhor desempenho na criação de empregos e, dentro dessas cidades, os setores responsáveis pela geração de trabalho. Dessas, cinco são capitais, mas a grande maioria é do interior.

Saldo do emprego formal por município:

  1. São Paulo (SP): +23.991 postos
    Setor que mais abriu vagas: serviços (+24.149)
    Setor que mais fechou vagas: comércio (-5.649)

  2. Vacaria (RS): +8.076
    Setor que mais abriu vagas: agropecuária (+7.741)
    Setor que mais fechou vagas: serviços de utilidade pública (-2)

  3. Curitiba (PR): +7.538
    Setor que mais abriu vagas: serviços (+5.646)
    Setor que mais fechou vagas: extrativa mineral (-1)

  4. Belo Horizonte (MG): +7.052
    Setor que mais abriu vagas: construção civil (+4.565)
    Setor que mais fechou vagas: comércio (-2.239)

  5. Brasília (DF): +4.673
    Setor que mais abriu vagas: serviços (+4.033)
    Setor que mais fechou vagas: comércio (-1.111)

  6. Dourados (MS): +4.650
    Setor que mais abriu vagas: serviços (4.809)
    Setor que mais fechou vagas: indústria de transformação (-199)

  7. ville (SC): +4.598
    Setor que mais abriu vagas: serviços (+2.269)
    Setor que mais fechou vagas: comércio (-201)

  8. Franca (SP): +3.731
    Setor que mais abriu vagas: indústria de transformação (+3.121)
    Setor que mais fechou vagas: agropecuária (-64)

  9. Blumenau (SC): +3.428
    Setor que mais abriu vagas: indústria de transformação (+2.077)
    Setor que mais fechou vagas: comércio (-154)

  10. Caxias do Sul (RS): +3.309
    Setor que mais abriu vagas: indústria de transformação (+1.497)
    Setor que mais fechou vagas: extrativa mineral (-1)

  11. Maringá (PR): +2.444
    Setor que mais abriu vagas: serviços (+930)
    Setor que mais fechou vagas: istração pública (-4)

  12. Nova Serrana (MG): +2.347
    Setor que mais abriu vagas: indústria de transformação (+2.225)
    Setor que mais fechou vagas: comércio (-18 )

  13. Venâncio Aires (RS): +2.230
    Setor que mais abriu vagas: indústria de transformação (+2.142)
    Setor que mais fechou vagas: comércio (-14)

  14. Itajaí (SC): 2.130
    Setor que mais abriu vagas: serviços (+722)
    Setor que mais fechou vagas: nenhum fechou vagas

  15. Goiânia (GO): +2.108
    Setor que mais abriu vagas: serviços (+2.057)
    Setor que mais fechou vagas: comércio (-497)

  16. Jaraguá do Sul (SC): +2.006
    Setor que mais abriu vagas: indústria de transformação (+1.465)
    Setor que mais fechou vagas: extrativa mineral (-2)

  17. Brusque (SC): +1.978
    Setor que mais abriu vagas: indústria de transformação (+924)
    Setor que mais fechou vagas: construção civil (-32)

  18. Sorocaba (SP): +1.907
    Setor que mais abriu vagas: serviços (+1.404)
    Setor que mais fechou vagas: comércio (-470)

  19. Campinas (SP): +1.902
    Setor que mais abriu vagas: serviços (+2.086)
    Setor que mais fechou vagas: comércio (-856)

  20. Sertãozinho (SP): +1.613
    Setor que mais abriu vagas: indústria de transformação (831)
    Setor que mais fechou vagas: nenhum fechou vagas

Os dados são do Caged (Cadastro Geral de Empregados e Desempregados) e foram divulgados pelo Ministério da Economia.

O que é o FGTS, como funciona e quem pode sacar?

UOL Notícias