字节跳动提前批算法岗面经(已offer)

2小时6道编程。不允许跳出,白板编程。

1. 链表奇偶翻转(10)

输入是1->2->3->4这样的文字,因此可以不管链表这个概念,直接奇偶对调就能过,注意最后一个数是奇数位置的话不用对调。

2. 找出不一样的数(10)

一个数组,只有一个数字出现一次,其他的都是出现了两次,找出那个不一样的。

直接用字典记录即可,最后遍历字典键值就行。

3. 给出硬币的面值,和一个数,问这个数最少需要多少个硬币凑成(20)

思路:dp,i个硬币,j个面值。数很小,用不到滚动数组优化。

4. 操作游戏:给出一个数,如果是奇数,+1,;偶数,除2,问执行多少次到1(20)

直接模拟

5. 几何题:给出若干个点((0,0),(1000,1000)范围内),问这些点能不能用x=a,y=b覆盖,如果能,输出(a,b)字典序最小解,不能覆盖输出(-1,-1)

思路:枚举各种情况,存在多种解需要字典序,只可能是:1.这些点共线,且线平行于坐标轴;2.只有两个点。对于唯一解的情况,对于每个x坐标,最多只能有一个位置可能有>2个点,y同理,如否,输出-1,-1;如是,且存在>2个点的x坐标和y坐标,直接输出;否则,如果只有x坐标存在大于2个点的情况,那么x=a之外的点有且只有一个(否则y坐标不可能没有位置>2个点);同理对y坐标存在大于2个点的情况也这么做。

【我这个题只过了80%,不知道哪个边界数据卡了】

6. Python glob函数实现。

判断模式串和待判定串是否匹配,返回true或者false

难点:通配符*的处理。

Trick:直接return true能过71%。

一面:

介绍项目,5分钟,问基础

多种排序时间空间复杂度

多进程和多线程的区别,python多进程怎么实现。

Python dict怎么实现,和list相比有什么区别,set呢。

Is 和==区别。(is是同一个物体,==是值相等)

全局解释器锁(锁一个线程,但是会导致慢的问题)

LSTM和RNN的区别

Lstm激活函数有哪些不同(tanh,门控,不能用relu)

Lstm如何实现类似res的机制

手撕代码(后台没有测试数据,可以自己设):

给出任意长数组的top100。(优先队列)

二面:

求数组中的中位数:

Naïve的想法:排序后直接算(NlgN),这样不好,有O(n)解法。

O(n)解法是分治法,类似快排的方法分治。返回这一部分的最后一个数。

通过奇数偶数讨论,奇数调用一次,偶数调用两次算出来两个数。

堆区栈区

全局解释器锁

Python内存管理和垃圾回收(其他语言是判断可用的,Python是判断不可用的,因此会泄露,通过引用计数的形式。如何改进?)

三面:

项目介绍(10min)

如何判断过拟合

模型规模评估

半监督方法

Earlystopping

截屏提取网站链接任务

三面加面:

介绍项目20min

C++多态

虚函数

Mobilenet(depthwise,pixelwise拆开,v2—瓶颈层,v3神经架构搜索)

手撕代码:leetcode39

四面:(节奏极快)

介绍项目(10min)

什么是傅里叶变换

空间变换的几种形式

图形学光栅化

Opengl缓冲区有哪几种

3D重构算法原理

3D凹凸面最高点最低点求法(漫水法,或者小球梯度法)

(因为我考过计算机四级证)

TCP三次握手四次挥手,为什么要挥手

TCP半连接SYN攻击

TCP滑动窗口

Linux系统启动过程

同步io和异步io的区别

进程间通讯的方式

二级缓存

C++构造函数和析构函数

C++三道基本语法改错题




以上是内推小仙女最近内推的一位面试通过的同学的面经,还没投递的你快快投递吧!~

「校招提前批」

【内推码:TBCSK8P】

投递链接:https://job.toutiao.com/campus/

投递时间:6 月 16 日- 7 月 16 日 16:00

面向对象:在 2020 年 9 月至 2021 年 8 月期间毕业的学生

实习内推链接:https://job.toutiao.com/s/v7LAcm

社招内推链接:https://job.toutiao.com/s/vRCAV6

使用内推可优先简历筛选!

简历直达部门HR!

进度可帮查!

杜绝投递石沉大海!


更多面经可以关注公众号【内推小仙女】获取~

#面经##算法工程师##提前批#
全部评论
这太恐怖了,搞得我都不想投算法了😔
点赞 回复
分享
发布于 2020-07-08 00:01
怎么感觉算法没问多少
点赞 回复
分享
发布于 2020-07-08 00:04
英特尔
校招火热招聘中
官网直投
楼主投的什么岗啊
点赞 回复
分享
发布于 2020-07-08 00:05
第二题可以直接用int做异或,出现两次的异或结果是0,并且异或有交换律,所以整个数组异或完的结果就是只出现了一次的数。
点赞 回复
分享
发布于 2020-07-08 04:00
太强了吧 = =
点赞 回复
分享
发布于 2020-07-08 04:10
你这什么岗位啊?都不像算法岗
点赞 回复
分享
发布于 2020-07-08 08:43
不允许跳出是什么意思呀?
点赞 回复
分享
发布于 2020-07-08 09:45
编程题没啥难度
点赞 回复
分享
发布于 2020-07-08 10:09

相关推荐

5 3 评论
分享
牛客网
牛客企业服务