Linux 应用层开发,面试一般会问哪些问题?

2018-09-15 15:10:10 +08:00
 lolcat

楼主前段时间报了培训班学了嵌入式开发.

我知道有很多人对培训班出来的有很大意见,比如伪造简历,吹得天花乱坠却连计算机基础知识都不知道,我在培训班里看到有些同学学的非常差和老师叫我们包装简历时也能感受到这种行为对这个行业的破坏.但我大学专业就是计算机科学与技术,虽然有些科目没怎么学,但自己感兴趣的科目还是学的非常好的,而且我工作后就一直从事 linux 方面的工作,c 基础也非常好.我写简历就是实话实说,有什么写什么.

linux 应用层开发的面试,面试官一般会问哪些具体的问题?会问我一些函数的各个参数吗?有些函数的参数我记不住了,但原理清楚,参数必须看手册和笔记我才能想起来.

我以前没什么开发的项目经验,不过 shell 脚本和 c 的小程序第一份工作时也经常写,我自己写了两个应用层的程序,一个用高级 io+多线程实现的数据处理程序,另外一个用了很多零零碎碎的知识做了一个和同学开玩笑的程序,不知道能不能写到简历上,两个程序的代码如下: https://github.com/owlli/epoll_pthread https://github.com/owlli/trick

4095 次点击
所在节点    程序员
29 条回复
realpg
2018-09-16 09:42:47 +08:00
报了培训班 即使科班出身 也基本定调了 感觉写不出靠谱代码的……
根本心不在此 舍不得自己钻研 走自认的捷径培训班
meik2333
2018-09-16 09:47:11 +08:00
@lolcat 嗯,把 accept 之后的套接字也加入 epoll 监听。
lolcat
2018-09-16 12:45:24 +08:00
@meik2333 嗯,我是把 accept 得到的 socket 加入到进程的 epoll 队列里监听,有人是把 accept 得到的 socket 传到线程里,在线程里用 epoll 监听,您觉得哪种方式好?
meik2333
2018-09-16 14:37:54 +08:00
@lolcat 各有优劣吧,这个就看自己的写法了。
我个人比较喜欢全给 epoll 监听,就像 Nginx 一样。
neoblackcap
2018-09-16 20:08:14 +08:00
@meik2333 nginx 我看了可是 One thread one loop。虽然都是 epoll,但是 worker 的 epoll 跟 master 的 epoll 不是一个实例
meik2333
2018-09-16 22:02:07 +08:00
@neoblackcap 我并没有实际看过 Nginx 的源码,只是看过《深入理解 Nginx 》,所以可能有误差,不好意思了。
我之前看的 Nginx 的模型是父进程 listen,然后将套接字传给子进程;对每个子进程来说,accept 或者 read、write 等都是添加到 epoll 监听的。
我之前还看到在某些系统上 Nginx 采用的是线程模型,对于那些我也没有了解。不管怎样,还是感谢指正了。
neoblackcap
2018-09-16 22:48:34 +08:00
@meik2333 你说的就是我说的,每个线程独自有一个 epoll 实例。你 master 里面的 epoll 监听的事件,是不会触发 worker 的 callback 的。意思就是这个意思。
这个我也是从陈硕的《 Linux 多线程服务端编程》里面看到的。加上自己看过一下 nginx 早期版本的代码。处理好网络 IO 剩下就是本地磁盘 IO 这些,这个 nginx 优化还真是厉害
zeromake
2018-09-17 07:18:02 +08:00
话说嵌入式没工作经验怎么找工作?
zeromake
2018-09-17 07:23:38 +08:00
话说两年前我是培训的,当时和朋友聊天说到那个培训机构里还有 3,4 个培训嵌入式的培训完大半年还没找到工作的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/489618

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX