辞职后你说你想去外面玩玩,我看你寸步未行,原来你是去了JDK以外的方面玩玩

按需阅读

    • 兄弟们!我被面试官吊打了
    • Java面试Question A:如果距离世界末日只剩一天你能干什么?
      • 面试官:世界末日前我想看视频
      • 面试官:给点创意好不好?
      • 面试官:如果有一天我想换个姿势看图片
    • Java面试Question B:上帝有没有给它装上心灵的窗户?
      • 我:虽然它没有心里的窗户,但是我有
    • Java面试Question C:出去玩怎么能不提前夜观天象?
      • 面试官:我想离开浪浪山,但是害怕明天下大雨
      • 我:有我在,别害怕

兄弟们!我被面试官吊打了

我 :我是搞Java的,有2.5年的工作经验,真的没骗你🤥
面试官:那你搞前端干嘛?不好意思,我们不合适!🤡
我 :…
面试官:你还有什么想说的吗?
**我:求求你,给个机会吧🥲,我真的很行 **

你一直说永远,但你又不信,你点下面的链接,我告诉你什么是Forever

www.seeuagain.vip

你相信光吗
哦~上干货了!Let go!!! 面试官上来就给我出难题,你猜怎么着?

Java面试Question A:如果距离世界末日只剩一天你能干什么?

    我不知道我能干什么,因为明天就是时间末日了,总不能来分析一下世界末日的底层原理吧😅(世界末日的底层原理肯定不是OOM)
    如果非要干点什么,那就去学Vue吧,到Vue需要我们的地方!到从0到1熟练掌握Vue的底层原理里面去!
    放下它难于上青天,掌握它简直易如反掌!Vue真的是每一个钓鱼人的梦中框架,没错你说的对,它就是个钩子!我们有一个响亮的口号——勾你所勾,勾你所想!听说会Vue的钓鱼人每天出门作业都爆护了!空军一号

面试官:世界末日前我想看视频

    好的明白了,我们先这样,再那样,然后再搞一下这样,这样的话我们就可以进行那样,最后你就可以看到想你说的那样!

效果就要-先看为快,点此立即查看

  1. HTML Dom部分, 简单加几个元素
  • 我们需要有一个canvas来绘制图片帧
  • 我们需要一些svg类似的图片来控制视频播放,这里先简单加几个:上一部,下一步,暂停,播放
  • 当鼠标进入到视频区域,那么我们可以控制视频播放,这样我们在容器上加时一些鼠标进入离开事件处理,同时在对应的SVG上添加点击事件
<template><div class="video-box"><ul><li><div class="video-container" @mouseenter="hoverVideoMenu" @mouseleave="leaveVideoMenu"><canvas ref="videoCanvas" class="video-canvas"/><div :class="['video-play-icon', videoInfo.needShowVideoMenu ? 'show-menu' : 'un-show-menu']"><svg v-if="videoInfo.needShowVideoMenu" @click="playLastVideo" t="1727021769483":class="['icon','last-video', videoInfo.needShowVideoMenu ? 'show-menu' : 'un-show-menu']"viewBox="0 0 1171 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="9175" width="200"height="200"><pathd="M49.486529 0.618582a49.486529 49.486529 0 0 0-49.486529 49.486529v923.789778a49.486529 49.486529 0 0 0 98.973058 0V50.105111a49.486529 49.486529 0 0 0-49.486529-49.486529zM872.818654 27.58874l-533.217349 313.744593a197.946116 197.946116 0 0 0 0 341.333334l533.217349 313.744593a197.946116 197.946116 0 0 0 298.40377-170.728525V197.946116A197.946116 197.946116 0 0 0 872.818654 27.58874z m199.430712 798.093995v8.783859a98.973058 98.973058 0 0 1-148.459587 76.580404L389.706415 597.302404l-8.165277-5.319802a98.973058 98.973058 0 0 1 8.165277-165.285006L923.047481 112.953002l7.670412-4.082638A98.973058 98.973058 0 0 1 1072.249366 197.946116z"p-id="9176" fill="#BE3E50"></path></svg><svg v-if="videoInfo.needShowVideoMenu && !videoPlay" @click="clickToPlayVideo" t="1726998892925":class="['icon','play-video', videoInfo.needShowVideoMenu ? 'show-menu' : 'un-show-menu']"viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6102" width="200"height="200"><path d="M772.7 217.7a32.2 32.1 0 1 0 64.4 0 32.2 32.1 0 1 0-64.4 0Z" fill="#BE3E50"p-id="6103"></path><pathd="M415.8 679.9c5.9 0 11.5-1.6 16.2-4.5l231.1-134.6c10.9-5.2 18.5-16.3 18.5-29.2 0-11.9-6.4-22.3-16-27.8L439.7 352.2c-5.8-6.7-14.4-10.9-23.9-10.9-17.6 0-31.8 14.4-31.8 32.1 0 0.6 0 1.2 0.1 1.8l-0.4 0.2 0.5 269c-0.1 1.1-0.2 2.2-0.2 3.4 0 17.7 14.3 32.1 31.8 32.1z"fill="#BE3E50" p-id="6104"></path><pathd="M909.8 306.6c-5.4-10.5-16.3-17.8-28.9-17.8-17.8 0-32.2 14.4-32.2 32.1 0 6 1.7 11.7 4.6 16.5l-0.1 0.1c26.9 52.4 42.1 111.8 42.1 174.7 0 211.6-171.6 383.2-383.2 383.2S128.8 723.8 128.8 512.2 300.4 129.1 512 129.1c62.5 0 121.5 15 173.6 41.5l0.2-0.4c4.6 2.6 10 4.1 15.7 4.1 17.8 0 32.2-14.4 32.2-32.1 0-13.1-7.9-24.4-19.3-29.4C653.6 81.9 584.9 64.5 512 64.5 264.7 64.5 64.3 265 64.3 512.2S264.7 959.9 512 959.9s447.7-200.4 447.7-447.7c0-74.1-18-144-49.9-205.6z"fill="#BE3E50" p-id="6105"></path></svg><svg v-if="videoInfo.needShowVideoMenu && videoPlay" @click="clickToPauseVideo" t="1727022666759":class="['icon','pause-video', videoInfo.needShowVideoMenu ? 'show-menu' : 'un-show-menu']"viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1815" width="200"height="200"><pathd="M247.731946 0a49.546389 49.546389 0 0 0-49.546389 49.546389v924.907222a49.546389 49.546389 0 0 0 99.092779 0V49.546389a49.546389 49.546389 0 0 0-49.54639-49.546389zM776.268054 0a49.546389 49.546389 0 0 0-49.54639 49.546389v924.907222a49.546389 49.546389 0 0 0 99.092779 0V49.546389a49.546389 49.546389 0 0 0-49.546389-49.546389z"p-id="1816" fill="#BE3E50"></path></svg><svg v-if="videoInfo.needShowVideoMenu" @click="playNextVideo" t="1727021849924":class="['icon','next-video', videoInfo.needShowVideoMenu ? 'show-menu' : 'un-show-menu']"viewBox="0 0 1171 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1599" width="200"height="200"><pathd="M1121.735895 0.618582a49.486529 49.486529 0 0 0-49.486529 49.486529v923.789778a49.486529 49.486529 0 0 0 98.973058 0V50.105111a49.486529 49.486529 0 0 0-49.486529-49.486529zM831.621119 341.333333L298.280053 27.58874l-9.649873-5.319802A197.946116 197.946116 0 0 0 0 197.946116v638.871088a197.946116 197.946116 0 0 0 298.280053 159.47034l533.341066-313.744594 11.134469-7.05183a197.946116 197.946116 0 0 0-11.134469-334.157787z m-49.486529 255.969071L248.051226 911.046998a98.973058 98.973058 0 0 1-148.459587-85.364263V197.946116a98.973058 98.973058 0 0 1 148.459587-84.993114l533.464782 313.744594a98.973058 98.973058 0 0 1 0 170.604808z"p-id="1600" fill="#BE3E50"></path></svg></div></div></li></ul></div>
</template>
  1. JS部分
  • 首先在mounted方法前初始化视频,那我们Vue在初始化页面的时会拉这个勾来做事情,并初始化画布
  • 然后我们定义一些methods,用来控制视频播放,一些页面操作事件,还有就是自动播放,以及一个视频切换的过渡效果
  • 最后就是资源释放的一些操作, 通过补充这个钩子beforeDestroy方法,在里面写上是否视频播放时添加的事件以及一些其他资源
<script>
export default {name: "SpecialVideo",data() {return {soundOpen: true,videoPlay: true,rootFontSize: 0,videoInfo: {srcMatch: '/video/video',currentVideoIndex: 0,transitionDuration: 1000,  // 过渡时长fadeOpacity: 1,  // 视频透明度video: null, // 用于存储视频元素videoSrc: [],needShowVideoMenu: true},}},methods: {initVideoList() {this.videoInfo = {needShowVideoMenu: true,srcMatch: '/video/video',currentVideoIndex: 0,transitionDuration: 3000,  // 过渡时长fadeOpacity: 1,  // 视频透明度video: null, // 用于存储视频元素videoSrc: [],};},initVideo() {this.videoInfo.video = document.createElement('video');this.videoInfo.video.src = this.videoInfo.srcMatch + '_' + this.videoInfo.currentVideoIndex + '.mp4';//this.videoInfo.videoSrc[0].src;this.videoInfo.video.autoplay = true;this.videoInfo.video.loop = false;this.videoInfo.video.muted = !this.soundOpen;this.videoInfo.video.addEventListener('loadedmetadata', this.loadMetadata);this.videoInfo.video.addEventListener('ended', this.fadeOutAndNextVideo);this.videoInfo.video.addEventListener('error', this.playError);this.videoInfo.video.addEventListener('play', () => {const canvas = this.$refs.videoCanvas;const context = canvas.getContext('2d');this.drawFrame(context);});},loadMetadata() {const canvas = this.$refs.videoCanvas;canvas.width = this.videoInfo.video.videoWidth;canvas.height = this.videoInfo.video.videoHeight;},playError() {this.videoInfo.currentVideoIndex = -1;this.fadeOutAndNextVideo();},fadeOutAndNextVideo() {this.play(true);},play(isNext) {this.videoInfo.fadeOpacity = 1;const fadeOutInterval = setInterval(() => {this.videoInfo.fadeOpacity -= 0.05;if (this.videoInfo.fadeOpacity <= 0) {clearInterval(fadeOutInterval);if (isNext) {this.playNextVideo();} else {}}}, this.videoInfo.transitionDuration / 50);},playVideoAfterHandleCurrentVideoIndex() {let src = this.videoInfo.srcMatch + '_' + this.videoInfo.currentVideoIndex + '.mp4';this.videoInfo.video.src = src;//this.videoInfo.videoSrc[this.videoInfo.currentVideoIndex].src;// 开始淡入this.videoInfo.fadeOpacity = 0;const fadeInInterval = setInterval(() => {this.videoInfo.fadeOpacity += 0.05;  // 每次增加透明度if (this.videoInfo.fadeOpacity >= 1) {clearInterval(fadeInInterval);  // 完成淡入}}, this.videoInfo.transitionDuration / 50);this.videoInfo.video.play();this.videoPlay = true;},playNextVideo() {this.videoPlay = true;this.videoInfo.currentVideoIndex++;this.playVideoAfterHandleCurrentVideoIndex();},playLastVideo() {if (this.videoInfo.currentVideoIndex <= 0) {this.$message.warning("已经是最开始的视频了,不能再退了喔");return;}this.videoPlay = true;this.videoInfo.currentVideoIndex--;this.playVideoAfterHandleCurrentVideoIndex();},drawFrame(context) {if (!this.videoInfo.video.paused && !this.videoInfo.video.ended) {context.drawImage(this.videoInfo.video, 0, 0, context.canvas.width, context.canvas.height);context.globalAlpha = this.videoInfo.fadeOpacity;  // 应用透明度context.drawImage(this.videoInfo.video, 0, 0, context.canvas.width, context.canvas.height);requestAnimationFrame(() => this.drawFrame(context));}},clickToPlayVideo() {this.playVideo();},clickToPauseVideo() {this.videoInfo.video.pause();this.videoPlay = false;},playVideo() {this.videoInfo.video.play();this.videoPlay = true;this.videoInfo.needShowVideoMenu = !this.videoPlay;},hoverVideoMenu(e) {this.videoInfo.needShowVideoMenu = true;},leaveVideoMenu(e) {this.videoInfo.needShowVideoMenu = false;},},mounted() {this.videoInfo.needShowVideoMenu = true;this.initVideoList();this.rootFontSize = parseFloat(getComputedStyle(this.$root.$el).fontSize);this.initVideo();this.videoInfo.video.play();},beforeDestroy() {this.videoInfo.video.removeEventListener('play', this.drawFrame);this.videoInfo.video.removeEventListener('error', this.playError);this.videoInfo.video.removeEventListener('ended', this.playNextVideo);this.videoInfo.video.removeEventListener('loadedmetadata', this.loadMetadata);this.videoInfo.video.pause();this.videoInfo.video.src = '';this.videoInfo.video.load();}}</script>
  1. 最后的话肯定也离不开老三样里的CSS,CSS虽强大,但JS更强。CSS是自己强,JS是写代码的人强!你明白我的意思吧?
<style scoped>* {margin: 0;padding: 0;--mainColor: #BE3E50;}body {background-color: var(--mainColor);}.video-box {position: absolute;width: 100vw;height: 100vh;display: flex;justify-items: center;justify-content: center;}.video-box>ul{position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%);}ul>li{list-style: none;}.video-container {width: 48rem;height: auto;margin: 0;max-width: 80vw;transition: all 1s ease-out;aspect-ratio: 5 / 3;animation: initVideo 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);display: flex;align-items: center;justify-content: center;background-color: rgba(0, 0, 0, 0.6);position: relative;cursor: pointer;}@keyframes initVideo {0% {opacity: 0;width: 44rem;}70% {width: 48rem;}100% {opacity: 1;width: 48rem;}}.video-canvas {width: 100%;height: 100%;cursor: pointer;}.video-play-icon > svg {margin: 1rem;}.video-play-icon > svg:hover {transform: scale(1.1);}.videoContainer-li > canvas {width: 100%;height: 100%;}.video-play-icon {width: 60%;display: flex;justify-items: center;justify-content: center;position: absolute;cursor: pointer;}.video-play-icon > svg {margin: 1rem;}.video-play-icon > svg:hover {transform: scale(1.1);}
</style>

面试官:给点创意好不好?

很好,面试官竟然如此,那这样吧,我们满足它!
为了提升用户的体验,于是乎,我决定我要写一个声音展示的效果,让用户打开页面的时候不害怕,可以关闭声音,当你看到一些效果的时候即便你把系统音量调到MAX仍然是万籁俱尽,而当你把系统音量调到MIN可以说你将内心澎湃,这就是酷炫特效的力量!你的每一步操作都不需要信心十足!你可以大胆浏览而不要小心翼翼!你可以随心所欲而不要万事拘谨!

效果就要-先看为快,点此立即查看

来,上代码!

  1. 老三样第一HTML
    这样我们由两个元素组成,第一就是我们的DIV,然后就是内嵌一个canvas,我们给div添加一些交互事件
<template><div class="menu-item sound-switch"@click="switchRound"@mouseenter="onSoundMouseEnter"@mouseleave="onSoundMouseLeave"><canvas ref="soundCanvas" class="sound-open"/></div>
</template>
  1. 老二JS
    这里我们需要把这个组件引入一个属性,并且在每次变更值的时候传递值出去
<script>export default {name: "SoundSwitch",props: {soundOpen: {type: Boolean,default: true}},data() {return {soundSince: {maxAmplitude: 16,amplitude: 16,frequency: 0.16,phase: 2,lineColor: 'rgb(190,62,80)'},}},methods: {initSound() {this.canvas = this.$refs.soundCanvas;this.ctx = this.canvas.getContext('2d');this.ctx.imageSmoothingEnabled = true;this.canvas.width = this.$refs.soundCanvas.parentElement.clientWidth;this.canvas.height = this.$refs.soundCanvas.parentElement.clientHeight;this.ctx.lineWidth = 0.3 * this.rootFontSize;this.animateSineWave();},switchRound() {this.soundOpen = !this.soundOpen;//通知父组件,开关变更了this.$emit("checked", this.soundOpen)},drawSineWave() {const width = this.canvas.width;const height = this.canvas.height;const centerY = height / 2;this.ctx.clearRect(-10, -10, width + 10, height + 10);this.ctx.beginPath();this.ctx.moveTo(0, centerY);for (let x = 0; x < width; x++) {const y = centerY + this.soundSince.amplitude * Math.sin((x * this.soundSince.frequency) + this.soundSince.phase);this.ctx.lineTo(x, y);}this.ctx.strokeStyle = this.soundSince.lineColor;this.ctx.stroke();},animateSineWave() {this.drawSineWave();this.soundSince.phase += 0.08;if (!this.soundOpen) {if (this.soundSince.amplitude > 0) {this.soundSince.amplitude -= 0.5;} else {this.soundSince.amplitude = 0;}} else {if (this.soundSince.amplitude < this.soundSince.maxAmplitude) {this.soundSince.amplitude += 0.5;} else {this.soundSince.amplitude = this.soundSince.maxAmplitude;}}requestAnimationFrame(this.animateSineWave);},onSoundMouseEnter() {this.soundSince.lineColor = '#fff';},onSoundMouseLeave() {this.soundSince.lineColor = 'rgb(190,62,80)';},},mounted() {this.rootFontSize = parseFloat(getComputedStyle(this.$root.$el).fontSize);this.initSound();}}
</script>
  1. 最后就是小老弟CSS
    我们去调整这个开关的样式,它可以是圆的可以是方的,但是我不要你觉得我要我觉得,我觉得圆的更好看,不行就拉到
<style scoped>.sound-switch {position: absolute;transform: translate(calc(50vw - 50%), calc(50vh - 50%));display: flex;justify-items: center;justify-content: center;width: 3rem;height: 3rem;border-radius: 1.5rem;background-color: #f0f0f0;cursor: pointer;min-width: 3rem;min-height: 3rem;max-width: 3rem;max-height: 3rem;transition: all 1s ease;}.sound-open {width: 1.5rem;height: 1.5rem;transform: translateY(0.75rem);transition: all 0.8s ease-in-out;}.sound-switch:hover {background-color: var(--mainColor);border: 0.1rem solid #fff;}
</style>

面试官:如果有一天我想换个姿势看图片

这个好办,我就最后办。
第一步就是最先的一步-看效果,有效果才有激情
    

  1. HTML
<template><div class="img-box"><div class="support-item" @mousemove="handleFor3DMouseMove"  @mouseleave="resetFor3DRotation"><el-image :src="src" class="support-a" :style="boxStyle"/><div><p class="p-title unable-select-element">{{title}}</p><p class="p-text unable-select-element">{{text}}</p></div></div></div>
</template>
  1. JS部分
<script>export default {name: "img3D",props: {src: {type: String,required: true,},title: {type: String,default: ''},text: {type: String,default: ''}},data() {return {for3D: {rotateX: 0,rotateY: 0,topLeft: 0,topRight: 0,bottomRight: 0,bottomLeft: 0}}},mounted() {this.src: 'https://fuss10.elemecdn.com/3/28/bbf893f792f03a54408b3b7a7ebf0jpeg.jpeg',this.title: 'This is a special Img Card',this.message: 'It has a certain 3D effect, and when the mouse moves, it calculates the rounded corners based on the distance between the mouse and the four corners of the rectangle. The closer the corner is, the more obvious its rounded corners are';},computed: {boxStyle() {return {borderRadius: `${this.for3D.topLeft}% ${this.for3D.topRight}% ${this.for3D.bottomRight}% ${this.for3D.bottomLeft}%`,transform: `rotateX(${this.for3D.rotateX}deg) rotateY(${this.for3D.rotateY}deg)`,transition: 'all 0.3s ease-out'};}},methods:{handleFor3DMouseMove(event) {const container = event.currentTarget;const width = container.offsetWidth;const height = container.offsetHeight;const mouseX = event.clientX - container.getBoundingClientRect().left;const mouseY = event.clientY - container.getBoundingClientRect().top;this.for3D.rotateY = (mouseX / width - 0.5) * 20;this.for3D.rotateX = (mouseY / height - 0.5) * -20;this.for3D.topLeft = this.calculateBorderRadius(mouseX, mouseY, 0, 0, width, height);this.for3D.topRight = this.calculateBorderRadius(mouseX, mouseY, width, 0, width, height);this.for3D.bottomRight = this.calculateBorderRadius(mouseX, mouseY, width, height, width, height);this.for3D.bottomLeft = this.calculateBorderRadius(mouseX, mouseY, 0, height, width, height);},resetFor3DRotation() {this.for3D.rotateX = 0;this.for3D.rotateY = 0;this.for3D.topLeft = 0;this.for3D.topRight = 0;this.for3D.bottomRight = 0;this.for3D.bottomLeft = 0;},calculateBorderRadius(mouseX, mouseY, cornerX, cornerY, width, height) {const distance = Math.sqrt(Math.pow(Math.abs(mouseX - cornerX), 2) + Math.pow(Math.abs(mouseY - cornerY), 2));const maxDistance = Math.sqrt(Math.pow(width, 2) + Math.pow(height, 2));const radius = (1 - distance / maxDistance) * 20.00 ;return Math.max(0, radius);}}}
</script>
  1. CSS部分
<style scoped>* {margin: 0;padding: 0;}.img-box {--mainColor: #BE3E50;background-color: var(--mainColor);width: 100vw;height: 100vh;display: flex;justify-items: center;justify-content: center;}.support-item {border-radius: 4px;width: 500px;max-width: 80vw;min-width: 40vw;aspect-ratio: 6 / 5;margin: 1rem;background-color:rgb(190, 62, 80);perspective: 1000px; /* 控制3D透视效果 */}.support-a {position: relative;width: 100%;background-color: #fff;aspect-ratio: 3 / 2;background-position: center;background-size: cover;background-repeat: no-repeat;transition: transform 0.1s ease-out;transform-style: preserve-3d;transform: rotateX(0deg) rotateY(0deg);box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);}.support-a:hover {box-shadow: 0 0 5px #fff;}.p-title {color: #fff;font-family: "Raleway", sans-serif;font-weight: bold;transition: all 0.3s ease;cursor: pointer;}.p-title:hover {border-left: 0.2rem solid #fff;padding-left: 0.2rem;}.p-text {color: #fff;font-family: "Courier New", Courier, monospace;}
</style>

最后但不是最终(因为最终在Bottom),我想说 if 有一天Vue消失了,那么这个世界注定哀号遍野,惨绝人寰!不是因为没有其他框架了,也不是因为JS不能用了,是因为我们的Vue代码:Uncaught TypeError: xxx is not a function/define

Java面试Question B:上帝有没有给它装上心灵的窗户?

我一直不明白它是谁?

  • 它可以和我对话
    在这里插入图片描述
  • 它也可以帮忙生成图片
    在这里插入图片描述

我:虽然它没有心里的窗户,但是我有

来这里,我们也有,在这里你也可以像他们一样,你有一句话,我有一张图,你敢发给我,我就敢发给你,看你敢不敢来?你来我也来,你不来,我~偏要来!你问我这里有什么?你有的我有,你没有的我也有!

Java面试Question C:出去玩怎么能不提前夜观天象?

一句青春没有售价,你票也不买,直接硬座直达拉萨!结果刚到拉萨电闪雷鸣,惶恐如斯,这趟又白来了,当你还在内耗还在出行焦虑,隔壁搞Java的二码子(就是CV人家的代码还不知道怎么改BUG的那种,代码的二道贩子)早就卡也打完了,照也拍光了,简直满满的正能量!为什么同样优秀的你会如此忧虑,我猜你缺少一样东西,如果没说错的活肯定不是缺少根筋,你是少了一样天气查询的工具,我猜的没错吧!
你每次出门都碰不上好天气,你每次碰上好天气这天气又说变就变,你每次碰上说变就变的天气不知道咋办,你不知道咋办就算了你只能选择里面回家!你好惨啊!要不你来我们这里吧,我们告诉你怎么样,你来一个地方你发现天气不好,你就开开心心用我们的天气地图,你只要在会用手机,你会在手机上点来点去,所有你那么棒,你已经超过80%的同龄人了,你竟然如此优秀。你在手机上点来点去那你就可以快速找到其他天气好的地方,你就出发吧先别回家了,来都来了!

面试官:我想离开浪浪山,但是害怕明天下大雨

来上页面:天气查起来,今天下雨你就下次离开,明天下雨你就改天再出发。不要问改天是哪天,下次是哪次,我不允许你这样,改天是天气好的那天

我:有我在,别害怕

代码我就不贴了 开源社区一键浏览

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/149211.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

C++基础:第一个C++程序

初学C #include<iostream> int main() {std::cout << "Enter two numbers:" << std::endl;int v1 0, v2 0;std::cin >> v1 >> v2;std::cout << "The sum of "<< v1 << " and " << v2&…

string和oj题以及vector的接口介绍

前言 上篇博客学习了一些string类的模拟实现erase、find、substr、比较大小、流输入、流输出&#xff0c;这篇博客将介绍剩下的一些string的知识以及vector的一些使用方式。 string 传统深拷贝的写法 //拷贝构造 string(const string& s) {_str new char[s._capacity …

1.4 边界值分析法

欢迎大家订阅【软件测试】 专栏&#xff0c;开启你的软件测试学习之旅&#xff01; 文章目录 前言1 定义2 选取3 具体步骤4 案例分析 本篇文章参考黑马程序员 前言 边界值分析法是一种广泛应用于软件测试中的技术&#xff0c;旨在识别输入值范围内的潜在缺陷。本文将详细探讨…

【Linux】深度解析与实战应用:GCC/G++编译器入门指南

&#x1f525; 个人主页&#xff1a;大耳朵土土垚 &#x1f525; 所属专栏&#xff1a;Linux系统编程 这里将会不定期更新有关Linux的内容&#xff0c;欢迎大家点赞&#xff0c;收藏&#xff0c;评论&#x1f973;&#x1f973;&#x1f389;&#x1f389;&#x1f389; 文章目…

Mysql—主从复制的slave添加及延迟回放

MySQL 主从复制是什么&#xff1f; ​ MySQL 主从复制是指数据可以从一个 MySQL 数据库服务器主节点复制到一个或多个从节点。MySQL 默认采用异步复制方式&#xff0c;这样从节点不用一直访问主服务器来更新自己的数据&#xff0c;数据的更新可以在远程连接上进行&#xff0c;…

滑动窗口专题

通过以下几道题来熟悉滑动窗口 滑动窗口3大问题&#xff1a;如何移入窗口&#xff0c;如何移出窗口&#xff0c;如何更新答案 209. 长度最小的子数组 我们考虑通过窗口来计算和&#xff0c;快慢指针从左开始遍历。 移入窗口&#xff1a;直接把当前元素加进来。 移出窗口&am…

重大喜讯!科研界之大变革——“5分钟提交+24小时反馈”,投稿效率直线上升!

盘点允许“一稿多投”的SCI “一稿多投”一直被认为是学术不端的行为&#xff0c;但“禁止一稿多投”是纸质时代遗留下的产物&#xff0c;已不符合当今社会的发展。 一篇文章一审就是好几个月甚至是一两年&#xff0c;在科研圈子里都是平常事&#xff0c;每个科研人都曾深陷于…

乐道L60、MONA M03、理想L6,蔚小理围剿「特斯拉」

作者 |老缅 编辑 |德新 9月19日&#xff0c;蔚来全新品牌乐道首款车型——乐道L60正式上市&#xff0c;定位家庭智能电动SUV。 60kWh标准续航版&#xff0c;售价20.69万元85kWh长续航版&#xff0c;售价23.59万元&#xff1b;如果采用BaaS电池租用服务&#xff0c;则低至14.9…

如何在云端使用 Browserless 进行网页抓取?

云浏览器是什么&#xff1f; 云浏览器是一种基于云的组合&#xff0c;它将网页浏览器应用程序与一个虚拟化的容器相结合&#xff0c;实现了远程浏览器隔离的概念。开发人员可以使用流行的工具&#xff08;如 Playwright 和​ Puppeteer​&#xff09;来自动化网页浏览器&#…

cmake--list

教程 list--链接 list关键字的作用 list的操作 list追加字符串--APPEND set(str1 "aaaaaaaa") message(STATUS "str1${str1}") list(APPEND str1 "bbbb") message(STATUS "str1${str1}") list字符串拼接并不是直接拼接&#xff0c…

C# 用Timer控件简单写一个倒计时60s功能

先放界面上一个Label和一个Timer控件&#xff0c;Label用来展示倒计时秒数 添加事件 设置属性&#xff0c;设置每隔一秒执行一次 放代码&#xff1a; //设置时间控件开始运行&#xff0c;具体放在哪里看具体需求 this.timer1.Start();//定义一个全局变量表示秒数 int time…

在线版宣传册是如何制作的

​亲爱的创作者们&#xff0c;你是否想过将传统的纸质宣传册升级为更具吸引力的在线版&#xff1f;在这个数字化时代&#xff0c;在线版宣传册不仅能够节省印刷成本&#xff0c;还能让信息传递更加迅速、精准。今天&#xff0c;就让我们一起探索在线版宣传册的制作奥秘吧&#…

利用Mongoose库实现MQTT通信

Mongoose官方Github地址 官方对于Mongoose的简介&#xff1a; Mongoose - Embedded Web Server / Embedded Network Library Mongoose is a network library for C/C. It provides event-driven non-blocking APIs for TCP, UDP, HTTP, WebSocket, MQTT, and other protocol…

【吉林一号卫星简介】

吉林一号卫星 吉林一号卫星是中国长光卫星技术有限公司研制的遥感卫星&#xff0c;也是该公司在建的核心工程&#xff0c;是中国重要的光学遥感卫星星座。以下是对吉林一号卫星的详细介绍&#xff1a; 一、卫星概况 中文名&#xff1a;吉林一号外文名&#xff1a;Jilin 1 Bus…

视频汇聚EasyCVR视频监控平台调取接口提示“认证过期”是什么原因?

视频汇聚EasyCVR视频监控平台&#xff0c;作为一款智能视频监控综合管理平台&#xff0c;凭借其强大的视频融合汇聚能力和灵活的视频能力&#xff0c;在各行各业的应用中发挥着越来越重要的作用。EasyCVR平台具备强大的拓展性和灵活性&#xff0c;支持多种视频流的外部分发&…

丝杆支撑座许用条件的解析

丝杆支撑座连接滚珠丝杆使用能够支撑滚珠丝杆&#xff0c;使之更加平稳的运动&#xff0c;显著提高传动效率、降低噪音、提高精度、延长使用寿命等优势&#xff0c;是自动化设备中重要的传动元件。影响丝杆支撑座的因素主要包括轴承类型、润滑脂的使用、密封圈的保护、使用环境…

实现边框渐变效果

实现思路&#xff1a;定义一个具有相对定位、白色背景和透明边框的元素。边框宽度为3像素&#xff0c;并且有20像素的圆角。通过background-clip: padding-box;确保背景不会延伸到边框之外。 使用一个伪元素&::before来创建一个渐变边框。这个伪元素被放置在主元素的外部&…

Qt-QComboBox输入类控件(31)

目录 描述 核心方法 核心信号 使用 代码方式 界面操作方式 动态使用 如何看待输入输出 String与QString互相转化 描述 一个可以下拉的输入框 核心方法 addItem(constQString&)添加⼀个条⽬currentIndex()获取当前条⽬的下标 从0开始计算.如果当前没有条⽬被选中…

Xcode 16 上传AppStore遇到第三方库 bitcode 的问题

Xcode 16 上传AppStore遇到第三方库 bitcode 的问题 最近两天更新了Xcode 16&#xff0c;然后正好要发布新版本的App&#xff0c;打包Adhoc没问题&#xff0c;但是上传AppStoreConnect或者TestFlight就不行解决方案参考资料 最近两天更新了Xcode 16&#xff0c;然后正好要发布新…

RegNet(CVPR2020):Designing Network Design Spaces,设计一个网络设计空间!

RegNet&#xff1a;Designing Network Design Spaces RegNet&#xff1a;设计一个网络设计空间 论文地址&#xff1a; https://arxiv.org/pdf/2003.13678 1、前言 在这项工作中&#xff0c;作者提出了一种新的网络设计范例。 作者的目标是帮助增进对网络设计的理解并发现跨设置…