大三了,该找实(bei)习(shua)了
字节跳动
一面
自我介绍….
编程题:找二叉树任意节点间的最长路径
递归,找左右子树的最深节点,深度加起来,找最大。但是写得不够优雅
GET 和 POST 的区别
随便说说
Cookie 和 Session 的区别
随便说说
既然 Cookie 不安全,那有没有增加安全的方法
脱口而出 “加密”,然后想不到了
Http 握手/挥手
挥手记得说 TIME_WAIT,并解释下原因
Https 了解过吗
不了解
数据库索引的原理
说了下是 B+ 树
为什么不用红黑树之类的
有看过这题,但是回答的没什么底气,不会说
写 SQL
都挺简单的,就是有一道 “查询一天内” 的忘了怎么做日期运算
100 的阶乘有几个 0
想到了算以 5 和 0 为各位的数字个数,在提示下又想出了 25,50等数。但是没有想出原理:算有多少个 5 的因子
项目的难点
标准高了就感觉没什么难点,低了就一堆,就随便说了个
用户态和内核态
说了是为了系统调用,但具体例子只说出了 I/O
地图上的道路拥挤程度是怎么做到的
答的是装载该地图的车向服务器发送信息(但是当时说了不够好),然后又问怎么才算拥挤,刚开始觉得速度慢不算拥挤,然后想了几种其他的方法,后来说了下面试官觉得算。
感觉还行,然后二面就凉了(太放肆了)
二面
编程题:给定几种硬币,求组成 N 元的方法
知道是动规,但是不会(明明很眼熟),然后浪费了大量时间
进程间通信方法
答了共享内存和信号,还以为信号量不算,完全陌生
数据库事务的原理
本来想从 ACID 说起,说说隔离级别和乐观锁悲观锁,结果 ACID 忘了。。
后面基本都是安慰性问答,凉得一b,问了为什么选择后台。可能还问了一些技术问题,但是记不清了。
反思:该复习还是得复习,不要太自信。然后又投了一次。
CVTE
本来想投后台的,结果一看 Java,算了(应该学学的),然后投了 C/C++ 软件开发。
一面 / 二面
自我介绍…
我看你之前是写 js 的,为什么选择了 C++
大一学过,感觉还挺熟的(其实没什么理由)
说说你觉得 js 和 C++ 的区别
随便说了下,提到了指针和类型
你刚才时候 C++ 类型太长不方便,有没有什么解决办法
说的
typedef
和宏,好像还有其他的?C++有指针,那 js 是怎么样的
对象是引用的,基本类型是拷贝的
引用和指针的区别
引用是别名,指针是地址变量
函数参数的类型
引用,指针,拷贝,
initializer_list
(这个瞎说的)怎么让指针内存回收简单点
说了智能指针(
shared_ptr
,unique_ptr
,weak_ptr
),解释了下三者,并说了下计数器回收那你还知道其他语言的内存管理吗
不了解(好像 Java GC 也是这样的?
多态是什么
说了下,还让手写个例子(忘了加 public,尴尬
虚函数是怎么实现的
来之前看过,说了下虚函数表
多态还有什么实现方式
还有其他的吗?只说了重载,回去终于想起了模板
计算机网络有多少层,写一下
写了下,还要举个协议例子
socket 是干嘛用的
多路复用,多路分解什么的,答的很乱
大致是个什么流程?写一下
写的像 C++ 和 Python 混杂,简直如同伪代码,太菜了。大致就是
bind
,listen
,accept
什么的怎么知道请求发给谁
先发给网关,然后网关路由器根据路由表转发
网关是怎么哪来的
DHCP 分配的
怎么知道转发给谁
根据子网掩码和 ip,简单说了下路由选择算法
DNS 是干嘛的
获取域名对应的 ip,或是知道这个 ip 的域名服务器(还有别名,邮件什么的
你的博客是怎么搭的(这也要问的吗
Hexo + Minos
都是自己写的吗
基本都是
做道题吧:从
ifconfig
里找到 ip,假设只有一张网卡用循环写了,面试官指出了可以改的地方:参数用
const string &
和 可以用string.find
找关键词。
大概是这些,晚上一查二面都直接过了(好像其他人也是)。然后 hr 面被一堆 “如果/你觉得/遇到过” 等问题击败。。
评论