大三末之初级前端面试之上面 问题答案(三)

这篇博客分享了大三学生在面试中遇到的前端题目,包括使用TypeScript实现从多个网页抓取并解析内容、实现快速排序算法以及构建一个时间复杂度为O(logn)的二叉树。博主提供了同步和异步爬虫的解决方案,以及对quicksort和二叉树的具体代码实现。此外,还提到了仿制GitHub搜索页面的Vue项目。
摘要由CSDN通过智能技术生成

前三题都用的typescript实现

(一)从 多个网页爬取去内容然后进行解析

有10个网页,1.txt 到 10.txt

http://dy-public.oss-cn-shenzhen.aliyuncs.com/interviewTestData/1.txt

<abc> <de
f>data : 1992; name : agent 1 </def></abc>

0.格式有可能有区别
1.分别实现同步,异步的爬取方式
2.网页下载使用nodejs的http即可
3.使用正则表达式获取data后面的字段,将10个文件的data值全部获取,并相加

我的答案

api.ts


import superagent = require('superagent');
import cheerio = require('cheerio');

export const remote_get = function(url: string) {
   

    const promise = new Promise<superagent.Response>(function (resolve, reject) {
   
        superagent.get(url)
            .end(function (err, res) {
   
                if (!err) {
                    resolve(res);
                } else {
                    console.log(err)
                    reject(err);
                }
            });
    });
    return promise;
}

async.ts

import superagent = require('superagent');
import cheerio = require('cheerio');
const remote_get =function(url: string) {
   
    const promise = new Promise<superagent.Response>(function (resolve, reject) {
   
        superagent.get(url)
            .end(function (err, res) {
   
                if (!err) {
                    resolve(res);
                } else {
                    console.log(err)
                    reject(err);
                }
            });
    });
    return promise;
}
let result = 0;
let count = 11;
let sum=0;
/**
 * 
 * @param nums 
 * @param hasEnd 
 */
async function crawl(){
   
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值