IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 秋招的一些总结和感想 -> 正文阅读

[Python知识库]秋招的一些总结和感想

写在前面

目前拿了几个比较满意的意向了,秋招暂时结束了,随便写点东西总结一下。以下内容仅供参考。

关于岗位

我是只会C++和Python,所以主要投了C++后台开发岗、基础架构,还有一些游戏开发岗。

关于实习

实习挺重要的,建议7月前去实习,7月份开始准备秋招。另外实习经历好好准备一下,每次面试大概率问道。主要关于实习期间做的项目,项目的背景,自己实现的部分,遇到什么难点,还可以怎样优化,收获等等。

关于笔试

多刷leetcode,我是每日一题加周赛,保持手感。笔试大多数公司都是ACM模式,就是需要自己进行输入输出,这个还是需要注意一下的,平时熟悉一下这种方式。有些笔试题会直接给多行输入,不提前给出有多少行,没碰到过的话就不知道该怎么输入。对于不会做的题可以骗一些分,如暴力实现、忽略一些难处理的情况等。
有些公司会出一些选择题,基本都是一些基础、语言相关的,全靠平时的积累了。

关于面试

一般笔试不太差的话都能进面试,不过今年有些笔试ak都没进,太卷了。
面试主要问一些项目、基础还有编程题。

编程题

面试时的编程题一般比笔试简单,一般流程是先说一下思路,然后开始写,写完自己主动debug。写的时候代码的规范也比较重要,代码规范的话平时自己写的时候就要留意,养成习惯,c++的话可以参考谷歌的c++代码规范

项目

项目的话我就写了一个实习项目以及两个自己写的小项目。实习的项目不算难,所以大多数都是介绍一下项目,说一下难点收获啥的就完事。自己写的小项目就经常问的比较深入,我一个项目是c++人手一个的服务器项目,我是参考陈硕的muduo来写的,大部分面试题在陈硕大佬的书里有出现过。常见的有线程池的实现,定时器的实现、时间轮和时间堆,epoll ET和LT编程时注意什么,非阻塞和阻塞,多个epoll和一个epoll有什么优劣,双缓冲异步日志的实现,sigpipe信号是什么,如何知道TCP对面断开连接,TCP nagle算法,缓冲区满了怎么办,怎么把你的服务器修改成代理服务器,为什么是多线程的跟多进程(nginx)相比有什么优劣,怎么压测的,性能瓶颈是什么。

基础

一般叫八股文,就是有格式化、固定化的答案的题目,不过现在大多数公司都不局限于问八股文了,更多的会衍生开来,就是越问越深。随便举一些常见的题目吧

c++

c++岗位c++基础基本是必问的,可能因为c++太难了

  • c++内存管理:这个算是最高频了,一般会问虚拟内存中各区域,然后问一下堆和栈,malloc和new,更深入就问malloc实现,可能会延伸到tcmalloc实现,此外还有内存泄露,gdb调试coredump等问题
  • 关键字:static高频,几乎必问,const ,inline(说起来inline现在好像没啥用了,内不内联全看编译器了),然后还有override,volatile,mutable等
  • 多态:高频,静态多态和动态多态,虚函数的实现相关
  • 类:继承和组合
  • stl:主要问常用stl的实现,迭代器失效相关
  • 指针:智能指针的实现,shared_ptr循环引用问题
  • RAII:算是c++一个特性,确定性析构算是c++与其他高级语言相比最大的区别之一吧。
  • 原子变量:比较低频,一般shared_ptr会问到一点,其他的像memory order,内存屏障之类小概率被问道。
  • 编译过程,静态链接和动态链接
  • 其他的还有有些根据代码答输出是什么,主要会考构造析构函数、虚函数的调用、sizeof一些类的大小什么的,平时关注一下即可,如果问一些特别偏那也没办法

数据结构

比较简单,用多了就熟悉了

  • 数组和链表区别
  • 栈和队列,用链表实现栈和队列,栈和队列的互相实现
  • hash表,解决冲突方法
  • 平衡二叉树,红黑树
  • 布隆过滤器

操作系统

c++岗位免不了问到linux操作系统,自从学了mit的6.S081倒是希望多问点操作系统。

  • 进程和线程:超高频,网上有教科书式标准答案,我一般会加一点在linux操作系统里的实现(它们其实都是task_struct实现,只是创建线程时会共享当前进程的一些资源)。有时会问到协程(很奇怪我竟然没遇到过)。还有进程调度(主要有先来先服务(适合较短时间的进程),时间片轮询(适合实时进程),CFS(linux常用的公平调度算法))
  • 进程通信:六大金刚,一次通信最快的是哪种(信号)
  • 锁: 主要用于线程同步,锁的种类、实现、应用场景
  • 虚拟内存:高频,用户态访问一个地址全过程(以x86-64系统为例,先查快表,没中就通过mmu获取物理地址,如果没有该地址映射,发生缺页中断,该core dump的core dump,不该的就分配内存,内核完成页面映射返回用户态重新执行,之后根据物理地址查cache,没有一级cache命中就去内存读取数据)。有一次还被问道查cache是物理地址还是虚拟地址,当时不太确定,一顿分析感觉都可以,之后看了csapp,才知道其实这是两种流派,目前大多数架构都是根据物理地址来查的。
  • 用户态内核态度切换,fopen函数的实现,ls的实现,kill的实现,文件描述符的实现,信号的实现,信号都能被屏蔽吗,proc文件系统
  • linux的一些命令,top, ps, df, grep, find, netstat, tcpdump, awk, sed等,其中top会问到里面的一些指标,比如us, sy, load average, buffer/cache

网络

c++服务端开发必定问到网络相关问题,主要以TCP为主,光一个TCP就能问好多

  • TCP:和UDP区别,拥塞控制,三次握手,四次挥手,客户端服务端状态的变化,网络编程linux原生api(socket, listen, accept, connect)对应什么状态,time_wait,syn 攻击
  • http: 报文格式,TLS握手,状态码
  • cookie ,session
  • 网络包从一个局域网到另一个局域网的全过程,ARP协议作用

数据库

c++岗数据库感觉问的就不是很多

  • 写sql:没怎么写过,一般只说个思路,然后直接说不会写。。。
  • 索引:索引是什么,b+树、b树、hash索引的区别,特别是b+树的优势,聚簇和非聚簇索引最左匹配等
  • 事务,ACID特性,分别是怎么实现的,怎么解决幻读

其他

  • 智力题(没怎么问到过)
  • redis:了解过,但是面试问到直接说不了解
  • 分布式:没问到过
  • 自己的一些意愿,想做什么,职业规划啥的,感觉挺重要的。一般一面反问的时候了解一些部门的业务,基础架构可能有计算、存储、网络方向之类的,然后二面三面之前可以了解一下这个方向,这样被问到对面试部门的了解的时候就不会没话说了,可能可以加分。
  • hr面试的一些问题,一般常见的问题,没准备过不知道说什么就很尴尬, 比如团队合作时遇到的冲突怎么解决(我就没遇到过什么冲突,大家都和和气气的)。

总结

几个建议:

  • 早点确定自己的找工作的方向,感觉算法、c++、java后端差异还是挺大的,今年不是那么好转了
  • 早点实习,早点投(虽然早点投还是会被泡池子排序,总比晚点没hc了好)
  • 好好准备实习/项目经历,简历上每一句话都会被问到
  • 基础知识相关最好了解底层实现,看过源码最好了
  • 多刷题
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-09-29 10:12:29  更:2021-09-29 10:14:08 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/31 4:30:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码