个人从事安全后台开发,当然是linux环境下的了。举几个常见的问题。
1. 数据结构基础。比如实现一个最简单的哈希表。
2. 操作系统基础。linux进程模型,堆/栈的区别,大概的位置,各往哪个方向生长,各类变量存储在哪些区域;更深一点可能会问动态库与静态库的区别,因为这个在生产环境中常见,动态库映射在进程模型的哪里。其他常见如僵尸进程、线程共享等问题。
3. tcp/ip基础。比如常问三次握手,四次挥手,为什么要四次;time_wait状态相关问题;mtu分片问题。现在一般不会问tcp/ip头大小这么蛋疼的问题了,但可能会问tcp头部几个状态字段,比如syn/psh/fin/rst/urg/ack....在什么情形下会置1,这个就问得比较深了。深入的还有滑动窗口与拥塞控制的大致原理。
4. socket编程。阻塞/非阻塞的区别;事件循环select/poll/epoll;常见的网络库read/write会怎样实现(可以参考muduo)。有面试官会问客户端是否需要bind;tcp/udp 协议编程时的细微区别...
5.工具相关。vim/makefile/gdb/g++ ...
6. c++相关。免不了问虚函数;常见stl实现和操作;extern c 干嘛的。
7. 脚本相关。shell/perl/python 至少会一门吧,运维/部署都需要。
上述列举的都是比较常见,比较简单的问题。不过能把这些答好已经不容易了。
相关文章
- Linux开发环境搭建 使用mount -t cifs 挂载windows共享目录方法与问题解决
- Win10 FaceAPI小demo开发问题汇总
- 鸿蒙(HarmonyOS)北向开发项目编译问题汇总
- Chrome扩展开发常见问题汇总 - slmk
- C++软件开发,各种可能遇到的面试问题总结
- cocos creator开发中遇到的问题和解决方案-问题汇总
- CVE-2024-3094:Linux生态供应链攻击-CVE-2024-3094:供应链攻击? 一个潜伏3年只为通杀的漏洞,今天更新了一个CVE漏洞,XZ-utils5.6.0/5.6.1版本后门风险(CVE-2024-3094)这个后门并非作者无意加入的,也不是引入存在后门的库文件导致的问题,而是有人经过三年的潜伏,积极参与该项目的维护,在获得了直接commit代码的权限以后将后门代码注入其中。 这个代码一共存活了不到2个月的时间,发现者是PostgreSQL 开发人员兼软件工程师 Andres Freund 意外发现的,在观察到 liblzma(xz 包的一部分)Debian sid(使用 ssh 登录占用了大量 CPU,valgrind 错误,然后找见了上游 xz 存储库和 xz tarball 已被后门。 幸运的是,xz 5.6.0 和 5.6.1 尚未被 Linux 发行版广泛集成,而且大部分是在预发行版本中。 但是kali linux如果每周更新或者最近3月26到29号之间更新了,不好意思。 根据kali官方说法希望更新, 首先我们apt-cache policy liblzma5 更新命令 sudo apt update && sudo apt install -y --only-upgrade liblzma5 更新 难的追一回滚动更新就这样玩吗?看来以后也不要追最新的。 当然我们还可以cat /var/log/apt/history.log 查看更新时间和都更新了哪些内容! 附: 各大linux系统可以查看自己对应的系统,查看官网说明 比如我的kali可以直接在https://www.kali.org/blog/about-the-xz-backdoor/看到 当然了这个供应链后门只能说差一点就完美成功,因为他写的有bug在sshd运行的时候直接cpu飙升,引起了研究员的注意,否则如果在发行版中大规模集成,估计可以造成linux的一个通杀,现在只是在预发行版中,但是更新快的比如kali linux中如果滚动更新那么就会被影响到。 参考链接:
- Windows下QGroundControl开发问题汇总
- 针对初级和高级开发人员的20个Kotlin面试问题
- Java后台面试 常见问题