哈士奇面试经历:第一次面试

最近哈士奇也和小伙伴一起开始准备简历了,第一次面试还是十分紧张的,哈士奇语无伦次,大脑一片空白,但是面试过后还是需要总结一下面试的过程的,所以哈士奇写下这篇面经回顾一下自己的问题,并且解决没有解决出来的问题。

面试问题

面试官的问题如下:

  1. 介绍一下你自己
  2. 看到你的简历提到用到了aibot,具体是怎么使用的,怎么训练的
  3. 在掘金上面发文章,通常是写些什么内容
  4. 项目用过uni-app,在对于不同app的差异怎么解决的
  5. 使用js画个圆
  6. 使用js计算字符串中出现的字母个数
  7. url可以放什么东西
  8. 聊聊es6的解构
  9. 聊一聊vue等框架对前端开发的影响

回复

1.介绍一下你自己

各位面试官你们好,我是来自xxx学校的,xxx,做过的项目,能胜任的原因。。。。

2. 看到你的简历提到用到了aibot,具体是怎么使用的,怎么训练的

哈士奇简单介绍了一下coze中的大模型使用的方法,从admin system user给面试官讲了讲自己是怎么制定模型的形象的。

3. 在掘金上面发文章,通常是写些什么内容

主要从js,AIGC,算法三个方面介绍了一下自己的发布的内容

4. 项目用过uni-app,在对于不同app的差异怎么解决的

  • 条件编译 :uni-app提供了条件编译功能,可以根据不同的平台编写特定的代码。例如,使用#ifdef APP-PLUS#endif等指令来编写仅针对特定平台的代码。
  • 适配不同平台:针对Android和iOS平台可能存在的界面和交互差异,可以编写平台特定的样式和逻辑。同时,也要考虑到不同设备尺寸和分辨率的适配问题。
  • 插件和模块:对于某些特定功能,可以使用uni-app的插件市场或自定义模块来实现。这些插件和模块通常已经考虑到了不同平台的差异,可以简化开发过程。
  • 测试和调试:在开发过程中,要在不同的设备和平台上进行充分的测试和调试,以确保应用的稳定性和兼容性。

5. 使用js画个圆

html 复制代码
	<!DOCTYPE html>  
	<html>  
	<body>  
	    <canvas id="myCanvas" width="500" height="500" style="border:1px solid #d3d3d3;">  
	        Your browser does not support the HTML5 canvas tag.  
	    </canvas>  
	    <script>  
	        var canvas = document.getElementById('myCanvas');  
	        var ctx = canvas.getContext('2d');  
	        ctx.beginPath();  
	        ctx.arc(250, 250, 100, 0, 2 * Math.PI); // 画一个圆,圆心(250, 250),半径100  
	        ctx.strokeStyle = '#FF0000'; // 设置圆的边框颜色  
	        ctx.lineWidth = 5; // 设置圆的边框宽度  
	        ctx.stroke(); // 绘制圆  
	    </script>  
	</body>  
	</html>

6. 使用js计算字符串中出现的字母个数

使用JavaScript计算字符串中出现的字母个数可以有多种方法。这有几种不同的实现方式:

方法一:使用正则表达式

javascript 复制代码
	function countLettersRegex(str) {  
	    // 使用正则表达式匹配所有字母(不区分大小写)  
	    const matches = str.match(/[a-zA-Z]/g);  
	    return matches ? matches.length : 0;  
	}  
	const str = "Hello, World! 123";  
	console.log(countLettersRegex(str)); // 输出: 10

方法二:使用for循环和字符判断

javascript 复制代码
	function countLettersLoop(str) {  
	    let count = 0;  
	    for (let i = 0; i < str.length; i++) {  
	        const char = str[i];  
	        // 判断字符是否为字母  
	        if (/[a-zA-Z]/.test(char)) {  
	            count++;  
	        }  
	    }  
	    return count;  
	}  
	const str = "Hello, World! 123";  
	console.log(countLettersLoop(str)); // 输出: 10

方法三:使用reduce和箭头函数

javascript 复制代码
	function countLettersReduce(str) {  
	    return str.split('').reduce((count, char) => {  
	        // 判断字符是否为字母并累加计数  
	        return /[a-zA-Z]/.test(char) ? count + 1 : count;  
	    }, 0);  
	} 
	const str = "Hello, World! 123";  
	console.log(countLettersReduce(str)); // 输出: 10

方法四:使用Array.prototype.filter

javascript 复制代码
	function countLettersFilter(str) { 
	    return str.split('').filter(char => /[a-zA-Z]/.test(char)).length;  
	}  
	const str = "Hello, World! 123";  
	console.log(countLettersFilter(str)); // 输出: 10

7. url可以放什么东西

  • 协议 :例如http://https://ftp://等,用于指定资源使用的传输协议。
  • 域名或IP地址:用于标识资源的服务器位置。
  • 端口号:可选,用于指定服务器上特定服务的端口。
  • 路径:用于指定服务器上资源的具体位置。
  • 查询字符串 :可选,用于传递参数给服务器,通常以?开始,参数之间用&分隔。
  • 片段标识符 :可选,用于指定资源的某个部分,通常以#开始。

例如:https://www.example.com:8080/path/to/resource?param1=value1&param2=value2#section1

8. 聊聊es6的解构

数组解构

javascript 复制代码
	const [a, b, c] = [1, 2, 3];  

	console.log(a); // 输出: 1  

	console.log(b); // 输出: 2  

	console.log(c); // 输出: 3

对象解构

javascript 复制代码
	const person = { name: 'Alice', age: 30 };  

	const { name, age } = person;  

	console.log(name); // 输出: Alice  

	console.log(age); // 输出: 30

解构还可以用于函数参数、默认值等场景,大大提高了代码的可读性和可维护性。 具体内容可以看看哈士奇的这篇文章浅谈ES6部分新特性之let、const与解构

9. 聊一聊vue等框架对前端开发的影响

提高开发效率:Vue等前端框架通过提供组件化的开发模式,使得开发者可以将复杂的界面拆分成多个独立的、可复用的组件。这不仅提高了代码的可维护性和可测试性,还使得开发者可以更加专注于每个组件的逻辑,从而提高开发效率。

统一开发标准:前端框架定义了一套开发标准,使得团队成员可以按照相同的规范进行开发。例如,Vue框架采用了MVVM(Model-View-ViewModel)的架构模式,将数据层、视图层和逻辑层进行了分离。这种明确的分层结构使得多人协作更加高效,降低了沟通成本,并且方便新成员的接入。

提供丰富的功能和工具:前端框架通常会提供一系列的功能和工具,以帮助开发人员快速搭建复杂的Web应用。这些功能和工具包括但不限于路由管理、状态管理、数据双向绑定等,它们大大简化了开发过程,使得开发者可以更加专注于业务逻辑的实现。

优化用户体验:Vue等前端框架通过虚拟DOM和响应式机制,避免了不必要的全局重新渲染,从而提升了用户体验。这使得用户在操作界面时能够感受到更加流畅和自然的交互效果。

降低学习成本:尽管前端框架本身需要一定的学习成本,但它们的文档和社区资源通常都非常丰富。对于新手来说,这些框架的组件化开发方式和MVVM架构模式使得前端开发更加容易理解。同时,由于这些框架的流行性和广泛应用,开发者可以很容易地找到相关的教程和案例,从而更快地掌握它们的使用方法。

总结

总的来说第一次面试还是十分紧张的,哈士奇也没有准备好第一次面试,导致自己第一次面试十分紧张,而且语无伦次,hhh,希望这篇面经能够帮助大家在接下来的面试中吸取经验。

相关推荐
IT、木易14 分钟前
ES6 新特性,优势和用法?
前端·ecmascript·es6
计算机软件程序设计36 分钟前
vue和微信小程序处理markdown格式数据
前端·vue.js·微信小程序
指尖时光.38 分钟前
【前端进阶】01 重识HTML,掌握页面基本结构和加载过程
前端·html
前端御书房41 分钟前
Pinia 3.0 正式发布:全面拥抱 Vue 3 生态,升级指南与实战教程
前端·javascript·vue.js
NoneCoder1 小时前
JavaScript系列(84)--前端工程化概述
前端·javascript·状态模式
晚安7201 小时前
idea添加web工程
java·前端·intellij-idea
一个 00 后的码农2 小时前
25轻化工程研究生复试面试问题汇总 轻化工程专业知识问题很全! 轻化工程复试全流程攻略 轻化工程考研复试真题汇总
面试·面试问题·25考研·考研复试·考研调剂·面试真题·轻化工程
刘小炮吖i2 小时前
Java基础常见的面试题(易错!!)
java·面试·职场和发展
零凌林2 小时前
vue3中解决组件间 css 层级问题最佳实践(Teleport的使用)
前端·css·vue.js·新特性·vue3.0·teleport
糟糕好吃2 小时前
用二进制思维重构前端权限系统
前端