腾讯WXG企业微信日常实习7月二面

  1. 5道编程题(太狠了,只记得三题了
  2. 给定一个非空的字符串 s ,检查是否可以通过由它的一个子串重复多次
  3. 实现LRU缓存
  4. c++中实现一个队列安全的队列,如果读的时候队列中没有数据,等待队列中有数据在返回
  5. 从磁盘上读取一个文件内容,把内容发送到网络上的全过程
  6. mysql的索引聊一聊,索引实现原理
  7. mysql索引为什么要用B+树实现
  8. mvcc的原理
  9. 乐观锁是什么
  10. 为什么乐观锁可以实现允许多个事务访问数据
  11. linux下malloc一块内存的背后实现是什么
  12. 什么时候用brk,什么时候用 mmap
  13. 为什么要有两种不同的系统调用,为什么不直接用mmap,而是要用两种结合的方式实现

#日常实习##求职##我的实习求职记录##软件开发笔面经#
全部评论
wxg的题看到一次吓一次,上次我面的时候让我10分钟非递归快排直接懵圈了我淦
1 回复 分享
发布于 10-01 15:17 北京
这是楼主当时的面经么,方便问一下当时有后续结果么
1 回复 分享
发布于 10-16 13:20 四川
kmp算法的化用
点赞 回复 分享
发布于 09-28 22:35 广东

相关推荐

11-27 22:42
已编辑
门头沟学院 Web前端
总结:面试官人很好,整个面试过程中就像是聊天一样,全程演示项目,中间穿插了一点八股- 蓝桥杯是什么- 问简历上的项目是实验室还是个人项目  面试官说都会把比赛项目给放到前面,所以以为这也是实验室作品。然后我就拿了挑战杯写的前端页面简单说了一下以下基本都是项目细节:- Mod 开发组与你是什么关系(甲乙方?)- 为什么分了开源核心 + 后台仓库(后台仓库代码不安全,需要审查)- 编辑人员提交流程(后台编辑 + 管理员提交 -> gitee pr + 审查后合并 + webhook 触发 cicd 同步到 oss)- Astro 是什么,SSG SSR 是什么(说了一下基于 vite 进行驱动与支持 ssg + ssr,然后说了一下 ssr 的动态拼接字符串;然后面试官说了什么 jeklly?)- 选了他的原因是什么(博客落地实践过,知道一些底层原理,内容驱动生成网站,符合 wiki 定位要求)- 框架可以插入 react 或者 vue 组件吗(可以,且可以一起使用)- 有试过放在一起吗(没有,提了一下 vite 放在过一起导致开发声明报错,其次是两个应用相互独立,通过各自的 app 创建函数来渲染页面,只要他们副作用不会相互影响我觉得问题都不算大,不过现在看来感觉还得想一想 vue react 底层,他们的更新机制不一样,会不会一个框架的占用线程太久导致了另一个框架更新不及时)- 整个项目内核升级是什么意思(说了用插件将所有的逻辑进行封装,最后进行复用,要求展示了一下除了简历还有哪个网站复用了)- 编译器和 polyfill 的关系,知不知道每一个 es 版本的区别(不会)- VSCode 插件展示一下,具体在 VSCode 做了什么,用途(mdx 转 ast 语法树,对节点进行分析,并读取工作目录下的资源进行查错;给一些编外的词条编辑人员使用)?- 网页插件展示一下?(没实现,说了一下对每一个用户都要开一个专用检查进程的原因)- 看一下你的分析器和 mdx 官方分析器的关系(完全独立,没来得及说存在的优化部分)本来要进笔试了,然后说了一下 yjs 是核心之一- 在线平台演示效果- yjs 是什么(协同编辑中编辑冲突的一个库)- 协同主要问题(说了并发冲突和 YATA 算法的作用,面试官似乎没做过这个领域)笔试:```ts// 写一个类似迅雷的下载管理器,用户可以不停往里面push url,管理器需要保证同一时间最多只有3个请求在并发下载。class Downloader {  urls = []  push(url) {  }}// 每个url均需要被传入以下fakeAxiosWrapper函数。你可以把这个函数当做一个封装好的axios函数,作用是请求远程api,不要改动这个函数。async function fakeAxiosWrapper(url) { return new Promise((resolve, reject) => { setTimeout(() => {      console.log(`download ${url} done`)      resolve()    }, 3000);  })}// 验证代码const downloader = new Downloader()downloader.push(`url1`)downloader.push(`url2`)downloader.push(`url3`)downloader.push(`url4`)downloader.push(`url5`)// 等待3s后,同时输出// download url1 done// download url2 done// download url3 done// 再等待3s后,同时输出// download url4 done// download url5 done```没写出来很可惜,因为以前写过一个类似的并发下载控制,结果这里没写好。面试官换了个节流,问了一下为什么 setInterval 可以用来证明你这个函数是节流的(宏任务队列首部)反问:工作时间(上午十点到晚上八点半)地点(深圳总部)实习时长(越久越好)技术栈(挺多跨端技术的,感觉进去又要开始上手新东西了)有没有什么可以改进的地方(没有,做的很好(不知道是不是客套话整体下来感觉最大的问题还是信息差与沟通点没到位,项目yjs部分展示的内容不是很多,然后还浪费了一些时间,只能说很可惜,下一次对于不会的内容就应该直接说不会(恼)。然后就是没问多少八股,这真的正常吗()
查看22道真题和解析
点赞 评论 收藏
分享
12-03 14:36
已编辑
吉首大学 Java
一面1. 自我介绍2. 网络   1. TCP三次握手、四次挥手   2. TCP和UDP区别   3. 如何实现一个可靠的UDP(我直接回答了QUIC,以及哪些实现哪些策略让他稳定可靠)(文章推荐:https://juejin.cn/post/7428200842229006377#heading-0;视频推荐:https://www.bilibili.com/video/BV1fr4y1F7BD?spm_id_from=333.788.videopod.sections&vd_source=ea52eeafecc0fa82395b5b7600d5b266)   4. Https解决了Http什么问题(下面是个大概,都需要展开说说)      1. 信息加密:混合加密实现信息机密性,解决窃听风险      2. 验证机制:摘要算法实现完整性,为数据生成独一无二的【指纹】,用于检验数据完整性,解决篡改风险      3. 身份证书:将服务器的公钥放入数字证书,解决冒充风险   5. TSL四次握手   6. CA证书验证流程,存储在哪里?3. 操作系统   1. 线程和进程区别   2. 进程通信方式4. 数据结构   1. 堆(数组实现,是一个完全二叉树结构)   2. 排序算法的时间复杂度对比   3. 排序算法哪些是稳定的,哪些是不稳定的5. 算法   1. 堆排序(pass)   2. 螺旋数组   3. 手撕HashMap6. 讲解HashMap扩容7. rehash和二次hash有什么区别(自己口误,给挖坑了)二面1. 自我介绍(面试官是老乡,寒暄了几句)2. 算法   1. 大数乘法(这个真忘了,一般碰到这种都是工具类写了,撕了20分钟,没写出来)   2. leetcode上的一个中等dp(背包问题),具体是哪个找不到了。3. 实习拷打4. 项目拷打二面一直拷打,回答一句,问一个,问到不会为止(已挂)大数加法:public String solve(String s, String t) {    if (s == null || t == null || s.length() == 0 || t.length() == 0) {        return null;    }    if (s.equals("0") || t.equals("0")) {        return "0";    }    int[] nums = new int[s.length() + t.length()];    // 计算乘积并累加到相应位置 for (int i = s.length() - 1; i >= 0; i--) { for (int j = t.length() - 1; j >= 0; j--) {            nums[i + j + 1] += (s.charAt(i) - '0') * (t.charAt(j) - '0');        }    }    // 处理进位    int carry = 0; for (int i = nums.length - 1; i >= 0; i--) {        int temp = nums[i] + carry;        nums[i] = temp % 10;        carry = temp / 10;    }    // 构建结果字符串    StringBuilder sb = new StringBuilder();    int start = 0;    while (start         start++;    }    for (int i = start; i         sb.append(nums[i]);    }    return sb.toString();}大数乘法:public String solve(String s, String t) {        if (s == null || t == null || s.length() == 0 || t.length() == 0) {            return null;        }        if (s.equals("0") || t.equals("0")) {            return "0";        }        int[] nums = new int[s.length() + t.length()];        // 计算乘积并累加到相应位置 for (int i = s.length() - 1; i >= 0; i--) { for (int j = t.length() - 1; j >= 0; j--) {                nums[i + j + 1] += (s.charAt(i) - '0') * (t.charAt(j) - '0');            }        }        // 处理进位        int carry = 0; for (int i = nums.length - 1; i >= 0; i--) {            int temp = nums[i] + carry;            nums[i] = temp % 10;            carry = temp / 10;        }        // 构建结果字符串        StringBuilder sb = new StringBuilder();        int start = 0;        while (start             start++;        }        for (int i = start; i             sb.append(nums[i]);        }        return sb.toString();}
投递腾讯等公司10个岗位
点赞 评论 收藏
分享
评论
8
36
分享
牛客网
牛客企业服务