21届秋/校招面经
开篇先说一下我自身情况,东南大学本科计算机科学与技术专业毕业,gpa3.2/4.8。零零散散搞过一年多ACM,去年(2019)在icpc上海站拿了铜之后增加了信心(因为当时训练总时间半年不到),于是更用心地一直训练到今年六月底,预计比赛差不多上学期没法正经举办之后颓然泄劲,然后开始投入考研,这次秋招打算一是感受一下当前互联网行业行情,二是也希冀能为考研战败捞个后备选项,总共投了四家公司:字节(客户端开发)、腾讯(PC客户端开发)、猿辅导(客户端开发)、网易云(C++开发)。接下来我就按照时间顺序来分别介绍我经历的每一场面试&笔试,以供参考。
字节一面
这个我感觉铁挂了……本来就是抱着试试的心态参与的,什么都没准备。面试官上来问我是不是投的安卓开发我内心:现在客户端开发直接指移动端开发了吗555。然后他就开始提问os和计网的知识,大概有:进程线程区别、进程调度算法都有什么以及区别、http和https的区别、描述tcp三次握手四次挥手以及为什么要握手三次挥手四次、http的get方法和post的区别、tcp和udp区别等。这些我大概还能零零散散答出来一些,毕竟刚复习过这两门课,没答出来的部分是真的因为考试的重点和面试的考察重点不太重合,侧重方面不同,比如为什么握手三次挥手四次我是没做过题。
接下来是关于java的一些问题,我感觉我答的糟透了,问题大多集中在多态虚函数这些的实操以及原理,很多很基础的东西我都记得模棱两可,毕竟最近做过的java课设还是一年前的时候,语法细节根本记不清,遑论概念。然后就被面试官吐槽面哪个岗位就应该提前了解一下相关要求。。
接下来总算到了写算法题环节,不过我也没能发挥出来,估计面试官是觉得我前面太差了所以也 不问我太难的,只是让我写了个排序并且问了如果内存不够把所有数据调入要怎么办。这个时候我已经被打击得无地自容,好像也都是瞎答的。整个面试过程大概30分钟结束。
腾讯一面
这次面试经历算好一些了,有了前车之鉴,就去提前看了一下面经,再加上C++本身也是我写题的主语言所以较为自信。
面试一开始建端自我介绍之后就开始笔试,两道题50分钟。分别是求最少多少线段能覆盖[0, L]范围,和树的按层输出和ZigZag输出。前一道题我半分钟就想出思路先按x排序再用优先队列搞了,可是可能因为过于紧张吧,到最后仍有小逻辑毛病,存在一些反例。第二道题挺简单,Zigzag遍历就是按层一行从左到右一行从右到左地输出,其实就把普通按行输出里面用的临时队列改成临时栈即可,栈能颠倒输入输出次序嘛。这两道题做的结果面试官应该是满意的,就提了一句为啥树不用指针写,我说算法题习惯了hhh,全局数组写起来舒服。
接下来就是考察专业课,依然是操作系统和计网两门,大概问的问题有:os的虚拟内存、同步和互斥、知道哪些操作系统、有没有在某种os上开发的经验呀。虚拟内存这个我回答了就是把硬盘一部分当作内存hh结果被说没在点上,可能是想让回答逻辑地址这个方向吧。http/https区别和get/post区别依然问了,还有http的两种连接方式,一种每传一个对象建立一次tcp、另一个传完再结束tcp的这个,常用端口以及各种返回码是什么意思。整体感觉腾讯这边pc客户端开发很看重http相关知识。最后面试官还让介绍了自己做的最大的项目,我就勉强讲了之前那个java课设哈哈哈,虽然细节记不清,不过整体框架印象还是很深的,毕竟里面有我当时设计了很久的东西。
这场面试感觉还行,算是发挥出了应有水平,除了写题时太紧张导致第一题有错有点后悔,还有一个原因是用的牛客面试网页调试器功能太少,,没有gdb感觉寸步难行,之后可以训练一下无调试切水题的能力。
腾讯笔试
一面之后没过几天就收到了笔试通知。看了笔试说明以后还以为有除了算法题以外的概念题啥的……结果并没有。
整场考试共五道题,难度应该是递增的,知识点范围大概在简单图论、stl使用、dp以及构造。dp题出了一个背包的变种,物品数量和价值相等,然后如果最后背包有剩余,则可放进任意一个物品。大概意思就是最后物品总重量可以超过背包大小,但要满足从物品中去除某个之后,剩余物品重量是小于背包的。这题只过了百分之80……可能还是想法不对吧,看官可以自行思考一下怎么搞。然后说到简单图论题,这题太值得吐槽了,因为它数据没按范围要求给!!本来就是闭着眼睛都能过的图遍历问题,结果直接给我报了通过0%???最后想了二十来分钟,实在没方法了就孤注一掷,把数组都开了几倍大,并且数据的标号都按着最大而不是输入的上限看待,然后就全过了。。。至今不知道问题出在哪一块,太锅了这题如果在区域赛出题人能被骂死,,
然后说到第五题,当时因为前面被图论题数据问题把心态搞崩了,就根本没法用心思考。大概是这样:给定一个n,求最大的m使得能构造出一个长为n的数列,使得对于[1,m]中的数,任意两个xy在数列中都有相邻的存在。我大概就是按着上界想的:类似于每两个数据都连一条边,则最少m(m-1)/2条,而n个数据有n-1个相邻关系,相当于提供n-1条边,所以解方程n-1>=m(m-1)/2最后发现全错qaq。
整体得分380/500,感觉放在认真找工作的群体里应该是平均水平吧差不多……算法题技术盲点还是有很多啊,以后还要继续练。
网易云笔试
一道简答题四道编程题,简答题问了大小端和C++虚函数的实现方式,感觉全跪orz,大小端好像写反了,后者不了解。
四道编程题难度分明,前两道是简单递归/树,数据弱的一批;后两道难度极大,我集中精力搞出了第三题,在这里和大家分享:(其实感觉这题够单独开个题解了):
给一个1e5大小的正整数数组,求出最大的可以被7整除的子集和
乍一看无从下手,我们来慢慢分析。首先对应于整除7这个条件,所有的数可以按模7结果分类,然后从其中找出满足要求的最大组合。我先想了好几种假做法才意识到组合不能贪心做,最典型的一个假做法是16、25、34这样组合233。然后就想到要找出所有的组合路径,觉得需要建图做。就是构建7个点代表当前结果模7的值,然后连边(i,j)表示所有模7=j-i的数组数值,这样从0出发经过若干条边(总和y)到达x(每条边只能使用一次)时,代表可以找到权值和为y的,且模7等于x的子集和。于是更改思路为求出所有数的和sum,然后减去模为sum%7的最小子集和。这样就变成了最短路问题:设sum%7=x,sum-则0到x的最短路即为所求。
至于如何求这个最短路,需要魔改一下Floyd算法,之前最外层是所有点,内层是遍历两层用它当中介的点。现在我们把外层当成所有数组数据,因为是求最短,所以每种模值下最多取7条边就够了,然后每种模值内从小到大遍历边;内层就取该边的模值在图中对应的边,然后再遍历一个顶点作为该边松弛操作的前一个/后一个点。四层遍历共7^4解决。贴下代码
#include<bits/stdc++.h>
using namespace std;
#define inf 0x3f3f3f3f
const int maxn=1e5+4;
vector<int> shang[7];
int a[maxn];
char s[maxn*10];
int es[7][7][2],val[7][7];
int main(){int n=0,cur=0;cin.getline(s,maxn*10);for(int i=0;i<strlen(s);i++){if(isdigit(s[i])){cur=cur*10+s[i]-'0';}else{a[++n]=cur;cur=0;}}a[++n]=cur;int ans=0;for(int i=1;i<=n;i++){shang[a[i]%7].push_back(a[i]);ans+=a[i];}for(int i=1;i<=6;i++){sort(shang[i].begin(),shang[i].end());}for(int i=1;i<7;i++){int cur=0;for(int j=0;j<7;j++){es[i][j][0]=cur;es[i][j][1]=(cur+i)%7;cur=(cur+i)%7;}}memset(val[0],inf,sizeof(val));for(int i=0;i<7;i++)val[i][i]=0;for(int i=1;i<7;i++){for(int j=0;j<min((int)shang[i].size(),7);j++){for(int k=0;k<7;k++){for(int a=0;a<7;a++){val[a][es[i][k][1]]=min(val[a][es[i][k][0]]+shang[i][j],val[a][es[i][k][1]]);val[es[i][k][0]][a]=min(val[es[i][k][1]][a]+shang[i][j],val[es[i][k][0]][a]);}}}}ans-=(val[0][ans%7]);cout<<(ans>0?ans:-1)<<endl;
}
猿辅导笔试
时间真心短……一个半小时15选择3编程题,选择考了数据库、概率论、计网、os,很有特色。
编程题码量不小,这应该是我做的最惨的一次编程题qwq,一个小时就写出一道半。第二题是模拟表达式运算,规则很繁,没状态耐心调试最终只过了40%,第三题瞅了一眼好像是字符串类dp没时间想了……哎也许最后二十分钟应该放下第二题去冲最后一题的。策略问题。
相关文章:
21届秋/校招面经
开篇先说一下我自身情况,东南大学本科计算机科学与技术专业毕业,gpa3.2/4.8。零零散散搞过一年多ACM,去年(2019)在icpc上海站拿了铜之后增加了信心(因为当时训练总时间半年不到),于是…...
相机动态/在线标定
图1 图2 基本原理 【原理1】平行线在射影变换后会交于一点。如图所示,A为相机光心,蓝色矩形框为归一化平面,O为平面中心。地面四条黄色直线为平行且等距的车道线。HI交其中两条车道线于H、I, 过G作HI的平行线GM交车道线于M。HI、GM在归一化平面上的投影分别为JK、PN,二者会…...
MySQL 8.0 新特性汇总
文章目录 前言1. 运维管理 1.1 可持久化变量1.2 管理员端口1.3 资源组1.4 数据库粒度只读1.5 show processlist 实现方式1.6 加速索引创建速度1.7 控制连接的内存使用量1.8 克隆插件1.9 mysqldump 新增参数1.10 慢日志增强1.11 快速加列1.12 InnoDB 隐藏主键1.13 Redo 配置1.14…...
Resnet C ++ 部署 tensort 部署(四)
Resnet C 部署 pytorch功能测试(一) Resnet C 部署 模型训练(二) Resnet C 部署 模型测试&转 onnx(三) Resnet C 部署 tensort 部署(四) 之后,开始onnx 转trt 部…...
《Java核心技术I》对并发散列映射的批操作
对并发散列映射的批操作 Java API提供了批处理,计时其他线程处理映射,这些操作也能安全的执行。 3种不同操作: search(搜索),为每个键或值应用一个函数,直到函数生成一个非null的结果,然后搜索终止&…...
记录一次使用git无权限的问题排查
正常的配置了公私钥之后,在gitlab中也存储了配对的公钥,但当使用git clone 时,总是报无权限 由于在这台机器中添加了多个公私钥,有点复杂,我们可以使用命令 ssh -vvvT 调试一下 ssh -vvvT yourGitlabAddr...
appium学习之二:adb命令
1、查看设备 adb devices 2、连接 adb connect IP:端口 3、安装 adb install xxx.apk 4、卸载 adb uninstall 【包名】 5、把对应目录下的1.txt文件传到手机sdcard下 adb push 1.txt /sdcard 6、进入对应的设备里 adb shell 7、切入sdcard目录 cd /sdcard 8、ls 查…...
Linux Vi/Vim使用 ⑥
掌握 CentOS 7 下的 Vi/Vim 编辑器:从安装到精通 在 CentOS 7 系统的日常运维、编程开发以及各类文本处理场景中,Vi/Vim 编辑器都是不可或缺的得力工具。它以轻量、高效、功能强大著称,虽然初次上手有一定学习门槛,但掌握之后便能…...
JCR一区牛顿-拉夫逊优化算法+分解对比!VMD-NRBO-Transformer-BiLSTM多变量时序光伏功率预测
JCR一区牛顿-拉夫逊优化算法分解对比!VMD-NRBO-Transformer-BiLSTM多变量时序光伏功率预测 目录 JCR一区牛顿-拉夫逊优化算法分解对比!VMD-NRBO-Transformer-BiLSTM多变量时序光伏功率预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.中科院…...
easyExcel实现表头批注
背景: 网上大部分都不能直接使用,为此总结一个方便入手且可用的工具,用自定义注解实现 依赖包: <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>…...
Pytest测试用例使用小结
基础使用 Pytest 测试用例实现代码 import pytest from server.service import Servicepytest.fixture def service():return Service(logger)class TestService:classmethoddef setup_class(cls):"""初始化设置一次:return:"""logger.info(&q…...
LeetCode题练习与总结:132 模式--456
一、题目描述 给你一个整数数组 nums ,数组中共有 n 个整数。132 模式的子序列 由三个整数 nums[i]、nums[j] 和 nums[k] 组成,并同时满足:i < j < k 和 nums[i] < nums[k] < nums[j] 。 如果 nums 中存在 132 模式的子序列 &a…...
IdentityServer4框架、ASP.NET core Identity
OAuth2.0 IdentityServer4 官网 中文官网 ASP.NET Core Identity提供了一个用来管理和存储用户账户的框架. IdentityServer4是基于ASP.NET Core实现的认证和授权框架,是对OpenID Connect和OAuth 2.0协议的实现。 IdentityServer是一个中间件,它可以添加符合OpenID…...
【分子材料发现】——GAP:催化过程中吸附构型的多模态语言和图学习(数据集处理详解)(二)
Multimodal Language and Graph Learning of Adsorption Configuration in Catalysis https://arxiv.org/abs/2401.07408Paper Data: https://doi.org/10.6084/m9.figshare.27208356.v2 1 Dataset CatBERTa训练的文本字符串输入来源于Open Catalyst 2020 (OC20…...
SpringBoot开发过程中经常遇到问题解决方案分享
目录 1. Spring Boot应用启动缓慢 2. 数据库连接池配置问题 3. Spring Boot应用无法连接外部服务 4. 配置文件读取不生效 5. Spring Boot应用的日志输出不完整 6. Spring Boot中的Transactional事务管理问题 1. Spring Boot应用启动缓慢 问题原因: Spring Boo…...
AR眼镜_消费级工业AR智能眼镜主板硬件解决方案
AR眼镜的研发是一项复杂的软硬件集成工程,它需要在摄影、音频、交互和连接等多个方面提供卓越的基础体验,因此产品的每个细节都显得尤为重要。 在设计AR眼镜时,重量、体积和散热性能都是必须认真考量的关键因素。在芯片平台的选择上ÿ…...
Springboot 核心注解
Spring Boot 是一个基于 Spring 框架的扩展,旨在简化新 Spring 应用的初始搭建以及开发过程。它通过自动配置和约定优于配置的原则,减少了开发者的工作量。Spring Boot 提供了一组核心注解和 Starter 依赖管理工具来帮助开发者快速启动项目。 1. Spring…...
Nacos集群搭建【Oracle作外部数据源】
一、知识点分析 1.Nocas是什么? Nacos是一个动态服务发现、配置管理和服务管理平台。 1.1定义与背景: Nacos,全称为Dynamic Naming and Configuration Service,是由阿里巴巴开源的云原生应用配套工具。它旨在简化微服务架…...
云轴科技ZStack出席中国电信国际EMCP平台香港发布会,持续推动海外合作
近日,以“云聚未来 翼起新篇”为主题的中国电信国际多云服务一站式平台(E-surfing Managed Cloud Platform,简称EMCP平台)新闻发布会在香港成功举办,标志着中国电信国际在云计算服务领域取得了又一重大进展。云轴科技…...
爬虫自动化之drissionpage+SwitchyOmega实现随时切换代理ip
本文介绍了如何使用DrizzlePage进行爬虫自动化,并重点讲解了首次启动时设置代理IP以及通过SwitchyOmega插件实现随时切换代理IP的方法。 安装一次,后面调用就不会再去安装了 下载地址:https://github.com/FelisCatus/SwitchyOmega/releases 这两个文件随便那个都可以,下载…...
docker安装kettle(PDI)并实现web访问
我是MAC电脑M1版本,希望把软件交给docker进行管理,最近公司同事都通过kettle来实现外部数据对接,所以我本地也有安装kettle需求,在网上找到了这个解决方案操作很简单,但出现了无法访问的情况。我的排查方式是ÿ…...
[软件工程]十.可靠性工程(reliable engineering)
1.什么是可靠性工程 我们希望软件在给定的时间内,运行的时候不会崩溃或者发生失效,同时能保护我们的数据和个人信息。我们要能够信任我们所使用的软件,这意味着软件必须是可靠的。可靠性(reliability):系统…...
【Makefile】编译日志之输出重定向符号 >
用法1 make all >& compilelog.txt make all > compilelog.txt这两个编译命令在功能上有一些细微的区别,主要在于标准输出和标准错误的处理方式。 make all >& compilelog.txt 这个命令会将标准输出(stdout)和标准错误&a…...
linux之less
less命令是Linux系统中一个功能强大的文件查看工具,它允许用户分页查看文件内容,并提供了多种快捷键和选项来增强用户体验。以下是less命令的一些常用操作: 基本使用 查看文件使用less命令的基本语法是less [选项] [文件名]。例如࿰…...
算法-字符串-165.比较版本号
一、题目 二、思路解析 1.思路: 比较的是两个版本号它们以“.”作为分割的部分的有效值(即数值)是否一致 2.常用方法: 1.s.split("\\规则"),将字符串按参数规则进行分割并存储在字符串数组中 String[] str …...
List与Set、数组与ArrayList、ArrayList与LinkedList的区别
List 与 Set 的区别: 项ListSet重复允许重复的对象(多个null也可以)不允许重复的对象(null也只能有一个)有序性有序的。 保持了每个元素的插入顺序。即输出顺序就是输入顺序。 有序和无序都有。 HashSet:无…...
如何在 Odoo18 视图中添加关联数据看板按钮 | 免费开源ERP实施诀窍
文 / 开源智造 Odoo亚太金牌服务 引言 关联数据看板按钮乃是 Odoo 当中的一项强效功能,它容许用户顺遂地访问相关记录,或者直接从模型的表单视图施行特定操作。它们为用户给予了对重要信息的疾速访问途径,并简化了工作流程,由此…...
Linux下mysql环境的搭建
1.mysql的下载 去MySQL官网下载mysql的linux压缩包 MySQL :: Download MySQL Community Server 如果下载慢请到网盘中自行下载 通过网盘分享的文件:mysql-8.0.40-1.el7.x86_64.rpm-bundle.tar 链接: https://pan.baidu.com/s/1vUJ-VuTwer1nLPT-haQCqw?pwd6342 提…...
视觉语言模型 Qwen2-VL
视觉语言模型 Qwen2-VL flyfish from PIL import Image import requests import torch from torchvision import io from typing import Dict from transformers import Qwen2VLForConditionalGeneration, AutoTokenizer, AutoProcessor from modelscope import snapshot_dow…...
浅谈新能源汽车感应钥匙一键启动的步骤和特点
随着汽车智能化技术的发展,无钥匙启动系统还可以与其他智能系统进行集成,如智能车载系统、远程控制系统等。这使得车主可以通过智能手机等智能设备远程控制车辆的启动、解锁、上锁等操作,进一步提升了使用的便捷性和智能化水平。新能源汽车…...
哪些网站是用c语言做的/网络广告策划的内容
# 1:给定一个数,判断他是正数,负数,还是0 a int(input("请输入一该个整数")) if a 0:print(a, "是0") elif a > 0:print(a, "是正数") else:print(a, "是负数")# 练习2:…...
做网站送的小程序有什么用/百度seo培训公司
文章目录介绍手动标注少数图转化VOC到YOLO转移数据到Linux服务器训练YOLOV5添加数据yaml文件选一个合适的权重训练开服务写labelstxt文件介绍 以条形码为例,下载数据集muenster_barcodedb,想使用yolov5对条形码进行检测。muenster_barcodedb数据集有几千…...
购买了域名怎么使用/西安seo计费管理
2019独角兽企业重金招聘Python工程师标准>>> 1.flex基础点 ---什么是容器,什么是项目,什么是主轴,什么是侧轴? ---项目永远排列在主轴的正方向上 ---flex分新旧两个版本 -webkit-…...
网站在线沟通工具/网站首页排名seo搜索优化
深海迷航秘籍怎么用?深海迷航游戏中使用秘籍可以快速的完成任务,增加物品收益,本文带来了秘籍代码及使用方法,有需要的玩家欢迎收藏。下面就一起来看看深海迷航秘籍代码大全吧。f3 f8同时打开,勾选掉禁用控制台选项&am…...
网站制作眼/网页模板怎么用
华为的HCIP的考试是三门课程 考试代码腾科认证考试H12-221HCIP-Routing & Switching-IERS(Implementing Enterprise Routing and Switching Network)H12-222HCIP-Routing & Switching-IENP(Improving Enterprise Network Performance…...
杭州信贷网站制作/武汉网站排名提升
Win7之家(www.win7china.com):Win7系统优化:如何移动Win7我的文档保存位置如何把Win7用户文件夹移动到E盘?怎么把win7的用户文件夹移动到其他盘?如何把Win7在C盘的用户文件夹转移到其他分区?用户文件夹包含了各种用户数…...