抖音(已拿offer
#抖音秋招提前批开始了#
求求大家让我帮你们内推吧。
啥子岗位都有,客户端/后端/算法/测试都可以的。
客户端岗位不要求之前有经验。
填内推码我全程帮你问进度( *`ω´)
内推码: UTTGJRM
投递链接: https://job.toutiao.com/s/irNM9Tke
------------------------------------------------------分割线------------------------------------------------------------
0.个人背景:
985大三科班,主要用C++,编程能力拉跨,理论基础还行,刷了1.5遍《剑指offer》,刷了leetcode上的初级中级,项目无IOS端经验,2个都是NLP项目(害,但没啥关系
1.靠回忆复盘,这几轮大概涉及到的基础知识:
1.1 C++基础:
New和malloc的区别
Static关键字的作用
C++多态的实现
虚函数的作用
虚函数表
有虚函数的类的内存存储情况
构造函数和析构函数能不能是虚函数,原因
智能指针(各个智能指针是怎样实现的+引用次数啥时候改变+循环引用解决方法)
C++类型转换(cast)
内存对齐
C++内存管理有哪些区,各区作用
堆区和栈区的区别
内存泄漏的可能原因
Const的作用
STL的map是基于什么实现的
STL底层vector的实现原理(我前一晚才看,面试时就忘了….
1.2 数据结构
口述快排的实现方法
TOP K问题:十亿整数中前K最大的数,给出多个解决方案,并且比较各个的时间复杂度。
红黑树和二叉平衡树的区别,及其特点
1.3 计网
TCP/UDP的区别
TCP的三次握手与四次挥手
TCP的重发机制和nagle算法
拥塞控制的过程
流量控制与拥塞控制的区别
IPV4和IPV6的区别
1.4 http
http状态码
http与https的区别
https加密传输如何实现
对称加密和非对称加密的区别
浏览器中输入一个URL发生什么,整个流程和用到的协议
http/https 1.0、1.1、2.0的特点和区别
1.5 安全相关
中间人攻击
https会遭受到怎样的不安全问题
1.6 数据库
事务的ACID
隔离级别
脏读、重复度、幻像读
我一个项目里面用到了数据库,问了我具体是怎样设计数据库的。
1.7 操作系统
进程与线程区别?
线程比进程具有哪些优势?
LINUX中进程和线程使用的几个函数?
线程同步的方法
互斥的解决方法
操作系统有哪些锁
进程通讯方法
虚拟内存
进程调度
死锁必要条件
共享内存的原理
1.8 设计模式
单例模式
Stl中还用到了哪些模式
2.现在通过回忆还能分清在哪轮面试的问题:
2.1.初面
算法题:两个栈实现一个队列
2.2.二面:
算法题忘了,应该是很简单,不然我应该有印象。
2.3.三面:
问项目。
由项目中的NLP引申出NLP自动写代码对程序员写代码的影响。(NLP关注比较多,所以我扯了一大堆
算法题:把所有0放左边,非0放右边,时间复杂度O(n)
2.4.四面:
问项目,但因为我做的是NLP,跟这个岗位也没啥太大关系。
所以主要在项目感受体会方面来问:
l 遇到啥困难,咋解决的?
l 为啥用这个算法模型,不用别的
l 如果再做一次,你觉得可以从哪些方面改进?
l 上一点我说的是我觉得当时的用的软件开发模式很有问题,应该先快速原型,再用迭***。然后问我还知道啥其他的软件开发模式吗。(我完全记不得,干嘛非得把自己往坑里引。
https会遭受到怎样的不安全问题
STL的vector底层实现原理
操作系统是怎样处理复制和粘贴的?(引出进程/中断的相关话题
关注了科技圈最近的啥新项目,你觉得这个新项目会带来怎样的影响?
3.一些小建议:
3.1 关于答基础知识:面试官问一个点,你晓得好多就扯好多,不要几个字就回答完了。这样的话可以在有限时间内尽量展现自己的优点。当然你是全能王另说。同时不要扯到自己不熟悉的点上,人生不易,何必给自己挖坑呢兄弟。
3.2 关于答项目:自己首先要做好准备,练习一遍你的项目要怎样说别人才能听得懂。同时还要展现你的学习能力、困难解决能力,看看你的项目里有哪些点是值得别人去问的,在讲的时候就故意抛出来。
全部评论
(6) 回帖