整合營(yíng)銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          你不知道的前端圖片處理(下)

          者:semlinker

          轉(zhuǎn)發(fā)鏈接:https://mp.weixin.qq.com/s/WyS0buwa0wUny2AxzFARSA

          標(biāo)題:疫情之下(引題)

          中國(guó)留學(xué)生的海外實(shí)習(xí)之路(主題)

          人民日?qǐng)?bào)海外版記者 周姝蕓

          新冠肺炎疫情之下,中國(guó)留學(xué)生的學(xué)業(yè)和職業(yè)發(fā)展均受到一定程度的影響。和職業(yè)發(fā)展緊密相關(guān)、被中國(guó)留學(xué)生看重的在留學(xué)目的地實(shí)習(xí)呈現(xiàn)哪些新特點(diǎn)?哪些途徑可以獲取實(shí)習(xí)機(jī)會(huì)?面試有什么技巧?本期通過與幾位有經(jīng)驗(yàn)的同學(xué)對(duì)話,聚焦疫情下中國(guó)學(xué)子的海外實(shí)習(xí)之路。

          學(xué)校資源開啟綠色通道

          就讀于美國(guó)耶魯大學(xué)資產(chǎn)管理專業(yè)的肖雅藍(lán)剛獲得一個(gè)本地實(shí)習(xí)機(jī)會(huì),“我是被雇主企業(yè)主動(dòng)聯(lián)系的,說起來真的要感謝學(xué)校的CDO”。CDO是什么?竟然能讓雇主上門?據(jù)肖雅藍(lán)介紹,CDO是管理學(xué)院的職業(yè)發(fā)展中心,和很多企業(yè)都有聯(lián)系,學(xué)生把簡(jiǎn)歷上傳到CDO的網(wǎng)站,企業(yè)可在另一端看見。“這家公司覺得我的實(shí)習(xí)經(jīng)歷匹配他們的業(yè)務(wù)需求,就通過CDO聯(lián)系了我。”肖雅藍(lán)說。

          無獨(dú)有偶,在新加坡留學(xué)的孔苑最近也通過學(xué)校找到了不錯(cuò)的實(shí)習(xí)機(jī)會(huì)。孔苑就讀于新加坡國(guó)立大學(xué)工程學(xué)院,實(shí)習(xí)崗位是助理估算師。“我們學(xué)校有個(gè)網(wǎng)站很實(shí)用,面向不同學(xué)院的學(xué)生發(fā)布有針對(duì)性的招聘信息。”孔苑回憶起找實(shí)習(xí)工作的經(jīng)歷說,“我在學(xué)校網(wǎng)站報(bào)名相關(guān)實(shí)習(xí)項(xiàng)目后,專門負(fù)責(zé)招聘的老師聯(lián)系了我,還幫我修改簡(jiǎn)歷,提了不少有用的建議。”

          記者梳理相關(guān)信息發(fā)現(xiàn),很多國(guó)外大學(xué)都十分重視職業(yè)中心的建設(shè)。對(duì)學(xué)生而言,它是海量就業(yè)信息匯集的樞紐,能提供各類豐富的實(shí)習(xí)機(jī)會(huì)。

          有著多年留學(xué)行業(yè)工作經(jīng)驗(yàn)的InVisor國(guó)際教育創(chuàng)始人楊卓倫在接受本報(bào)記者采訪時(shí)介紹,國(guó)外大學(xué)官方提供的求職資源,是很多中國(guó)同學(xué)會(huì)忽略的。“很多國(guó)外大學(xué)的就業(yè)中心不僅能幫學(xué)生鏈接到海量職位,還會(huì)提供優(yōu)質(zhì)求職平臺(tái)賬號(hào)。不僅如此,它的服務(wù)具有延展性,不限于辦講座、搞模擬面試,如果學(xué)生去主動(dòng)溝通,還可能被安排個(gè)性化服務(wù)。”

          “借助學(xué)校資源是尋找實(shí)習(xí)機(jī)會(huì)的較快途徑,因?yàn)楹芏喙椭鞑粫?huì)公開招聘,而會(huì)通過校友資源直接對(duì)接學(xué)校。”肖雅藍(lán)談道,“我的雇主就是我的校友,出于對(duì)學(xué)校教學(xué)的信任,和我聊了聊簡(jiǎn)歷、背景,就錄用了我。”

          面試練習(xí)突破語言關(guān)卡

          “疫情下,為了提高遠(yuǎn)程辦公的溝通效率,當(dāng)?shù)仄髽I(yè)對(duì)留學(xué)生外語表達(dá)能力的要求明顯提高。”英國(guó)職業(yè)發(fā)展協(xié)會(huì)注冊(cè)職業(yè)規(guī)劃師丁倩倩告訴本報(bào)記者。不僅如此,疫情催生了線上招聘,視頻對(duì)話模式省去了肢體語言,口頭表達(dá)變得更加重要。

          對(duì)此,孔苑體會(huì)很深。“剛開始找實(shí)習(xí)機(jī)會(huì)時(shí),如果是視頻面試,我就很緊張。”孔苑說,“其實(shí)學(xué)了這么年的英語,對(duì)話是沒問題的,但在視頻面試這個(gè)特殊場(chǎng)景下,想要流利嫻熟地表達(dá),還是有難度。”她分享了自己的技巧,“我在面試當(dāng)天會(huì)先進(jìn)行口語訓(xùn)練,以提前熟悉英語交流的感覺;此外,隨著面試經(jīng)歷的增加,可以不斷總結(jié)經(jīng)驗(yàn)、調(diào)整自己,回答時(shí)更加有條理。”

          “面試時(shí),和日本同學(xué)一起競(jìng)爭(zhēng),語言的弱勢(shì)是沒辦法忽視的。”從日本立命館大學(xué)畢業(yè)不久的丁婷有同感,“我想進(jìn)咨詢行業(yè)實(shí)習(xí),小組面試不僅要求用日語熟練分析案例,還需要和成員‘打配合’。”

          丁婷回憶說,當(dāng)時(shí)正值疫情暴發(fā),面試轉(zhuǎn)到線上,她的經(jīng)驗(yàn)是日語面試需要大量的準(zhǔn)備。“具體而言,就是反復(fù)練習(xí)。我找日本朋友練過,也報(bào)名參加過各種模擬面試活動(dòng)。”最終,丁婷如愿收到了心儀公司的實(shí)習(xí)錄取信。

          據(jù)丁倩倩觀察,對(duì)于中國(guó)留學(xué)生來說,“一定不要害怕說。我在英國(guó)遇到很多留學(xué)生獲得面試機(jī)會(huì)后,第一個(gè)問題都是問面試用英文還是中文,建議同學(xué)們不用擔(dān)心說不好,先要張開嘴,因?yàn)橹挥羞@樣,你的語言水平才能更快提升”。

          積極行動(dòng)拓寬求職途徑

          “剛開始,投出的簡(jiǎn)歷石沉大海。”在英國(guó)倫敦大學(xué)伯貝克學(xué)院讀數(shù)字傳媒管理的韓昊陽講起了自己的求職過程,起初他在網(wǎng)上搜索崗位,然而數(shù)量有限,尤其是好的崗位競(jìng)爭(zhēng)激烈,投遞之后鮮有回復(fù)。發(fā)愁之際,韓昊陽向一位學(xué)姐尋求建議,得知當(dāng)?shù)赜屑也诲e(cuò)的求職機(jī)構(gòu),可以幫助留學(xué)生尋找實(shí)習(xí)機(jī)會(huì)。于是,他主動(dòng)聯(lián)系詢問,“和專業(yè)的老師溝通后,我意識(shí)到自己簡(jiǎn)歷上信息堆疊,存在不少問題。最終,該機(jī)構(gòu)提供了很多優(yōu)質(zhì)職位信息,幫我找到了現(xiàn)在的實(shí)習(xí)工作。”

          韓昊陽的經(jīng)歷從側(cè)面印證了中國(guó)留學(xué)生在尋找實(shí)習(xí)機(jī)會(huì)的過程中,化被動(dòng)為主動(dòng)、通過各種途徑搜索實(shí)習(xí)機(jī)會(huì)的重要。

          對(duì)此,楊卓倫持相同觀點(diǎn)。他認(rèn)為,留學(xué)生可以用好領(lǐng)英等職業(yè)社交平臺(tái)、校友通訊錄,同時(shí)積極參加線上活動(dòng),這些途徑都能幫助大家第一時(shí)間獲得實(shí)習(xí)機(jī)會(huì)、前輩的內(nèi)推以及業(yè)內(nèi)人士的指點(diǎn)。

          據(jù)楊卓倫觀察,疫情期間,拓展當(dāng)?shù)厝嗣}難度加大,原因在于線上的人際交往較難深入,能得到的內(nèi)推機(jī)會(huì)減少,而直接在招聘網(wǎng)站投遞簡(jiǎn)歷則競(jìng)爭(zhēng)激烈。主動(dòng)、積極、提早準(zhǔn)備,是中國(guó)留學(xué)生求職制勝的必備素質(zhì)和技能。

          丁婷的成功經(jīng)驗(yàn)正是“提早準(zhǔn)備”。“一方面,尋找實(shí)習(xí)機(jī)會(huì)不能拖延,提早準(zhǔn)備才能贏在起跑線上。在日本實(shí)習(xí)求職,需要提前1年就開始準(zhǔn)備。我剛讀研究生時(shí),就意識(shí)到必須要行動(dòng)了。”丁婷說。

          有接觸大量留學(xué)生經(jīng)驗(yàn)的丁倩倩則建議同學(xué)們定一個(gè)求職計(jì)劃,例如明確一下每周花幾小時(shí)用在尋找實(shí)習(xí)工作上。“無論是疫情當(dāng)中,還是今后遇到的各種變化,留學(xué)生們需要具備在未知變數(shù)中迅速行動(dòng)的能力。”丁倩倩說。

          國(guó)家不同實(shí)習(xí)機(jī)會(huì)不同(鏈接)

          畢業(yè)于日本立命館大學(xué)的丁婷建議多嘗試,比如日本的實(shí)習(xí)種類通常分長(zhǎng)期和短期。長(zhǎng)期實(shí)習(xí)具體時(shí)間沒有限制,短期實(shí)習(xí)時(shí)長(zhǎng)一天甚至半天,目的是讓求職者提前感受公司氛圍,了解公司文化。學(xué)生可以借此進(jìn)入不同行業(yè),多體驗(yàn)、多選擇。

          據(jù)畢業(yè)于德國(guó)開姆尼茨工業(yè)大學(xué)的洪海沛介紹,在德國(guó)尋找實(shí)習(xí)機(jī)會(huì)的渠道有學(xué)校網(wǎng)站、職業(yè)社交平臺(tái)、公司官網(wǎng)、熟人推薦等。他曾在當(dāng)?shù)卣业揭患彝蟊砉緦?shí)習(xí),因?yàn)檫@家公司需要一名既懂德語又懂中文的同學(xué)做翻譯工作,正好與洪海沛的學(xué)歷背景匹配,順利通過面試入職。

          確實(shí),留學(xué)生和本地學(xué)生競(jìng)爭(zhēng),要明白自己的優(yōu)劣勢(shì)所在,避開薄弱的求職領(lǐng)域,把精力放在成功率更高的崗位上。很少有公司會(huì)為了國(guó)際化而國(guó)際化,但有些崗位傾向招收中國(guó)學(xué)生,比如有中國(guó)地區(qū)業(yè)務(wù)的公司,這類崗位就可以重點(diǎn)關(guān)注。

          lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

          <HTML>

          <HEAD>

          <TITLE> New Document </TITLE>

          <META NAME="Generator" CONTENT="EditPlus">

          <META NAME="Author" CONTENT="">

          <META NAME="Keywords" CONTENT="">

          <META NAME="Description" CONTENT="">

          <style>

          html, body {

          height: 100%;

          padding: 0;

          margin: 0;

          background: #000;

          }

          canvas {

          position: absolute;

          width: 100%;

          height: 100%;

          }

          </style>

          </HEAD>

          <BODY>

          </style>

          <canvas id="pinkboard"></canvas>

          <script>

          /*

          * Settings

          */

          var settings = {

          particles: {

          length: 500, // maximum amount of particles

          duration: 2, // particle duration in sec

          velocity: 100, // particle velocity in pixels/sec

          effect: -0.75, // play with this for a nice effect

          size: 30, // particle size in pixels

          },

          };

          /*

          * RequestAnimationFrame polyfill by Erik M?ller

          */

          (function(){var b=0;var c=["ms","moz","webkit","o"];for(var a=0;a<c.length&&!window.requestAnimationFrame;++a){window.requestAnimationFrame=window[c[a]+"RequestAnimationFrame"];window.cancelAnimationFrame=window[c[a]+"CancelAnimationFrame"]||window[c[a]+"CancelRequestAnimationFrame"]}if(!window.requestAnimationFrame){window.requestAnimationFrame=function(h,e){var d=new Date().getTime();var f=Math.max(0,16-(d-b));var g=window.setTimeout(function(){h(d+f)},f);b=d+f;return g}}if(!window.cancelAnimationFrame){window.cancelAnimationFrame=function(d){clearTimeout(d)}}}());


          /*

          * Point class

          */

          var Point = (function() {

          function Point(x, y) {

          this.x = (typeof x !== 'undefined') ? x : 0;

          this.y = (typeof y !== 'undefined') ? y : 0;

          }

          Point.prototype.clone = function() {

          return new Point(this.x, this.y);

          };

          Point.prototype.length = function(length) {

          if (typeof length == 'undefined')

          return Math.sqrt(this.x * this.x + this.y * this.y);

          this.normalize();

          this.x *= length;

          this.y *= length;

          return this;

          };

          Point.prototype.normalize = function() {

          var length = this.length();

          this.x /= length;

          this.y /= length;

          return this;

          };

          return Point;

          })();

          /*

          * Particle class

          */

          var Particle = (function() {

          function Particle() {

          this.position = new Point();

          this.velocity = new Point();

          this.acceleration = new Point();

          this.age = 0;

          }

          Particle.prototype.initialize = function(x, y, dx, dy) {

          this.position.x = x;

          this.position.y = y;

          this.velocity.x = dx;

          this.velocity.y = dy;

          this.acceleration.x = dx * settings.particles.effect;

          this.acceleration.y = dy * settings.particles.effect;

          this.age = 0;

          };

          Particle.prototype.update = function(deltaTime) {

          this.position.x += this.velocity.x * deltaTime;

          this.position.y += this.velocity.y * deltaTime;

          this.velocity.x += this.acceleration.x * deltaTime;

          this.velocity.y += this.acceleration.y * deltaTime;

          this.age += deltaTime;

          };

          Particle.prototype.draw = function(context, image) {

          function ease(t) {

          return (--t) * t * t + 1;

          }

          var size = image.width * ease(this.age / settings.particles.duration);

          context.globalAlpha = 1 - this.age / settings.particles.duration;

          context.drawImage(image, this.position.x - size / 2, this.position.y - size / 2, size, size);

          };

          return Particle;

          })();

          /*

          * ParticlePool class

          */

          var ParticlePool = (function() {

          var particles,

          firstActive = 0,

          firstFree = 0,

          duration = settings.particles.duration;

          function ParticlePool(length) {

          // create and populate particle pool

          particles = new Array(length);

          for (var i = 0; i < particles.length; i++)

          particles[i] = new Particle();

          }

          ParticlePool.prototype.add = function(x, y, dx, dy) {

          particles[firstFree].initialize(x, y, dx, dy);

          // handle circular queue

          firstFree++;

          if (firstFree == particles.length) firstFree = 0;

          if (firstActive == firstFree ) firstActive++;

          if (firstActive == particles.length) firstActive = 0;

          };

          ParticlePool.prototype.update = function(deltaTime) {

          var i;

          // update active particles

          if (firstActive < firstFree) {

          for (i = firstActive; i < firstFree; i++)

          particles[i].update(deltaTime);

          }

          if (firstFree < firstActive) {

          for (i = firstActive; i < particles.length; i++)

          particles[i].update(deltaTime);

          for (i = 0; i < firstFree; i++)

          particles[i].update(deltaTime);

          }

          // remove inactive particles

          while (particles[firstActive].age >= duration && firstActive != firstFree) {

          firstActive++;

          if (firstActive == particles.length) firstActive = 0;

          }

          };

          ParticlePool.prototype.draw = function(context, image) {

          // draw active particles

          if (firstActive < firstFree) {

          for (i = firstActive; i < firstFree; i++)

          particles[i].draw(context, image);

          }

          if (firstFree < firstActive) {

          for (i = firstActive; i < particles.length; i++)

          particles[i].draw(context, image);

          for (i = 0; i < firstFree; i++)

          particles[i].draw(context, image);

          }

          };

          return ParticlePool;

          })();

          /*

          * Putting it all together

          */

          (function(canvas) {

          var context = canvas.getContext('2d'),

          particles = new ParticlePool(settings.particles.length),

          particleRate = settings.particles.length / settings.particles.duration, // particles/sec

          time;

          // get point on heart with -PI <= t <= PI

          function pointOnHeart(t) {

          return new Point(

          160 * Math.pow(Math.sin(t), 3),

          130 * Math.cos(t) - 50 * Math.cos(2 * t) - 20 * Math.cos(3 * t) - 10 * Math.cos(4 * t) + 25

          );

          }

          // creating the particle image using a dummy canvas

          var image = (function() {

          var canvas = document.createElement('canvas'),

          context = canvas.getContext('2d');

          canvas.width = settings.particles.size;

          canvas.height = settings.particles.size;

          // helper function to create the path

          function to(t) {

          var point = pointOnHeart(t);

          point.x = settings.particles.size / 2 + point.x * settings.particles.size / 350;

          point.y = settings.particles.size / 2 - point.y * settings.particles.size / 350;

          return point;

          }

          // create the path

          context.beginPath();

          var t = -Math.PI;

          var point = to(t);

          context.moveTo(point.x, point.y);

          while (t < Math.PI) {

          t += 0.01; // baby steps!

          point = to(t);

          context.lineTo(point.x, point.y);

          }

          context.closePath();

          // create the fill

          context.fillStyle = '#ea80b0';

          context.fill();

          // create the image

          var image = new Image();

          image.src = canvas.toDataURL();

          return image;

          })();

          // render that thing!

          function render() {

          // next animation frame

          requestAnimationFrame(render);

          // update time

          var newTime = new Date().getTime() / 1000,

          deltaTime = newTime - (time || newTime);

          time = newTime;

          // clear canvas

          context.clearRect(0, 0, canvas.width, canvas.height);

          // create new particles

          var amount = particleRate * deltaTime;

          for (var i = 0; i < amount; i++) {

          var pos = pointOnHeart(Math.PI - 2 * Math.PI * Math.random());

          var dir = pos.clone().length(settings.particles.velocity);

          particles.add(canvas.width / 2 + pos.x, canvas.height / 2 - pos.y, dir.x, -dir.y);

          }

          // update and draw particles

          particles.update(deltaTime);

          particles.draw(context, image);

          }

          // handle (re-)sizing of the canvas

          function onResize() {

          canvas.width = canvas.clientWidth;

          canvas.height = canvas.clientHeight;

          }

          window.onresize = onResize;

          // delay rendering bootstrap

          setTimeout(function() {

          onResize();

          render();

          }, 10);

          })(document.getElementById('pinkboard'));

          </script>

          </BODY>

          </HTML>


          主站蜘蛛池模板: 久久青青草原一区二区| 熟女少妇丰满一区二区| 日本一区二区在线免费观看| 一区二区免费视频| 国产激情无码一区二区app| 精品日本一区二区三区在线观看 | 亚洲一区动漫卡通在线播放| 精品一区二区三区在线观看| 亚洲AV无码一区二区三区牲色 | 国产区精品一区二区不卡中文| 精品国产一区二区三区AV性色| 成人精品一区二区三区校园激情 | 亚洲国产精品综合一区在线| 在线观看一区二区三区av| 91一区二区在线观看精品| 中文字幕人妻第一区| 久久综合一区二区无码 | 久久一区不卡中文字幕| 一区二区不卡在线| 亚洲av成人一区二区三区在线观看 | 中文字幕一区二区三区5566| 国产成人无码精品一区不卡| 精品人体无码一区二区三区| 亚洲综合无码一区二区三区 | 日韩AV无码一区二区三区不卡| 国产在线一区观看| 国产日韩精品视频一区二区三区 | 亚洲色精品VR一区区三区 | 国产精品久久久久久一区二区三区| 性色AV一区二区三区无码| 国产精品视频第一区二区三区 | 亚洲一区电影在线观看| 一区二区日韩国产精品| 人妻无码视频一区二区三区| 精品少妇一区二区三区在线| 竹菊影视欧美日韩一区二区三区四区五区 | 无码人妻av一区二区三区蜜臀| 久久精品国产免费一区| 中文字幕精品无码一区二区| 国产一区二区三区免费视频| 国产精品视频一区二区三区|